II. Потом повторим как решать задачи на нахождение минимума (максимума) избранных чисел




Тема урока «Повторение. ОГЭ. Задание 15.2»

(раньше назывались задания 20.2).

В этом задании обычно ищутся количество, сумма, произведение и max, min.

 

Задачи бывают с известным количеством входных элементов. И тогда задача решается с помощью FOR

И бывают с неизвестным количеством входных элементов. И тогда задача решается с помощью WHILE.

I. Сначала повторим как решать с известным количеством входных элементов, т.е. с помощью FOR, на сумму, количество, среднее значение.

Напоминаю формулы:

K:=0 S:=0 P:=1 Max меньше меньшего Min больше большего
K:=k+1 S:=S+a P:=P*a IF A>max THEN max:=A IF A< MIN THEN min:=A

Проясним для себя: как записать следующие требования:

1. Если требуется найти количество однозначных чисел

If (a>0) and (a<10) then k:=k+1;

 

2. Если требуется найти количество трехзначных чисел

If (a>=100) and (a<=999) then k:=k+1;

3. Если требуется определить количество избранных чисел и среднее значение суммы избранных чисел, а если таких чисел нет, то программа должна вывести «No».

 

Значит, если после выхода из цикла, который считает количество избранных чисел, переменная к получилась равной нулю, то это значит избранных чисел нет. И тогда после цикла пишем условие

 

If k=0 then begin writeln (k); writeln (’no’) end

else begin sr:=s/k; writeln (k, ’ ’, sr); end;

 

Решаем с помощью FOR

1.Посмотрите, пожалуйста, видео, поймите:

https://www.youtube.com/watch?v=OCyN7uvnwXE 10 мин

https://www.youtube.com/watch?v=4hj00lVetw4 10 мин

https://www.youtube.com/watch?v=NGiu7q7ZPq4 10 мин

Много заданий с решениями https://inf-oge.sdamgia.ru/

 

II. Потом повторим как решать задачи на нахождение минимума (максимума) избранных чисел

 

1. нахождение минимума (максимума) избранных чисел, количество введенных чисел известно

2. нахождение минимума (максимума) избранных чисел, количество введенных чисел неизвестно

 

 

Итак: про сумму и кол-во вы уже писали сам. работу. Вспомним, что мы говорили про минимум и максимум. Мы говорили, что они похожи на книгу Гинесса, куда записываются рекорды. Запись в книге Гинесса меняется, если находится лучший результат.

 

Примечание: начальное значение минимума- больше большего, а начальное значение максимума- меньше меньшего.

 

 

1. Посмотрите видео на нахождение минимума, количество введенных чисел задается https://www.youtube.com/watch?v=NGiu7q7ZPq4&t=272s 10 мин

2. Посмотрите видео на нахождение суммы избранных чисел, количество введенных чисел неизвестно https://www.youtube.com/watch?v=OCyN7uvnwXE 16:30 мин

количество введенных чисел известно

Задача 1. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, оканчивающееся на 5.

3. Пример работы программы:

Входные параметры Выходные параметры
3 35 45 25  

Решение на языке программирования Паскаль:

Начальное максимальное должно быть меньше меньшего, т.е., если натур. числа начинаются с 1, то меньше меньшего=0.

var k, n, a, max: integer; begin max:= 0; readln(n); for k:= 1 to n do begin readln(a); if (a mod 10 = 5) and (a > max) then max:= a; end; writeln(max); end.   Задача 2. Если бы нам надо было найти минимум, то нач. мин должен был быть больше большего. А так как по условию Введённые числа не превышают 30 000, то то нач. мин должен был быть больше 30 000, т.е. равен 30 001. И программа бы выглядела так:

Var k, n, a, min: integer;

begin

min:= 30001;

readln(n);

for k:= 1 to n do

begin

readln(a);

if (a mod 10 = 5) and (a < min) then min:= a;

end;

writeln(min);

end.

количество введенных чисел неизвестно

Задача 3. Напишите программу, которая в последовательности целых чисел определяет минимальное четное число. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0. (0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 20 000.

 

var a, min: integer;

begin

min:= 20001;

readln(a);

while a <> 0 do

begin

if (a mod 2=0) and (a <= min) then min:=a;

readln(a);

end;

writeln(min);

end.

Обратите внимание, что readln(a); пишется 2 раза: до while и внутри while.

 

Домашнее задание для всех, проверю на уроке в тетради:

1. Напишите программу, которая в последовательности натуральных чисел определяет сумму четных чисел, оканчивающихся на 5, и максимум. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 100. Введённые числа не превышают 300.

2. Напишите программу, которая в последовательности натуральных чисел определяет количество и среднее значение суммы нечетных 4-хзначных чисел, минимум. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 100. Введённые числа не превышают 300. Если избранных чисел нет, вывести «нет»

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-12-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: