Паскаль
<<  Организация ветвления на языке Паскаль Массивы 10 класс информатика  >>
Подходы к решению задач С2 ЕГЭ по информатике (на примере записи
Подходы к решению задач С2 ЕГЭ по информатике (на примере записи
Цель тренинга: предложить методику подготовки учащихся решению задач
Цель тренинга: предложить методику подготовки учащихся решению задач
1. Направленность задач типа С2
1. Направленность задач типа С2
Обработка данных происходит в процессе циклической обработки элементов
Обработка данных происходит в процессе циклической обработки элементов
Признак
Признак
Проверим себя
Проверим себя
1) Нахождение минимума и максимума двух, трех, четырех данных чисел
1) Нахождение минимума и максимума двух, трех, четырех данных чисел
7) Операции с элементами массива
7) Операции с элементами массива
2. Типичные ошибки и критерии проверки С2
2. Типичные ошибки и критерии проверки С2
Типичные ошибки, снижающие ценность решения до 1 балла (достаточно
Типичные ошибки, снижающие ценность решения до 1 балла (достаточно
3. Рассмотрим методику решения задачи С2
3. Рассмотрим методику решения задачи С2
Этапы решения задачи С2 ЕГЭ по информатике
Этапы решения задачи С2 ЕГЭ по информатике
Задача 1 ( из диагностических работ 2013-2014 у.г.)
Задача 1 ( из диагностических работ 2013-2014 у.г.)
const N=2014; var a:array[1
const N=2014; var a:array[1
const N=2014; var a:array[1
const N=2014; var a:array[1
const N=2014; var a:array[1
const N=2014; var a:array[1
Решение на языке Паскаль АВС 3.0.1
Решение на языке Паскаль АВС 3.0.1
Решение на естественном языке
Решение на естественном языке
Задача 2
Задача 2
const N=30; var a: array [1
const N=30; var a: array [1
If (a[i]< min) and (a[i] >=180) then min:=a[i];
If (a[i]< min) and (a[i] >=180) then min:=a[i];
min:=200; for i:=1 to N do begin If (a[i]< min) and (a[i] >=180) then
min:=200; for i:=1 to N do begin If (a[i]< min) and (a[i] >=180) then
Окончательный вид решения на естественном языке
Окончательный вид решения на естественном языке
Задача 3
Задача 3
Опишите на естественном языке или на одном из языков программирования
Опишите на естественном языке или на одном из языков программирования
If (a[i]< min) and (a[i] >0) and (a[i] mod 3<>0) then min:=a[i];
If (a[i]< min) and (a[i] >0) and (a[i] mod 3<>0) then min:=a[i];
4. Пользуясь предложенной методикой, самостоятельно решим несколько
4. Пользуясь предложенной методикой, самостоятельно решим несколько
Задача 4 (вариация 3.1)
Задача 4 (вариация 3.1)
Задача 4 (вариация 3.1)
Задача 4 (вариация 3.1)
Задача 5 (вариация 3.2)
Задача 5 (вариация 3.2)
Задача 5 (вариация 3.2)
Задача 5 (вариация 3.2)
Задача 6 (вариация 3.3)
Задача 6 (вариация 3.3)
Задача 6 (вариация 3.3)
Задача 6 (вариация 3.3)
Задача 7
Задача 7
Задача 7
Задача 7
Задача 8 (вариация 7.1)
Задача 8 (вариация 7.1)
Задача 8 (вариация 7.1)
Задача 8 (вариация 7.1)
Рассмотрим несколько нетипичных задач С2, размещенных на открытом
Рассмотрим несколько нетипичных задач С2, размещенных на открытом
Задача 9 Опишите на естественном языке или на одном из языков
Задача 9 Опишите на естественном языке или на одном из языков
for i:=2 to N-1 do begin If (a[i]*a[i+1]>= pmax) then begin pmax
for i:=2 to N-1 do begin If (a[i]*a[i+1]>= pmax) then begin pmax
Задача 10 Опишите на естественном языке или на одном из языков
Задача 10 Опишите на естественном языке или на одном из языков
for i:=1 to N-1 do begin If (a[i]<a[i+1]) then k:=k+1 else begin if
for i:=1 to N-1 do begin If (a[i]<a[i+1]) then k:=k+1 else begin if
Задача 11 Опишите на естественном языке или на одном из языков
Задача 11 Опишите на естественном языке или на одном из языков
for i:=1 to N do begin If (a[i]>=0 then b[i]:=a[i]) else b[i]:=-a[i];
for i:=1 to N do begin If (a[i]>=0 then b[i]:=a[i]) else b[i]:=-a[i];
Задача 12 Опишите на естественном языке или на одном из языков
Задача 12 Опишите на естественном языке или на одном из языков
for i:=1 to N do begin If (a[i]<0 then begin k:=k+1; s:=s+a[i]; end;
for i:=1 to N do begin If (a[i]<0 then begin k:=k+1; s:=s+a[i]; end;
Успехов в подготовке Ваших учащихся и спасибо за внимание
Успехов в подготовке Ваших учащихся и спасибо за внимание

Презентация: «Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль)». Автор: ADMIN. Файл: «Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль).pptx». Размер zip-архива: 346 КБ.

Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль)

содержание презентации «Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль).pptx»
СлайдТекст
1 Подходы к решению задач С2 ЕГЭ по информатике (на примере записи

Подходы к решению задач С2 ЕГЭ по информатике (на примере записи

программ на естественном языке и языке Паскаль)

Учитель информатики ГБОУ СОШ №1238 Леонова Елена Валентиновна

2 Цель тренинга: предложить методику подготовки учащихся решению задач

Цель тренинга: предложить методику подготовки учащихся решению задач

С2 ЕГЭ по информатике

Задачи тренинга: Рассмотреть направленность задачи С2 (по кодификатору КИМ ЕГЭ) Описать типичные ошибки и рассмотреть критерии проверки задачи С2 Ознакомиться с методикой решения задачи С2 Самостоятельно решить, пользуясь предложенной методикой, несколько задач типа С2. Оценить правильность решения, произвести коррекцию.

2

3 1. Направленность задач типа С2

1. Направленность задач типа С2

Поэтому, учащемуся необходимо выполнить: 1) Инициализацию начальных значений некоторых переменных (требуется задать!) 2) Обработку данных (требуется организовать!) 3) Вывод данных (требуется организовать!).

Задачи этого типа направлены на обработку массива по некоторым критериям. От учащегося требуется «дописать» программу, приводящую к решению поставленной задачи. Как правило, ввод элементов массива уже организован.

3

4 Обработка данных происходит в процессе циклической обработки элементов

Обработка данных происходит в процессе циклической обработки элементов

(или пар соседних элементов) по некоторому комбинированному условию, которое учащемуся необходимо формализовать на основе анализа условия задачи. В качестве условий могут быть как обязательное наличие признака принадлежности искомой группе, так и его отсутствие (например, элемент массива не делится на 2).

Попробуем выявить критерии поиска ответа и формализовать их в виде условия на примере одной из задач С2 из перечня диагностических работ 2013-2014 года: Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар.

4

5 Признак

Признак

Примеры формализации некоторых типичных для С2 составляющих комбинированного условия:

Принадлежность к положительным /отрицательным числам

A[i]>0/ A[i]<0

Четность/нечетность

A[i] mod 2 =0

Наличие указанного числа знаков в числе (только однозначное или двузначное)

(Трехзначное положительное число ) (a[i]>=100) and (a[i]<=999)

Наличие указанной цифры в конце (начале) числа

(Вторая цифра числа – 4) a[i] div 10 =4

Делимость на некоторое число

(Делится на 7 нацело) a[i] mod 7=0

Окончание числа на указанные цифры

(Оканчивается на 5) a[i] mod 10=5

Соответствие указанному значению абсолютного значения элементов массива (самих по себе, разности соседних элементов, …)

(Последующий элемент массива больше предыдущего более чем в три раза) a[i+1] > a[i]*3

Пример его формального описания на Паскале для некоторого элемента массива А

5

6 Проверим себя

Проверим себя

вариант описания условия для описанной выше задачи:

for i:=1 to N div 2 do begin if (a[i]+a[N-i+1]>20) then k:= k+1; end;

Пояснение: Так как в задаче число элементов четное (от 1 до 2014), то решение можно протестировать на примере массива из шести элементов (N=6). Симметричными парами в нем будут: А[1] и A[6] A[2] и A[5] A[3] и A[4] Выявляем закономерность: A[i] и A[N-i+1]

6

7 1) Нахождение минимума и максимума двух, трех, четырех данных чисел

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

без использования массивов и циклов. 2) Нахождение всех корней заданного квадратного уравнения. 3) Запись натурального числа в позиционной системе с основанием меньшим или равным 10. Обработка и преобразование такой записи числа. 4) Нахождение сумм, произведений элементов данной конечной числовой последовательности (или массива). 5) Использование цикла для решения простых переборных задач (поиск наименьшего простого делителя данного натурального числа, проверка числа на простоту, и т.д.). 6) Заполнение элементов одномерного и двумерного массива по заданным правилам.

