Исправить ошибки в программе паскаль задачи
Требовалось написать программу, при выполнении которой с клавиатуры вводится последовательность из шести неотрицательных
целых чисел, не превышающих 106, подсчитывается и выводится сумма введённых чётных
чисел или 0, если чётных чисел в последовательности нет. Ученик написал такую
программу:
3. 24-2 программа
var n, s: longint; i: integer;
Begin
s:=1;
for i:=1 to 6 do
begin
readln(n);
if i mod 2 = 0 then s := s + n;
end;
write(s);
end.
4. 24-2 задание к программе
5. 24-2 Решение
Первая строка с ошибкой:
s:=1;
Исправленная строка:
s:=0;
Вторая строка с ошибкой:
if i mod 2 = 0 then
Исправленная строка:
if n mod 2 = 0 then
6. 24-3
Дано целое положительное число N. Необходимо определить наименьшее целое число K, для
которого выполняется неравенство:
1 + 2 + … + K > N.
Для решения этой задачи ученик написал
программу, но, к сожалению, его программа
неправильная.
7. 24-3 Программа
var n, k: integer;
begin
read(n);
k := 1;
while n>0 do
begin
n := n-k;
end;
writeln(k)
end.
k := k+1;
8. 24-3 Задание
9. 24-3 Решение
• 1. Примеры чисел, при вводе которых
программа выводит неверный ответ:
Значение N
2
4
5
7
Верный ответ
2
3
3
4
Ответ программы
3
4
4
5
10. 24-3 Решение
2. Примеры чисел, при вводе которых программа
выводит верный ответ:
Значение N
Верный ответ
Ответ программы
1
2
2
3
3
3
6
4
4
10
5
5
Заметим, что программа выдаёт верный ответ для тех
значений N, которые можно представить в виде
суммы 1 + 2 + … + K. При K = 1, 2, 3, 4 получим
примеры, приведённые в таблице. Во всех остальных
случаях программа выдаёт неверный ответ.
11. 24-3 Решение
3. Программа содержит две ошибки:
1) неверное условие цикла;
2) неверный вывод результата (выводится значение, на 1
превышающее верное).
Пример исправления для языка Паскаль:
Первая ошибка:
while n>0 do begin
Исправленная строка:
while n>=0 do begin
Вторая ошибка:
writeln(k)
Исправленная строка:
writeln(k-1)
Незначительной опиской, не влияющей на оценку, следует считать
отсутствие служебных слов и знаков после содержательной части
исправления.
12. 24-1
• На обработку поступает последовательность
из четырёх неотрицательных целых чисел
(некоторые числа могут быть одинаковыми).
Нужно написать программу, которая выводит
на экран количество чётных чисел в исходной
последовательности и максимальное чётное
число. Если чётных чисел нет, требуется на
экран вывести «NO». Известно, что вводимые
числа не превышают 1000. Программист
написал программу неправильно. Ниже эта написанная им программа для Вашего удобства
приведена на пяти языках программирования.
const n = 4;
var i, x: integer; maximum, count: integer;
begin
count := 0; maximum := 1000;
for i := 1 to n do
begin
read(x);
if x mod 2 = 0 then
begin
count := count + 1;
if x > maximum then maximum := i
end
end;
if count > 0 then begin
writeln(count); writeln(maximum)
end
else writeln('NO')
end.
15. Решение
1. Программа выведет 2 1000.
2. Например, набор 2 4 5 1000.
3. Пример исправлений для языка Паскаль
Первая ошибка:
maximum := 1000;
Исправленная строка: maximum := -1;
Вторая ошибка: maximum := i
Исправленная строка: maximum := x
16. 24-4
Для заданного положительного вещественного числа A необходимо найти максимальное
целое число K, при котором выполняется
неравенство
Для решения этой задачи ученик написал
такую программу.
17. 24-4 Программа
var a, s: real; k: integer;
Begin
read(a);
k := 1;
s := 1;
while s begin
s := s + 1.0/k; k := k + 1;
end;
write(k);
end.
18. 24-4 Задание к программе
19. 24-4 Решение
Решение использует запись программы на Паскале.
Допускается использование программы на других
языках.
1. При вводе числа 1.2 программа выведет число 2.
2. Примеры чисел, при вводе которых программа выводит верный ответ: 1.6, 2.05.
Примечание для проверяющего. Программа содержит две ошибки, одна из которых приводит к увеличению ответа, другая – к уменьшению.
В некоторых случаях эти ошибки компенсируют друг
друга, и ответ оказывается правильным. Это
происходит, если значение A попадает в один из следующих диапазонов: 1.5 < A < 1.83, 2 < A < 2.08.
20. 24-4 Решение (продолжение)
21. 25-1 Условие
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –
10 000 до 10 000 включительно. Опишите на одном из
языков программирования алгоритм, позволяющий
найти и вывести количество пар элементов массива, в
которых сумма элементов делится на 3, но не делится
на 9. В данной задаче под парой подразумеваются два
соседних элемента массива.
Исходные данные объявлены так, как показано ниже.
Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые
из описанных переменных.
22. 25-1 Начало программы
const N = 20;
var a: array [1..N] of integer;
i, j, k: integer;
begin
for i := 1 to N do
readln(a[i]); …
end.
23. 25-1 условие (продолжение)
В качестве ответа Вам необходимо привести
фрагмент программы, который должен находиться на месте многоточия. Вы можете записать
решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free
Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и
переменные, какие были предложены в
приведённых фрагментах.
24. 25-1 Решение
k := 0;
for i := 1 to N-1 do
if ((a[i]+a[i+1]) mod 3=0) and ((a[i]+a[i+1]) mod
9<>0) then k:=k+1;
writeln(k);
25. 25-2 Условие
Дан целочисленный массив из 20 элементов. Элементы
массива могут принимать целые значения от 0 до 10 000
включительно. Опишите на естественном языке или на
одном из языков программирования алгоритм,
позволяющий найти и вывести количество пар элементов
массива, в которых оба числа являются чётными. В данной
задаче под парой подразумевается два подряд идущих
элемента массива.
Например, для массива из пяти элементов: 6; 1; 4; 6; 10 –
ответ: 2. Исходные данные объявлены так, как показано
ниже на примерах для некоторых языков
программирования и естественного языка. Запрещается
использовать переменные, не описанные ниже, но
разрешается не использовать некоторые из описанных
переменных.
26. 25-2 Условие (начало программы)
const N = 20;
var a: array [1..N] of integer; i, j, k: integer;
begin
for i := 1 to N do
readln(a[i]); .
end.
В качестве ответа Вам необходимо привести
фрагмент программы, который должен
находиться на месте многоточия.
27. 25-2 Решение
28. 25-3 Условие
Дан массив, содержащий 2017 положительных
целых чисел, не превышающих 1000.
Необходимо найти и вывести максимальный из
тех элементов этого массива, восьмеричная
запись которых содержит не менее четырёх
цифр и оканчивается цифрой 4. Если таких чисел
в массиве нет, ответ считается равным нулю.
Исходные данные объявлены так, как показано
ниже. Запрещается использовать переменные,
не описанные ниже, но разрешается не
использовать часть из описанных.
29. 25-3 Пример начала программы
const N = 2017;
var a: array [1..N] of integer;
i, m, k: integer;
begin
for i := 1 to N do
readln(a[i]); .
end.
В качестве ответа Вам необходимо привести
фрагмент программы (или описание алгоритма
на естественном языке), который должен
находиться на месте многоточия.
30. 25-3 Решение
m := 0;
for i := 1 to N do
if (a[i] >= 512) and (a[i] mod 8 = 4) and
(a[i] > m) then m := a[i];
writeln(m);
31. 26-1
Два игрока, Петя и Ваня, играют в следующую игру.
Перед ними лежат две кучки камней, в первой из
которых 2, а во второй — 3 камня. У каждого игрока
неограниченно много камней. Игроки ходят по
очереди, первый ход делает Петя. Ход состоит в том,
что игрок или утраивает число камней в какой-то куче,
или добавляет 4 камня в какую-то кучу.
Игра завершается в тот момент, когда общее число
камней в двух кучах становится не менее 31. Если в
момент завершения игры общее число камней в двух
кучах не менее 40, то выиграл Петя, в противном
случае — Ваня. Кто выигрывает при безошибочной
игре обоих игроков? Каким должен быть первый ход
выигрывающего игрока? Ответ обоснуйте.
Выигрывает Ваня.
Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы,
где в каждой ячейке записаны пары чисел, разделённые запятой. Эти числа
соответствуют количеству камней на каждом этапе игры в первой и второй кучах
соответственно.
Таблица содержит все возможные варианты ходов первого игрока. Из неё видно,
что при любом ходе первого игрока у второго имеется ход, приводящий к победе.
33. 26-2
Два игрока, Петя и Вася, играют в следующую
игру. Перед ними лежат две кучки камней, в первой из которых 2, а во второй — 1 камень. У каждого игрока неограниченно много камней. Игроки ходят по очереди, первым ходит Петя.
Ход состоит в том, что игрок или увеличивает в 3
раза число камней в какой-то куче, или добавляет 3 камня в какую-то кучу.
Выигрывает игрок, после хода которого в одной
из куч становится не менее 24 камней. Кто выигрывает при безошибочной игре? Каким должен
быть первый ход выигрывающего игрока?
Выигрывает Петя, своим первым ходом он должен увеличить в 3 раза количество
камней во второй куче. Для доказательства рассмотрим неполное дерево игры,
оформленное в виде таблицы, где в каждой ячейке записаны пары чисел, разделенные запятой. Эти числа соответствуют количеству камней на каждом этапе
игры в первой и второй кучах соответственно.
Таблица содержит все возможные варианты ходов Васи. Из неё видно, что при
любом его ответе у Пети имеется ход, приводящий к победе.
35. 26-3
Два игрока играют в следующую игру. На координатной
плоскости стоит фишка. Игроки ходят по очереди. В начале
игры фишка находится в точке с координатами (3, 2). Ход
состоит в том, что игрок перемещает фишку из точки с
координатами (x, y) в одну из трёх точек: или в точку с
координатами (x + 3, y), или в точку с координатами (x, y +
2), или в точку с координатами (x, y + 4). Выигрывает игрок,
после хода которого расстояние по прямой от фишки до
точки с координатами (0, 0) больше 12 единиц. Кто
выиграет при безошибочной игре обоих игроков —
игрок, делающий первый ход, или игрок, делающий
второй ход? Как должен ходить выигрывающий игрок?
Постройте дерево партии для выигрышной стратегии
(в виде рисунка или таблицы).
36. 26-3 Решение
Квадрат расстояния от фишки до точки с координатами
(0, 0): r2 = x2 + y2. Побеждает игрок, после хода которого r2> 144.
Алгоритм выигрышной стратегии определим при помощи дерева
всех возможных партий. Не будем приводить здесь полное
дерево, отметим лишь, что при ходе первого игрока в точку (3, 4)
первый игрок при любом ответе противника имеет выигрышный
набор ходов.
Построим дерево партии для выигрышной стратегии первого
игрока: в узлах будем указывать координаты фишки и квадрат
расстояния до начала координат. Зелёным отмечены позиции, в
которых выигрывает первый игрок.
Дерево содержит все возможные варианты ходов второго игрока.
Из него видно, что при любом ответе второго игрока у первого
имеется ход, приводящий к победе.
37. 26-3Решение
38. 27-1 Условие
На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии космических лучей. Каждую
минуту прибор передаёт по каналу связи неотрицательное
вещественное число — количество энергии, полученной за
последнюю минуту, измеренное в условных единицах.
Временем, в течение которого происходит передача,
можно пренебречь. Необходимо найти в заданной серии
показаний прибора минимальное произведение двух
показаний, между моментами передачи которых прошло
не менее 6 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц.
Общее количество показаний прибора в серии не превышает 10 000. Напишите на любом языке программирования программу для решения поставленной задачи.
39. 27-1 Условие (продолжение)
Вам предлагаются два задания, связанные с этой
задачей: задание А и задание Б. Вы можете решать
оба задания А и Б или одно из них по своему выбору.
Итоговая оценка выставляется как максимальная
из оценок за задания А и Б. Если решение одного из
заданий не представлено, то считается, что
оценка за это задание составляет 0 баллов.
Задание Б является усложненным вариантом
задания А, оно содержит дополнительные
требования к программе. Перед программой
укажите версию языка программирования.
40. 27-1 Условие (продолжение)
А. Напишите на любом языке программирования программу
для решения поставленной задачи, в которой входные
данные будут запоминаться в массиве, после чего будут
проверены все возможные пары элементов.
Обязательно укажите, что программа является
решением задания А.
Максимальная оценка за выполнение задания А – 2 балла.
Б. Напишите программу для решения поставленной задачи,
которая будет эффективна как по времени, так и по памяти
(или хотя бы по одной из этих характеристик).
Программа считается эффективной по времени, если время
работы программы пропорционально количеству элементов
последовательности N, т.е. при увеличении N в k раз время
работы программы должно увеличиваться не более чем в k
раз.
Обязательно укажите, что программа является
решением задания Б.
41. 27-1 Условие (продолжение)
Перед программой укажите версию языка и кратко опишите использованный
алгоритм. В первой строке задаётся число N — общее количество показаний прибора.
Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно неотрицательное вещественное число — очередное показание прибора.
Пример входных данных:
11
12
45
5
4
25
23
21
20
10
12
26
Программа должна вывести одно число — описанное в условии произведение.
Пример выходных данных для приведённого выше примера входных данных:
48
42. 27-1 Решение
Для построения программы, эффективной по
времени, можно определить для каждого элемента входных данных минимальное значение
от начала данных до этого элемента
включительно. Затем нужно умножать каждый
элемент, начиная с седьмого, на значение этого
минимума, взятого на шесть элементов раньше,
и выбрать наименьшее из этих произведений.
Предложенный алгоритм реализован в следующей программе на алгоритмическом языке
Для того, чтобы найти ошибку, нужно поставить в соответствие друг другу все части условного оператора if и else.
Помним, что часть else относится к ближайшему if. При этом наличие части else не обязательно.
Кроме того, часто присутствует ошибка при вводе или выводе. Обязательно нужно проверить, та ли информация выводится на экран.
Особого внимания требует инициализация переменных.
Формат книги не позволяет рассмотреть все основные типы задач 2 части, рассмотрим лишь те, которые встречались на проверочных и экзаменационных работах последних двух лет.
На обработку поступает положительное целое число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
Бейсик
Python
INPUT N
WHILE N > 0
DIGIT = N MOD 10
END IF
WEND
Паскаль
Алгоритмический язык
begin
readln(N);
while N > 0 do
begin
digit := N mod 10;
N := N div 10;
end;
writeln(digit)
нач
цел N, digit, sum
ввод N
нц пока N > 0
все
кц
вывод digit
Си
int main()
int N, digit, sum;
while (N > 0)
if (digit < 7)
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 456.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Решение использует запись программы на Паскале. Допускается использование программы на любом из четырёх других языков.
1. Программа выведет число 4.
2. Пример числа, при вводе которого программа выдаёт верный ответ: 835.
Программа работает неправильно из-за неверной выводимой на экран переменной и неверного увеличения суммы. Соответственно, программа будет работать верно, если в числе старшая цифра (крайняя левая) равна сумме цифр, меньших 7.
3. В программе есть две ошибки.
Первая ошибка. Неверное увеличение суммы.
Строка с ошибкой:
sum := sum + digit;
Вторая ошибка. Неверный вывод ответа на экран.
Строка с ошибкой:
Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство
(при K = 0 сумма считается равной 0).
Для решения этой задачи ученик написал такую программу.
Бейсик
Python
DIM K AS INTEGER
INPUT A
WHILE S < A
WEND
PRINT K
Алгоритмический язык
Паскаль
нач
вещ a, s
цел k
ввод a
нц пока s
кц
вывод k
k: integer;
begin
read(a);
end;
write(k);
Си
int main()
double a, s;
int k;
return 0;
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.2.
2. Приведите пример числа, при вводе которого программа даст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.
Решение использует запись программы на Паскале. Допускается использование программы на других языках.
1. При вводе числа 1.2 программа выведет число 2.
2. Примеры чисел, при вводе которых программа выводит верный ответ: 1.6, 2.05.
Программа содержит две ошибки, одна из которых приводит к увеличению ответа, другая – к уменьшению.
В некоторых случаях эти ошибки компенсируют друг друга, и ответ оказывается правильным. Это происходит, если значение A попадает в один из следующих диапазонов: 1.5 < A < 1.83, 2 < A < 2.08.
3. Программа содержит две ошибки.
1) Неверная инициализация. Начальное значение S должно быть равно нулю.
В приведённом варианте вычисленная сумма оказывается на 1 больше правильного значения.
Строка с ошибкой:
2) Неверное определение ответа. Приведённая программа находит не максимальное K, при котором выполняется неравенство, а минимальное, при котором оно не выполняется, то есть увеличивает верное значение на 1.
Кроме того, использованный порядок действий в цикле (увеличение K после увеличения S) приводит к увеличению ещё на 1. Это можно было бы исправить, изменив порядок действий в цикле и уменьшив K после завершения цикла, но эти действия не разрешены по условию задачи.
Поэтому для исправления ошибки можно просто скорректировать значение при выводе.
Задания Д24 C1 № 3646
Требовалось написать программу, которая решает неравенство относительно x для любых ненулевых чисел a и b введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
PRINT "x > ",a," или x 0 THEN
print('x > ', a, ' или x 0:
write ('x > ', a, ' или x 0 then
вывод "x > ", a, " или x 0 то
Последовательно выполните три задания:
1) Приведите пример таких чисел а, b, х, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1) a = −11, b = 1, x = 0.
Значение x может быть не указано. Значение а может быть любым отрицательным числом, значение b — любым положительным. Также допустим ответ, что программа работает неправильно при любых положительных b и отрицательных а.
не нужно вводить х с клавиатуры; верно: readln(a, b).
3) Возможная доработка:
write('х >', а, 'или х 0')
Задания Д24 C1 № 7935
Для заданного положительного вещественного числа A необходимо найти минимальное целое число K, при котором выполняется неравенство Для решения этой задачи ученик написал такую программу.
DIM A, S AS DOUBLE
DIM K AS INTEGER
while s>=a do begin
using namespace std;
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.4.
2. Сколько существует натуральных чисел А, при вводе которых программа выведет ответ 1?
3. Найдите в программе все ошибки (их может быть одна или несколько).
Решение использует запись программы на Паскале. Допускается использование программы на других языках.
1. При вводе числа 1.4 программа выведет число 0.
2. Программа не выведет ответ 1 ни при каком вводе, то есть ответ на задание: 0. Примечание для проверяющего. При вводе A > 1 тело цикла не будет выполнено ни разу и программа выведет ответ 0. При A ≤ 1 происходит зацикливание.
3. Программа содержит две ошибки.
1) Неверная инициализация. Переменные s и k должны иметь одинаковые начальные значения: либо обе равны нулю, либо обе равны единице.
2) Неверное условие цикла.
Возможные варианты исправления для языка Паскаль следующие. Первая ошибка содержится в одной (любой) из двух строк:
Задания Д24 C1 № 15640
На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, не кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, не кратных трёх, программа должна вывести слово «NO». Программист написал программу неправильно.
IF X MOD 3 <> 0 THEN
COUNT = COUNT + 1
IF X > MAXIMUM THEN
for i in range(4):
count = count + 1
var i, x: integer;
var maximum, count: integer;
for i:=1 to 4 do begin
if x mod 3 <> 0 then begin
count := count + 1;
if x > maximum then
if count > 0 then begin
цел maximum, count
нц для i от 1 до 4
если mod(x, 3) <> 0 то
count := count + 1
если x > maximum то
если count > 0 то
using namespace std;
int i, x, maximum;
count = count + 1;
if ( x > maximum ) maximum = i;
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе чисел 7 15 8 21.
2. Приведите пример такой последовательности, содержащей число, кратное 3, при вводе которой программа выведет правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
1. При вводе числа 7 15 8 21 программа сначала выведет 2, затем 1000.
2. Примеры чисел, при вводе которых программа выводит корректный ответ: 2 3 4 1000.
Комментарий для экспертов. Программа выводит сначала количество чисел, некратных 3, затем выводит 1000. Либо корректно работает при отсутствии в ряду таких чисел.
Пример исправления для языка Паскаль:
Первая ошибка:
Вторая ошибка:
Пояснение для эксперта.
В программах на других языках ошибочные строки и их исправления аналогичны.
Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления
В задаче требуется выполнить три действия.
1. Указать результат программы при данном вводе.
Это действие считается выполненным, если указан верный результат работы программы при заданных входных данных. Экзаменуемый не обязан объяснять, как получен этот результат, достаточно указать верное число.
2. Указать пример ввода, при котором программа выводит верный ответ.
Это действие считается выполненным, если верно указаны обе ошибки и предложены верные варианты исправления, при этом никакие верные строки программы не указаны в качестве неверных. В исправленной строке допускаются незначительные синтаксические ошибки (лишние или пропущенные знаки препинания, неточные написания служебных слов языка). Ошибка считается исправленной, если выполнены оба следующих условия:
а) правильно указана строка с ошибкой;
б) указан такой новый вариант строки, что при исправлении другой ошибки получается правильная программа
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Задания на знание структуры программы на языке Паскаль, а также форматов операторов присваивания, ввода и вывода
Список вопросов теста
Вопрос 1
Найдите ошибку в программе:
program ;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
end.
- отсутствует имя программы
- имя программы написано не правильно
- отсутствует раздел переменных
Вопрос 2
Найдите ошибку в программе:
program Prim 2 1;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
end.
- отсутствует раздел переменных
- имя программы написано неправильно
- отсутствует имя программы
Вопрос 3
Найдите ошибку в программе:
program Prim_2_1;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
end.
- имя программы написано не правильно
- отсутствует раздел переменных
- отсутствует ввод данных
Вопрос 4
Найдите ошибку в программе:
program Prim_2_1;
var a,b:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
end.
- не все переменные описаны в разделе описания переменных
- отсутствует раздел переменных
- отсутствуют вычисления в программе
Вопрос 5
Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
p:=a+b+c+d+f;
writeln('p=',p);
end.
- отсутствует команда начала программы
- отсутствуют вычисления в программе
- отсутствует раздел ввода данных
Вопрос 6
Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
writeln('p=',p);
end.
- отсутствует команда завершения программы
- отсутствует команда начала программы
- отсутствуют вычисления в программе
Вопрос 7
Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
end.
- допущена ошибка в операторе присваивания
- отсутствует команда завершения программы
- отсутствует команда начала программы
Вопрос 8
Следующий алгоритм в результате выполнения программы находит:
program Prim_2_3;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c;
writeln('p=',p);
end
- находит сумму 4 чисел
- находит сумму 3 чисел
- находит сумму 5 чисел
Вопрос 9
Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p=:a+b+c+d+f;
writeln('p=',p);
end.
- допущена ошибка в операторе присваивания
- отсутствует команда начала программы
- отсутствует команда вывода результата на экран компьютера
Вопрос 10
Следующий алгоритм в результате выполнения программы находит значение выражения:
program Prim_2_2;
var y,x:integer;
begin
writeln('Введите x:');
readln(x);
y:=15*x*x*x+6*x*x+18*x-29;
writeln('y=',y);
end.
Читайте также: