2.94M
Категория: ПрограммированиеПрограммирование

Решение задач 15.2. Подготовка к ОГЭ по информатике

1.

Решение задач 15.2.
Подготовка к ОГЭ по информатике

2.

По оператору цикла:
Количество чисел известно;
Количество чисел в последовательности
неизвестно: признак окончания цикла – 0.
По назначению:
1.Вычисление суммы;
2.Вычисление количества;
3.Вычисление среднего арифметического;
4.Нахождение минимального/максимального
числа последовательности.

3.

4.

Программирование циклов
с заданным числом повторений
for <счётчик цикла> := <начальное
значение> to <конечное значение> do
<тело цикла>
<счётчик цикла> - переменная целого типа;
<начальное_значение> и <конечное_значение> - выражения
того же типа, что и счётчик;
<тело цикла> - простой или составной оператор.

5.

Программирование циклов с заданным
условием продолжения работы
(оператор с предусловием)
while <условие> do <тело цикла>
<условие> - логическое выражение; пока оно истинно,
выполняется тело цикла;
< тело цикла > - простой или составной оператор.
нет
Условие
да
Тело цикла

6.

Программирование циклов с заданным
условием окончания работы
(оператор с постусловием)
repeat <оператор1; оператор2; …;>
until <условие>
<оператор1>; <оператор2>; … - операторы, образующие тело цикла;
<условие> - логическое выражение; если оно ложно, то
выполняется тело цикла.
Тело цикла
да
Условие
нет

7.

Условие кратности
(или оканчивается на заданную цифру)
Остаток от деления!
число четное
If a mod 2=0
число
число кратно n
оканчивается на N
If a mod 10=n
If a mod n=0

8.

15.2 – 1 Вычисление суммы
С условием и без…

9.

Количество чисел известно

10.

var
i, n, a, sum : integer;
Begin
Writeln (‘Введите количество чисел в послед-ти’);
readln(n);
for i := 1 to n do begin
Writeln (‘Введите число’);
readln(a);
if (a < 50) and (a >10) then sum := sum + a;
end;
writeln (sum);
end.

11.

15.2-1а Признак окончания цикла - 0

12.

Признак окончания цикла - 0
Repeat!
var i, n, a, sum : integer;
begin
readln(a);
repeat
if (a mod 3=0) and (a mod 10=6)
then sum := sum + a;
readln(a);
until a=0;
writeln (sum);
end.

13.

Признак окончания цикла - 0
var i, n, a, sum : integer;
While!
begin
readln(а); // ввод первого числа послед-ти
while a<>0 do // цикл ПОКА, условие входа в цикл
begin
if (a mod 3=0) and (a mod 10=6)
then sum := sum + a;
readln(a); // ввод числа последовательности
end;
writeln (sum);
end.

14.

15.2 – 2 Вычисление количества
С условием и без…

15.

Количество чисел известно

16.

var n, i, a, k : integer;
Количество чисел известно
begin
readln(n);
for i := 1 to n do
begin
readln(a); // ввод числа последовательности
if (a mod 6=0) and (a mod 10=4) then k:=k+1;
end;
writeln (k); // Вывести значение счетчика
end.

17.

Признак окончания цикла - 0

18.

Признак окончания цикла - 0
var n, i, a, k : integer;
Repeat!
begin
readln(а); // ввод первого числа послед-ти
repeat
if (a mod 6=0) and (a mod 10=0) then k:=k+1;
readln(a); // ввод числа послед-ти
until a=0; // условие выхода из цикла
writeln (k); // Вывести количество чисел
end.

19.

var n, i, a, k : integer;
Признак окончания цикла - 0
begin
While!
readln(а); // ввод первого числа послед-ти
while a<>0 do// цикл ПОКА, условие входа в цикл
begin
if (a mod 6=0) and (a mod 10=0) then k := k + 1;
readln(a); // ввод числа последовательности
end;
writeln (k); // Вывести значение счетчика
end.

20.

15.2 – 3 Вычисление среднего арифметического
С условием и без…

21.

15.2

22.

var n, i, a, sum, k : integer;
begin
readln (a);
repeat
if (a<1000) and (a>99) then
begin
sum:=sum + a;
k:=k+1;
end;
readln (a);
until a=0;
if k=0
then writeln ('net')
else writeln (sum/k);
end.

23.

15.2 – 4 Нахождение
минимального/максимального числа
последовательности
С условием и без…

24.

25.

var n, i, a, max, k : integer;
begin
readln(n); // ввод количества чисел послед-ти
max := -1; // Присвоение ложного значения эталону
for i:=1 to n do
begin
readln(a);
if (a mod 3<>=0) and (a > max) then max:=a;
end;
writeln (max);
end.

26.

27.

var n, i, a, max, k : integer;
begin
max := -1; readln (a);
repeat
if (a >9) and (a <80) and (a > max)
then max:=a;
readln(a);
until a=0;
writeln (max);
end.

28.

Задачи для самостоятельного решения.
1.Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое нечётных
чисел, кратных 3, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа,
количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания
ввода, не входит в последовательность). Пример работы программы
.
Входные
данные
Выходные данные
3
60
99
21
90
0
41
120
6
0
NO
2. Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число, оканчивающееся на 3. Программа получает на вход количество
чисел в последовательности, а затем сами числа. В последовательности всегда имеется
число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не
превышают 30 000. Программа должна вывести одно число — максимальное число,
оканчивающееся на 3.
Входные данные
Выходные данные
Пример работы программы:
3
13
23
3
23
English     Русский Правила