Сложность задачи С2 определена рамками требований к уровню подготовки выпускников, достижение которых проверяется на едином государственном экзамене по информатике и ИКТ (объявленного в Кодификаторе ФИПИ к КИМ ЕГЭ 2014 года):

7

8 7) Операции с элементами массива

7) Операции с элементами массива

Линейный поиск элемента. Вставка и удаление элементов в массиве. Перестановка элементов данного массива в обратном порядке. Суммирование элементов массива. Проверка соответствия элементов массива некоторому условию. 8) Нахождение второго по величине (второго максимального или второго минимального) значения в данном массиве за однократный просмотр массива. 9) Нахождение минимального (максимального) значения в данном массиве и количества элементов, равных ему, за однократный просмотр массива. 10) Операции с элементами массива, отобранных по некоторому условию. (Например, нахождение минимального четного элемента в массиве, нахождение количества и суммы всех четных элементов в массиве.) 11) Сортировка массива. 12) Слияние двух упорядоченных массивов в один без использования сортировки. 13) Обработка отдельных символов данной строки. Подсчет частоты появления символа в строке. 14) Работа с подстроками данной строки с разбиением на слова по пробельным символам. Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку.

8

9 2. Типичные ошибки и критерии проверки С2

2. Типичные ошибки и критерии проверки С2

