Содержание
-
- Подготовка к ЕГЭ по информатике
- Задания части А
- Задания части С
- Использование массивов
- в программах
-
- 1.Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь положительные значения?
- for n:=1 to 100 doA[n]:=n-10;for n:=1 to 100 doB[n]:=A[n]*n;
- Задачи части А
-
- 2.Значения двух массивов A[1..300] и B[1..300] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь отрицательные значения?
- for n:=1 to 300 doA[n]:=100-n;for n:=1 to 300 doB[n]:=2*A[n]+1;
-
- 3.Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Какой элемент массива B будет наибольшим?
- for n:=1 to 100 do
- A[n]:= (n-80)*(n-80);
- for n:=1 to 100 do
- B[101-n]:=A[n];
-
- for n:=1 to 15 do A[n]:=sqr(n);for n:=1 to 15 do
- begin
- if n mod 2<>0
- then А[n]:=sqrt(A[n])
- else A[n]:= A[1];
- end;
- 4.Значения элементов массива A[1..15] задаются с помощью следующего фрагмента программы. Какие значения будут присвоены элементам A[5], A[8]?
- Ответ:
- A[5]=5
- B[8]=1
-
Чему равно значение
- For n:=1 to 5 do
- For k:=1 to 5 do
- B[n,k]:=n+k;
- 6. Чему равно значение В(19,21)?
- For n:=1 to 500 do
- For k:=1 to 500 do
- B[n,k]:=(n+1)*k/2;
- Ответ:
- 6
- Ответ:
- 210
-
- for i:=1 to 4 do
- begin for j:=1 to 4 do
- begin
- if j > 5 div 2
- then A[i,j]:= i
- else A[i,j]:= j - i; end;
- 7.Значения элементов массива A[1..4, 1..4] задаются с помощью фрагмента программы. Какова сумма отрицательных элементов массива?
- Ответ:
- -9
-
- 9.Все элементы массива А размером 4х4 элемента первоначально были равны 0. Затем элементы массива меняются с помощью следующего фрагмента программы. Сколько элементов будут равны 1?
- For n:=1 to 4 do
- For k:=N to 4 do
- begin
- А[n,k]:=1;
- End;
- Ответ:
- 10
-
- 10.Дана квадратная матрица. Что будет являться результатом работы следующего фрагмента программы?
- k:=1
- FOR i:=1 TO n DO
- BEGIN
- c:= A[i,i];
- A[i,i]:= A[k,i];
- A[k,i]:= c;
- END
- Произойдет обмен элементов главной диагонали и элементов первой строки.
-
- 11. Начальные значения элементов массива A[1..5, 1..4] равны нулю. С помощью следующего фрагмента программы элементы массива изменяются. Сколько элементов будут равны нулю?
- for i:=1 to 5 do begin
- for j:=1 to 4 do begin
- if i mod 2 = 0
- then
- A[ i, j ]:= A[ i, j ]+ A[ j, i ]
- else
- A[ i, j ]:= A[ i, j ]- j;
- end;
- end;
- Ответ:
- 5
-
- For n:=1 to 4 do
- for k:=n to 4 do
- begin
- a[ n, k ]:= a[ n, k ]+1;
- a[ k, n ]:= a[ k, n ]+1;
- end;
- 12. Начальные значения элементов массива A[1..10, 1..10] равны нулю.Сколько элементов будут равны единице после выполнения программы?
- Ответ: 12
-
- 13. Начальные значения элементов массива A[1..10, 1..10] равны 1.Сколько элементов будут равны 0 после выполнения программы?
- For n:=1 to 4 do
- For k:=1 to n+1 do
- begin
- a[ n, k ]:= a[ n, k ]-1;
- a[ n, k+1 ]:= a[ n, k ]-1;
- end;
- Ответ: 4
-
- 1. Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна. Если таких пар несколько, то можно выбрать любую из них.
- Задачи части С
- Решение
-
- Program c1;
- const N=30;
- var A: array[1..N] of integer;
- i, nom1, S: integer;
- begin
- For i:=1 to N do readln(A[i]);
- nom1 := 1; {номер первого элемента}
- S := A[1] + A[2];{максимальная сумма}
- For i:=2 to N-1 do
- if A[i]+ A[i+1] > S then
- begin
- nom1 := i;
- S := A[i] + A[i+1];
- end;
- writeln(nom1);
- Readln;
- end.
-
- 2.Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 30 различных элементов.
- Задачи части С
- Решение
-
- Program c2;
- const N=30;
- var a: array [1..N] of integer;
- i, k, max, max2: integer;
- begin
- for i:=1 to N do readln(a[i]);
- if a[1] > a[2] then begin
- max:=a[1]; max2:=a[2]; end
- else begin
- max:=a[2]; max2:=a[1];
- end;
- for i:=3 to N do
- if a[i] > max then begin
- max2 := max; max := a[i]; end
- else
- if a[i] > max2 then max2 := a[i];
- writeln(max2); readln;
- end.
-
- 3.Опишите алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов. Решение запишите в словесной форме или на алгоритмических языках Бейсик или Паскаль.
- Задачи части С
- Решение
-
- Program c3;
- var a:array[1..30] of integer;
- Max, S, i, k: integer;
- Begin
- for i:=1 to 30 do readln(A[i]);
- S:=a[1]+a[2]+a[3];{текущая сумма}
- Max:=S; {максимальная сумма}
- k:=1; {номер первого элемента тройки}
- for i:=2 to 28 do begin
- S:=a[i]+a[i+1]+a[i+2];
- if S >Max then begin
- Max:=S;
- k:=i;
- end;
- end;
- for i:=k to k+2 do
- writeln('A[',I,']=',a[i]); readln;
- end.
-
- 4. Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.
- Решение
- Задачи части С
-
- Program c4;
- var a: array[1..30] of integer;
- i, k, kMax: integer;
- begin
- for i:=1 to 30 do readln(A[i]);
- k := 1; {число элементов в цепочке}
- kMax := 1; {максимум в цепочке}
- for i:=2 to 30 do begin
- if A[i] = A[i-1] then k := k + 1
- else {цепочка закончилась }
- begin if k > kMax then kMax := k;
- k := 1;
- end;
- end;
- if k > kMax then
- kMax := k; {если цепочка стоит в конце}
- writeln(kMax); readln;
- end.
-
- 5. Дан целочисленный массив из 50 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который выводит минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе есть хотя бы один такой учащийся.
- Задачи части С
- Решение
-
- Program c5;
- var a: array[1..50] of integer;
- i, min: integer;
- begin
- for i:=1 to 50 do begin
- write('Введите число из [0, 100]');
- repeat {не пропускаем другие числа}
- readln(A[i]);
- until (A[i]>=0) and (A[i]<=100) ;
- end;
- min := 101; {минимальный балл}
- for i:=1 to 50 do
- if (a[i] >= 20) and (a[i] < min)
- then min := a[i];
- writeln ( min ); Readln;
- end.
-
- 6. Дан прямоугольный массив целых положительных чисел 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.
- Задачи части С
- Решение
-
- Program c6;
- const N=10; M=20;
- var a:array[1..N,1..M] of integer;
- Min, Sum, nMin, i, k: integer;
- Begin{заполнение матрицы N на M…..}
- Sum := 0;
- for k:=1 to M do Sum := Sum + a[1,k];
- Min := Sum; {минимальная сумма в строке}
- nMin := 1; {номер строки с минимальной суммой}
- for i:=2 to N do begin
- Sum := 0;
- for k:=1 to M do Sum := Sum + a[i,k];
- if Sum < Min then begin
- Min := Sum; nMin := i;
- end;
- end;
- write('Номер строки: ', nMin);
- writeln(', еесумма= ', Min );
- Readln;
- end.
-
- 7. Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный.
- Задачи части С
- Решение
-
- Program c7;
- const N=6, M=10;
- var A: array[1..N,1..M] of integer;
- Min, Sum, i, k: integer;
- Begin {заполнение матрицы N на M …..}
- Sum := 0;
- for i:=1 to N do begin
- Min := A[i,1]; {поиск минимума в i-ой строке}
- for k:=2 to M do
- if A[i,k] < Min then Min := A[i,k];
- Sum := Sum + Min;
- end;
- writeln(Sum);
- readln;
- end.
-
- 8. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать любые целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента массива, наименее отличающегося от среднего арифметического всех его элементов.
- Задачи части С
- Решение
-
- Program c8;
- const N=20;
- var a: array [1..N] of integer;
- i, k: integer;
- s, Rmin: real;
- begin
- For i:=1 to N do readln(a[i]);
- s:=0;
- For i:=1 to N do s:=s+a[i];
- s:=s/N; {среднее арифметическое}
- k:=1; {номер искомого элемента}
- Rmin:= abs(a[1]-s); {минимальная разность}
- For i:=2 to N do
- if abs(a[i]-s) < Rmin then begin
- Rmin:= abs(a[i]-s);
- k:=i; end;
- writeln(k);
- end.
-
Источники заданий
- Н. Н. Самылкина, Е.М. Островская. ЕГЭ 2010. Информатика: тренировочные задания. — М.: Эксмо, 2009.
- С.С. Крылов, Д.М. Ушаков. Отличник ЕГЭ. Информатика. Решение сложных задач. /ФИПИ — М.: Интеллект-центр, 2010.
- П.А. Якушкин, Д.М. Ушаков. Самое полное издание типовых вариантов реальных заданий ЕГЭ 2010. Информатика. — М.: Астрель, 2009.
- О.В. Ярцева, Е.Н. Цикина. ЕГЭ-2009. Информатика. Самые новые задания. – М.: АСТ: Астрель, 2009.
- Евграфова Ольга Владимировна,
- учитель информатикиМОУ гимназии №8
- г.о. Коломна Московской области
Посмотреть все слайды
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.