СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Задание 15. Поиск ошибок в программах

Категория: Информатика

Нажмите, чтобы узнать подробности

                                                                                                                                                                                                                                                                                                                                                                                                                                                 

Просмотр содержимого документа
«Задание 15. Поиск ошибок в программах»

Задание 15. Поиск ошибок в программах.

  1. Доделать Задание 12.

  2. 3064, 3069, 3072, 115, 117, 118. Функции создавать не нужно, пишем программы обычным образом.

  3. В тетради следующие задания.

24-58.На обработку поступает последовательность из четырёх целых чисел. Нужно написать программу, которая выводит на экран количество неотрицательных чисел последовательности и их произведение. Если неотрицательных чисел нет, требуется вывести на экран «NO». Известно, что вводимые числа по абсолютной величине не превышают 10. Программист написал программу неправильно.

var p,i,x,count: integer;

begin

count := 0;

p := 0;

for i := 1 to 4 do begin

read (x);

if x = 0 then begin

p := p*x;

count := count+1

end

end;

if count 0 then begin

writeln(х);

writeln(p);

end

else

writeln('NO')

end.

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе чисел -5 2 1 3.

2. Приведите пример такой последовательности, содержащей хотя бы одно неотрицательное число, что, несмотря на ошибки, программа печатает правильный ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.


24-52.Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма цифр этого числа. Программист торопился и написал программу неправильно:

var N: longint;

sum, d: integer;

begin

readln(N);

sum := 1;

while N 0 do begin

d := N mod 10;

N := N div 10;

sum := sum + 1;

end;

writeln(sum);

end.

Последовательно выполните следующее.

  1. Напишите, что выведет эта программа при вводе числа 256.

  2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт правильный результат.

  3. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.


24-49.Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц; порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно.

var N, R, T: longint;

d: integer;

begin

readln(N);

R:=0;

T:=1;

while N0 do begin

d := N mod 10;

if d1 then begin

R := R + d*T;

T := T+1

end;

N := N div 10;

end;

writeln(T);

end.

Последовательно выполните следующее.

  1. Напишите, что выведет эта программа при вводе числа 314.

  2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) Выпишите строку, в которой сделана ошибка.

2) Укажите, как исправить ошибку – приведите правильный вариант

строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.