ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрана 1 задача
Версия для печати
Убрать все задачи

Вам дана программа, решающая 136 задачу (p139.pas).
Требуется найти в ней ошибку, и объяснить (письменно
или устно), почему так происходит.

Текст программы p139.pas

const nmax=100;

var a:array[1..nmax] of integer;
    n:integer;
    i,j,g:integer;

    f1,f2:text;

begin
assign(f1,'input.txt');
reset(f1);
assign(f2,'output.txt');
rewrite(f2);
                                  {Чтение входных данных}
read(f1,n);
for i:=1 to n do read(f1,a[i]);
                                  {Сортировка массива}

for i:=1 to n do begin            {Подбираем число на i-ое место}

  g:=i;                           {Считаем, что самое маленькое число,
                                   которое нам встретилось, стоит на месте i}

  for j:=i+1 to n do              {Перебираем все числа с i+1 до конца массива}
    if a[j]<a[g] then g:=j;       {Если нашли число, которое меньше,
                                   чем то, что уже найдено, запоминаем его}

                                  {Меняем местами числа, стоящие на i-ом и
                                   на g-ом местах }
                                  {Если a[i]=x, a[g]=y, то после выполнения
                                   команды: }
  a[i]:=a[i]+a[g];                {a[i]=x+y, a[g]=y}
  a[g]:=a[i]-a[g];                {a[i]=x+y, a[g]=(x+y)-y=x}
  a[i]:=a[i]-a[g];                {a[i]=(x+y)-x=y}
                                  {То есть после этого a[i]=y, a[g]=x
                                   обмен значений произошел}

  end;

                                  {Выводим результат}
for i:=1 to n do
  write(f2,a[i],' ');
close(f1);
close(f2);
end.

   Решение

Задачи

Страница: 1 2 >> [Всего задач: 6]      



Задача 32035  (#01)

Тема:   [ Задачи с неравенствами. Разбор случаев ]
Сложность: 2+
Классы: 5,6,7

9 кг ирисок стоят дешевле 10 рублей, а 10 кг тех же ирисок – дороже 11 рублей. Сколько стоит 1 кг этих ирисок?

Прислать комментарий     Решение

Задача 32036  (#02)

Темы:   [ Разбиения на пары и группы; биекции ]
[ Куб ]
[ Принцип Дирихле (прочее) ]
Сложность: 3-
Классы: 6,7,8

Петя написал на гранях кубика натуральные числа от 1 до 6. Вася кубика не видел, но утверждает, что

а) у этого кубика есть две соседние грани, на которых написаны соседние числа;

б) таких пар соседних граней у кубика не меньше двух.

Прав ли он в обоих случаях? Почему?

Прислать комментарий     Решение


Задача 88245  (#03)

Темы:   [ Линейные неравенства и системы неравенств ]
[ Текстовые задачи (прочее) ]
Сложность: 2
Классы: 5,6,7

Можно ли разлить 50 л бензина по трём бакам так, чтобы в первом баке было на 10 л больше, чем во втором, а после переливания 26 л из первого бака в третий в третьем баке стало бы столько же бензина, сколько во втором?

Прислать комментарий     Решение

Задача 32038  (#04)

Темы:   [ Измерение длин отрезков и мер углов. Смежные углы. ]
[ Примеры и контрпримеры. Конструкции ]
Сложность: 2
Классы: 6,7,8

Можно ли провести из одной точки на плоскости пять лучей так, чтобы среди образованных ими углов было ровно четыре острых?
Рассматриваются углы не только между соседними, но и между любыми двумя лучами.

Прислать комментарий     Решение

Задача 32039  (#05)

Темы:   [ Обходы многогранников ]
[ Четность и нечетность ]
[ Куб ]
Сложность: 3+
Классы: 8,9,10

У куба отмечены вершины и центры граней, а также проведены диагонали всех граней.
Можно ли по отрезкам этих диагоналей обойти все отмеченные точки, побывав в каждой из них ровно один раз?

Прислать комментарий     Решение

Страница: 1 2 >> [Всего задач: 6]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .