- Главная
- Информатика
- Исправление ошибок в простой программе с условными операторами. ЕГЭ 24
Содержание
- 2. СИ++ #include #include using namespace std; int main() { setlocale(0,""); double x, y; cin >> x
- 3. 2) var x,y: real; begin readln(x,y); if (x >= 0) and (x (y = sin(x)) then
- 4. Pascal var x, y: real; begin readln(x, y); if y >= 2*x then if x if
- 5. Требовалось написать программу, которая вводит с клавиатуры натуральное число N, не превышающее 109, и выводит сумму
- 6. На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать
- 7. 234 d=2 R=4+3*10=34
- 8. СИ++ #include using namespace std; int main() { int A, s = 0, p = 0,
- 13. Скачать презентацию
Слайд 2СИ++
#include
#include
using namespace std;
int main()
{
setlocale(0,"");
double x, y;
cin >>
СИ++
#include
#include
using namespace std;
int main()
{
setlocale(0,"");
double x, y;
cin >>
![СИ++ #include #include using namespace std; int main() { setlocale(0,""); double x,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-1.jpg)
x >> y;
if (y <= 1)
if (x>= 0)
if (y >= sin(x))
cout << "принадлежит";
else
cout << "не принадлежит";
return 0;
}
if (y <= 1)
if (x>= 0)
if (y >= sin(x))
cout << "принадлежит";
else
cout << "не принадлежит";
return 0;
}
Слайд 32)
var x,y: real;
begin
readln(x,y);
if (x >= 0) and (x <= pi/2)
2)
var x,y: real;
begin
readln(x,y);
if (x >= 0) and (x <= pi/2)
![2) var x,y: real; begin readln(x,y); if (x >= 0) and (x](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-2.jpg)
and
(y <= 1) and (y >= sin(x)) then
write('принадлежит')
else write('не принадлежит');
end.
(y <= 1) and (y >= sin(x)) then
write('принадлежит')
else write('не принадлежит');
end.
Слайд 4Pascal
var x, y: real;
begin
readln(x, y);
if y >= 2*x then
Pascal
var x, y: real;
begin
readln(x, y);
if y >= 2*x then
![Pascal var x, y: real; begin readln(x, y); if y >= 2*x](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-3.jpg)
if x <= 0 then
if x*x+y*y <= 4 then
write('принадлежит')
else
write('не принадлежит');
end.
Слайд 5Требовалось написать программу, которая вводит с клавиатуры натуральное число N, не превышающее
Требовалось написать программу, которая вводит с клавиатуры натуральное число N, не превышающее
![Требовалось написать программу, которая вводит с клавиатуры натуральное число N, не превышающее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-4.jpg)
109, и выводит сумму чётных цифр в десятичной записи этого числа или 0, если чётных цифр нет. Программист торопился и написал программу неправильно. Вот она:
var N: longint;
s: integer;
begin
readln(N);
s := 0; 1981
while N > 1 do begin
if N mod 2 = 0 then begin
s := N mod 10;
end;
N := N div 10;
end;
write(s);
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
var N: longint;
s: integer;
begin
readln(N);
s := 0; 1981
while N > 1 do begin
if N mod 2 = 0 then begin
s := N mod 10;
end;
N := N div 10;
end;
write(s);
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Слайд 6 На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа
![На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-5.jpg)
могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Вот она:
const n = 4;
var i, x: integer;
var maximum, count: integer;
begin
count := 0;
maximum := 999; maximum := 0;
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 maximum := x
end
end;
if count > 0 then begin
writeln(count);
writeln(maximum)
end
else writeln('NO')
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе последовательности: 2 9 4 3 2 999
2. Приведите пример такой последовательности, содержащей хотя бы одно нечётное число, что, несмотря на ошибки, программа печатает правильный ответ. 1 2 4 999
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
const n = 4;
var i, x: integer;
var maximum, count: integer;
begin
count := 0;
maximum := 999; maximum := 0;
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 maximum := x
end
end;
if count > 0 then begin
writeln(count);
writeln(maximum)
end
else writeln('NO')
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе последовательности: 2 9 4 3 2 999
2. Приведите пример такой последовательности, содержащей хотя бы одно нечётное число, что, несмотря на ошибки, программа печатает правильный ответ. 1 2 4 999
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Слайд 7234
d=2
R=4+3*10=34
234
d=2
R=4+3*10=34
![234 d=2 R=4+3*10=34](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-6.jpg)
Слайд 8СИ++
#include
using namespace std;
int main()
{
int A, s = 0, p =
СИ++
#include
using namespace std;
int main()
{
int A, s = 0, p =
![СИ++ #include using namespace std; int main() { int A, s =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/870169/slide-7.jpg)
0, k = 1;
cin >> A;
while (s < A)
{
p += k;
s += p;
k ++;
}
cout << k;
return 0;
}
cin >> A;
while (s < A)
{
p += k;
s += p;
k ++;
}
cout << k;
return 0;
}
- Предыдущая
Жилой дом “Z House”