Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемКирилл Боровитинов
1 Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25
2 2 Массивы (вектора) Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Особенности: все элементы имеют один тип весь массив имеет одно имя все элементы расположены в памяти рядом Примеры: список учеников в классе квартиры в доме школы в городе данные о температуре воздуха за год
3 3 Массивы A НОМЕР элемента массива (ИНДЕКС) НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] A[2] НОМЕР (ИНДЕКС) элемента массива: 2 ЗНАЧЕНИЕ элемента массива: 10
4 4 Объявление массивов Зачем объявлять? определить имя массива определить тип массива определить число элементов выделить место в памяти Массив целых чисел: Размер через константу: имя начальный индекс конечный индекс тип элементов тип элементов var A: array[1.. ] of integer; const N=5; N var A : array[ ] of integer ;
5 Стандартные алгоритмы обработки одномерных массивов
6 1. Найти сумму элементов массива Program Summa; Const N = 20; Var i, S:integer; A: array [1..N] of integer; Begin {Ввод массива} for i:=1 to N do Readln (A[i]); {Обработка массива} S:=0; for i:=1 to N do S:=S+A[i]; {Вывод результата} Write (S); End. Program Summa; Const N = 20; Var i, S:integer; A: array [1..N] of integer; Begin {Ввод массива} for i:=1 to N do Readln (A[i]); {Обработка массива} S:=0; for i:=1 to N do S:=S+A[i]; {Вывод результата} Write (S); End.
7 2. Найти произведение элементов массива (*) P:=1; for i:=1 to N do P:=P*A[i]; Write (P); End. (*) P:=1; for i:=1 to N do P:=P*A[i]; Write (P); End.
8 3. Найти среднее арифметическое элементов массива (*) S:=0; for i:=1 to N do S:=S+A[i]; S:=S/N; Write (S); End. (*) S:=0; for i:=1 to N do S:=S+A[i]; S:=S/N; Write (S); End.
9 4. Найти сумму положительных элементов массива (*) S:=0; for i:=1 to N do if A[i]>0 then S:=S+A[i]; Write (S); End. (*) S:=0; for i:=1 to N do if A[i]>0 then S:=S+A[i]; Write (S); End.
10 5. Найти количество отрицательных элементов массива (*) k:=0; for i:=1 to N do if A[i]<0 then k:=k+1; Write (k); End. (*) k:=0; for i:=1 to N do if A[i]<0 then k:=k+1; Write (k); End.
11 6. Найти среднее арифметическое четных элементов массива (*) S:=0; k:= 0; for i:=1 to N do if A[i] mod 2=0 then begin k:=k+1; S:=S+A[i]; end; S:=S/k; Write (S); End. (*) S:=0; k:= 0; for i:=1 to N do if A[i] mod 2=0 then begin k:=k+1; S:=S+A[i]; end; S:=S/k; Write (S); End.
12 7. Найти максимальный элемент массива (*) max:=A[1]; for i:=1 to N do if A[i]>max then max:=A[i]; Write (max); End. (*) max:=A[1]; for i:=1 to N do if A[i]>max then max:=A[i]; Write (max); End.
13
8. Найти минимальный элемент массива и его номер. (*) min:=A[1]; imin:= 1; for i:=1 to N do if A[i]
14 C2 (высокий уровень, время – 30 мин) Тема: Обработка массива (написать программу из строк на языке программирования или алгоритм на естественном языке). Что нужно знать: массив – это набор однотипных элементов, имеющих общее имя и расположенных в памяти рядом; для обращения к элементу массива используют квадратные скобки, запись A[i] обозначает элемент массива A с номером (индексом) i; для обработки всех элементов массива используется цикл вида for i:=1 to N do begin { что-то делаем с элементом A[i] } end; переменная i обозначает номер текущего элемента массива, она меняется от 1 до N с шагом 1, то есть мы «проходим» последовательно все элементы;
15 Задание 25 (С2) С2. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «Не найдено». Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
16 В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке). 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.
17 Задание 19 (А12) (повышенный уровень, время – 5 мин) Массив A одномерный; в программе рассматривается его фрагмент, соответствующий значениям индекса от 1 до n. J := 1; for i:=1 to n do begin if A[i]
18 Чему будет равно значение переменной s после выполнения данного фрагмента программы? 1)минимальному элементу в массиве A 2)индексу минимального элемента в массиве A (наименьшему из таких индексов, если минимальных элементов несколько) 3)индексу минимального элемента в массиве A (наибольшему из таких индексов, если минимальных элементов несколько) 4) количеству элементов, равных минимальному в массиве A
19 Задание 20 (В8) (повышенный уровень, время – 5 мин) Тема: Анализ программы, содержащей подпрограммы, циклы и ветвления. Ниже на четырех языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 13, а потом 5. var x, a, b, c: integer; begin readln(x); a:=0; b:=10; while x > 0 do begin c := x mod 10; a := a + c; if c < b then b := c; x := x div 10; end; writeln(a); write(b); end.
20
Задание 21 (В14) (повышенный уровень, время – 6 мин.) Тема: Анализ программы с подпрограммами Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма var a,b,t,M,R : integer; Function F(x: integer): integer; begin F:= 2*(x*x-16)*(x*x-16)+5; end; begin a:=-11; b:=11; M:=a; R:=F(a); for t:= a to b do begin if (F(t)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.