Таким должно быть решение на 2 балла:

9

10 Типичные ошибки, снижающие ценность решения до 1 балла (достаточно

Типичные ошибки, снижающие ценность решения до 1 балла (достаточно

одной ошибки из перечисленного списка):

Не инициализируется или неверно инициализируется переменная, содержащая ответ; Используются переменные, не объявленные в разделе описания переменных; Отсутствует вывод или при выводе ответа не учитывается случай, когда требуемого числа в массиве не может быть; Не указано или неверно указано условие завершения цикла; Выход за границы массива при обработке цикла; В комбинированном условии неверно используются логические операции «или», «и», «не». Проверяется не значение элемента, а его индекс (или наоборот) Неточно определяются компоненты комбинированного условия (например, четность, делимость на некоторое число, трехзначность и т.п) Неточно используются знаки > >= или < <=, что приводит к неточному определению принадлежности диапазону.

10

11 3. Рассмотрим методику решения задачи С2

3. Рассмотрим методику решения задачи С2

Как видно из критериев оценивания задачи с2 решение может быть представлено не только на языке программирования, но и описано на естественном языке. Разберем оба варианта решения на примере одной задачи, опираясь на описанные ниже этапы решения.

11

12 Этапы решения задачи С2 ЕГЭ по информатике

Этапы решения задачи С2 ЕГЭ по информатике

1) анализируем условие задачи, выявляем искомое; 2) анализируем приведенный в задаче фрагмент решения, из описанных переменных (незанятых в счетчике цикла) выбираем ту, в которой будет содержаться ответ задачи; 3) инициализируем (задаем начальное значение) переменной с ответом; 4) в конце программы организуем вывод переменной с ответом или текстовое сообщение об отсутствии решения, если это предусмотрено условием задачи; 5) до вывода организуем цикл по обработке массива с условием отбора значений по комбинированному условию; 6) проверяем наличие всех необходимых составляющих решения, «мысленно тестируем» программу.

