Требовалось написать программу, при выполнении которой с клавиатуры считывается положительное целое число N, не превосходящее 10 9 , и определяется сумма цифр этого числа. Программист торопился и написал программу неправильно.
DIM N AS LONG INPUT N sum = 1 WHILE N > 0 D = N MOD 10 N = N 10 sum = d WEND PRINT sum END
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 := d; end; writeln(sum); end.
алг нач цел N, d, sum ввод N sum := 1 нц пока N > 0 d := mod(N, 10) N := div(N, 10) sum := d кц вывод sum кон
#include < stdio.h>int main() < long int N; int sum, d; scanf(«%ld», sum = 1; while (N >0) < d = N%10; N = N / 10; sum = d; >printf(«%d», sum); return 0; >
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 256.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт правильный результат.
15 горячих клавиш, о которых вы не догадываетесь
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Решение использует запись программы на Паскале. Допускается использование программы на четырёх других языках.
1. Программа выдаст 2.
2. Пример числа, для которого программа выдаст верный результат: 100.
Заметим, что программа выдаёт верный результат для любого трёхзначного числа, у которого сумма цифр равна цифре в старшем разряде.
3. Возможные варианты исправления для языка Паскаль:
1) исправление инициализации суммы:
2) исправление приращения суммы
Источник: izi-otvet.ru
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10 9 . Если число чётное, то выводится сумма первой и последней цифр числа, в противном случае выводится первая цифра числа. Программист написал программу неправильно.
Как выглядели первые мышки Apple
Последовательно выполните следующее:
1. Напишите, что выведет программа при вводе каждого из чисел 615 и 214.
2. Приведите пример такого числа, при вводе которого программа, несмотря на ошибки, напечатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько).Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку,— приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Показать ответ
1. При вводе чисел 615 и 214 программа выведет 5 и 4 соответственно.
2. Пример входного числа, для которого программа работает правильно: 5.
3. Программа содержит две строки с ошибками (Паскаль):
Источник: ege-today.ru
определяется принадлежность этой точки одному из выделенных отрезков В и D
Требовалось написать программу, при выполнении которой с клавиатуры считывается координата точки на прямой (х – действительное число) и определяется принадлежность этой точки одному из выделенных отрезков В и D (включая границы). Программист торопился и написал программу неправильно.
Delphi/Pascal
var x : real ;
if x <= l5 then
if x < 9 then
if x <= 3 then
write ( ‘принадлежит’ )
write ( ‘не принадлежит’ )
int main ( void )
scanf ( ″ % f ″ ,
printf ( ″принадлежит″ ) ;
printf ( ″не принадлежит″ ) ;
Последовательно выполните следующее.
1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (А, В, С, D и Е). Границы (точки -3, 3, 9 и 15) принадлежат заштрихованным областям.
Область | (x<=15) | (х<9) | (х<=3) | Программа выведет | Область обрабатывается верно |
A | |||||
B | |||||
C | |||||
D | |||||
E |
В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».
2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)
Решение
Область | (x<=15) | (х<9) | (х<=3) | Программа выведет | Область обрабатывается верно |
A | да | да | да | принадлежит | нет |
B | да | да | да | принадлежит | да |
C | да | да | нет | не принадлежит | да |
D | да | нет | – | – | нет |
E | нет | – | – | – | нет |
Источник: informatikaexpert.ru