12

13 Задача 1 ( из диагностических работ 2013-2014 у.г.)

Задача 1 ( из диагностических работ 2013-2014 у.г.)

Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар. В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

13

14 const N=2014; var a:array[1

const N=2014; var a:array[1

.N] of integer; i,j,k: integer; begin for i:=1 to N do readln(a[i]); … end.

Анализируем условие задачи

Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар.

Объявляем массив A из 2014 элементов. Объявляем целочисленные переменные I, J, k. В цикле от 1 до 2014 вводим элементы массива A с 1-го по 2014-й. …

14

15 const N=2014; var a:array[1

const N=2014; var a:array[1

.N] of integer; i,j,k: integer; begin for i:=1 to N do readln(a[i]); … end.

Инициализируем переменную с ответом, организуем вывод

Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар.

k:=0; for i:= do begin end; If writeln(k);

15

16 const N=2014; var a:array[1

const N=2014; var a:array[1

.N] of integer; i,j,k: integer; begin for i:=1 to N do readln(a[i]); … end.

=0; for i:=1 to N div 2 do begin if (a[i]+a[N-i+1]>20) then k:= k+1; end;

Организуем цикл и проверку условия в нем

Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20.

Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах.

k:=0; … writeln(max);

16

17 Решение на языке Паскаль АВС 3.0.1

Решение на языке Паскаль АВС 3.0.1

k:=0; for i:=1 to N div 2 do begin if (a[i]+a[N-i+1]>20) then k:= k+1; end; writeln(max);

Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар.

const N=2014; var a:array[1..N] of integer; i,j,k: integer; begin for i:=1 to N do readln(a[i]); … end.

17

18 Решение на естественном языке

Решение на естественном языке

Записываем в переменную k начальное значение, равное 0. В цикле с первого элемента по 1007 выполняем проверку элементов массива по следующему условию: Если сумма элемента массива с соответствующим индексом I и индексом, вычисляемым как 2014-i+1, больше 20, то увеличиваем переменную k на 1. Переходим к следующему элементу массива. После завершения цикла выводим значение переменной k.

Объявляем массив A из 2014 элементов. Объявляем целочисленные переменные I, J, k. В цикле от 1 до 2014 вводим элементы массива A с 1-го по 2014-й. …

18

19 Задача 2

Задача 2

const N=30; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 150 до 200 – рост учащихся выпускного класса. В баскетбольную команду входят все учащиеся класса, чей рост не менее 180 сантиметров. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого низкого участника баскетбольной команды. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. …

19

20 const N=30; var a: array [1

const N=30; var a: array [1

.N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

В баскетбольную команду входят все учащиеся класса, чей рост не менее 180 сантиметров. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого низкого участника баскетбольной команды.

min:=200; for i:=1 to N do begin end; writeln(min);

Элементы массива могут принимать значения от 150 до 200 – рост учащихся выпускного класса.

20

21 If (a[i]< min) and (a[i] >=180) then min:=a[i];

If (a[i]< min) and (a[i] >=180) then min:=a[i];

В баскетбольную команду входят все учащиеся класса, чей рост не менее 180 сантиметров. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого низкого участника баскетбольной команды.

const N=30; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

min:=200; for i:=1 to N do begin end; writeln(min);

21

22 min:=200; for i:=1 to N do begin If (a[i]< min) and (a[i] >=180) then

min:=200; for i:=1 to N do begin If (a[i]< min) and (a[i] >=180) then

min:=a[i]; end; writeln(min);

const N=30; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Окончательный вид решения на языке Паскаль АВС 3.0.1

22

23 Окончательный вид решения на естественном языке

Окончательный вид решения на естественном языке

Записываем в переменную min начальное значение, равное 200. В цикле от 1-го элемента до 20-го выполняем проверку каждого элемента массива с соответствующим индексом по следующему условию: Если элемент массива больше или равен 180 и меньше значения переменной min, то переменной min присваиваем значение этого элемента массива. После завершения цикла выводим значение переменной min.

Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. …

23

24 Задача 3

Задача 3

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, не кратных 3. Если в массиве нет элемента, значение которого положительно и не делится на 3, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

24

25 Опишите на естественном языке или на одном из языков программирования

Опишите на естественном языке или на одном из языков программирования

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

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

min:=1001; for i:=1 to N do begin end; if k=1001 then writeln(‘Не найдено’) else writeln(min);

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от -1000 до 1000 включительно.

25

26 If (a[i]< min) and (a[i] >0) and (a[i] mod 3<>0) then min:=a[i];

If (a[i]< min) and (a[i] >0) and (a[i] mod 3<>0) then min:=a[i];

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

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Решение на языке Паскаль АВС 3.0.1

min:=1001; for i:=1 to N do begin end; if k=1001 then writeln(‘Не найдено’) else writeln(min);

26

27 4. Пользуясь предложенной методикой, самостоятельно решим несколько

4. Пользуясь предложенной методикой, самостоятельно решим несколько

задач

27

28 Задача 4 (вариация 3.1)

Задача 4 (вариация 3.1)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, имеющих четное значение. Если в массиве нет элемента, значение которого четно и положительно, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

28

29 Задача 4 (вариация 3.1)

Задача 4 (вариация 3.1)

If (a[i]< min) and (a[i] >0) and (a[i] mod 2=0) then min:=a[i];

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Найти и вывести минимальное значение среди положительных элементов массива, имеющих четное значение.

Решение на языке Паскаль АВС 3.0.1

min:=1001; for i:=1 to N do begin end; if k=1001 then writeln(‘Не найдено’) else writeln(min);

29

30 Задача 5 (вариация 3.2)

Задача 5 (вариация 3.2)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, оканчивающихся на 0. Если в массиве нет элемента, значение которого положительно и оканчивается цифрой 0, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

30

31 Задача 5 (вариация 3.2)

Задача 5 (вариация 3.2)

If (a[i]< min) and (a[i] >0) and (a[i] div 10=0) then min:=a[i];

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Найти и вывести минимальное значение среди положительных элементов массива, оканчивающихся на 0.

Решение на языке Паскаль АВС 3.0.1

min:=1001; for i:=1 to N do begin end; if k=1001 then writeln(‘Не найдено’) else writeln(min);

31

32 Задача 6 (вариация 3.3)

Задача 6 (вариация 3.3)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, кратных 4. Если в массиве нет элемента, значение которого положительно и делится на 4, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

32

33 Задача 6 (вариация 3.3)

Задача 6 (вариация 3.3)

If (a[i]< min) and (a[i] >0) and (a[i] mod 4=0) then min:=a[i];

const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end.

Найти и вывести минимальное значение среди положительных элементов массива, кратных 4.

Решение на языке Паскаль АВС 3.0.1

min:=1001; for i:=1 to N do begin end; if k=1001 then writeln(‘Не найдено’) else writeln(min);

33

34 Задача 7

Задача 7

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от 0 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трехзначных элементов массива, оканчивающихся на 0. Если в массиве нет элемента, являющегося трехзначным числом и при этом оканчивается цифрой 0, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

34

35 Задача 7

Задача 7

If (a[i]> max) and (a[i] >=100) and (a[i] <=999) and (a[i] mod 10=0) then min:=a[i];

const N=20; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); … end.

Найти и вывести максимальное значение среди трехзначных элементов массива, оканчивающихся на 0.

Решение на языке Паскаль АВС 3.0.1

min:=99 for i:=1 to N do begin end; if k=99 then writeln(‘Не найдено’) else writeln(max);

35

36 Задача 8 (вариация 7.1)

Задача 8 (вариация 7.1)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать значения от 0 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди элементов массива, которые имеют четное значение и являются трехзначными. Если в массиве нет элемента, являющегося четным трехзначным числом, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано на примерах.

const N=20; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); … end.

Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, Max. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. …

36

37 Задача 8 (вариация 7.1)

Задача 8 (вариация 7.1)

If (a[i]> max) and (a[i] >=100) and (a[i] <=999) and (a[i] mod 2=0) then min:=a[i];

const N=20; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); … end.

Найти и вывести максимальное значение среди четных трехзначных элементов массива.

Решение на языке Паскаль АВС 3.0.1

min:=99 for i:=1 to N do begin end; if k=99 then writeln(‘Не найдено’) else writeln(max);

37

38 Рассмотрим несколько нетипичных задач С2, размещенных на открытом

Рассмотрим несколько нетипичных задач С2, размещенных на открытом

сегменте ФИПИ

38

39 Задача 9 Опишите на естественном языке или на одном из языков

Задача 9 Опишите на естественном языке или на одном из языков

программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, произведение которых максимально (если таких пар несколько, то можно выбрать любую из них).

39

40 for i:=2 to N-1 do begin If (a[i]*a[i+1]>= pmax) then begin pmax

for i:=2 to N-1 do begin If (a[i]*a[i+1]>= pmax) then begin pmax

=a[i]*a[i+1]; imax:=i; end; end;

const N=30; var a: array [1..N] of integer; i, imax, pmax: integer; begin for i:=1 to N do readln(a[i]); … end.

Поиск номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, произведение которых максимально

pmax:=a[1]*a[2]; imax:=1; writeln(imax);

40

41 Задача 10 Опишите на естественном языке или на одном из языков

Задача 10 Опишите на естественном языке или на одном из языков

программирования алгоритм подсчета максимальной длины последовательности непрерывно возрастающих значений элементов в целочисленном массиве из 30 элементов.

41

42 for i:=1 to N-1 do begin If (a[i]<a[i+1]) then k:=k+1 else begin if

for i:=1 to N-1 do begin If (a[i]<a[i+1]) then k:=k+1 else begin if

k>=lmax then lmax:=k; k:=0; end; end;

const N=30; var a: array [1..N] of integer; i, lmax, j: integer; begin for i:=1 to N do readln(a[i]); … end.

Подсчет максимальной длины последовательности непрерывно возрастающих значений элементов в целочисленном массиве

lmax:=0; k:=0; writeln(lmax);

42

43 Задача 11 Опишите на естественном языке или на одном из языков

Задача 11 Опишите на естественном языке или на одном из языков

программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).

43

44 for i:=1 to N do begin If (a[i]>=0 then b[i]:=a[i]) else b[i]:=-a[i];

for i:=1 to N do begin If (a[i]>=0 then b[i]:=a[i]) else b[i]:=-a[i];

writeln(b[i]); end;

const N=30; var a: array [1..N] of integer; b: array [1..N] of integer; i, : integer; begin for i:=1 to N do readln(a[i]); … end.

Получение из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива

44

45 Задача 12 Опишите на естественном языке или на одном из языков

Задача 12 Опишите на естественном языке или на одном из языков

программирования алгоритм подсчета среднего значения отрицательных элементов в целочисленном массиве из 30 элементов в предположении, что в нем есть хотя бы один отрицательный элемент.

45

46 for i:=1 to N do begin If (a[i]<0 then begin k:=k+1; s:=s+a[i]; end;

for i:=1 to N do begin If (a[i]<0 then begin k:=k+1; s:=s+a[i]; end;

end; srzn:=s/k;

const N=30; var a: array [1..N] of integer; i, k,s : integer; srzn: real; begin for i:=1 to N do readln(a[i]); … end.

Подсчет среднего значения отрицательных элементов в целочисленном массиве из 30 элементов в предположении, что в нем есть хотя бы один отрицательный элемент

k:=0; srzn:=0; writeln(srzn);

46

47 Успехов в подготовке Ваших учащихся и спасибо за внимание

Успехов в подготовке Ваших учащихся и спасибо за внимание

47

«Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль)»
http://900igr.net/prezentacija/informatika/podkhody-k-resheniju-zadach-s2-ege-po-informatike-na-primere-zapisi-programm-na-estestvennom-jazyke-i-jazyke-paskal-170005.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Паскаль > Подходы к решению задач С2 ЕГЭ по информатике (на примере записи программ на естественном языке и языке Паскаль)