Основы алгоритмизации Тема: «Алгоритмы и программы». Подготовка к ЕГЭ.

Презентация:



Advertisements
Похожие презентации
Э Школа 58 Тест Программирование. Массивы. Е Г Регистрация Школа 58 В среде Internet Explorer слайды разверните во весь экран! Обратный просмотр слайдов.
Advertisements

Двумерные массивы. Задачи обработки двумерных массивов.
1. Чем двумерный массив отличается от одномерного? 2. Что означает запись: а) А(2,3); б) В(I,J)=5; в) В (G,N) при G=5, N=4. 3. Что такое матрица? 4. Какая.
Например: семейство бабочек; Понятие одномерного массива поле цветов;
Одномерные массивы. Массив - это упорядоченная последовательность данных одного типа, объединенных под одним именем. Проще всего представить себе массив.
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
МАТРИЦЫ. var b: array [1..3,1..5] of real; i,j: integer; var a: array [1..4,1..4] of integer; i,j: integer; var C: array [1..4,1..7] of real; i,j: real;
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
В-1 Описать двумерный массив с именем ХХ1, размерностью 7х12, все элементы целого типа XX1:array[1..7,1..12] of integer;
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Двумерные массивы. В математике часто используют многомерные массивы, т.е. массивы массивов. Особенно широкое распространение получили двумерные массивы.
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
Транксрипт:

Основы алгоритмизации Тема: «Алгоритмы и программы». Подготовка к ЕГЭ

Подготовка к ЕГЭ Задания ЕГЭ: «Определение значений переменных после выполнения фрагментов алгоритмов и программ» Требования. Учащиеся должны: владеть понятием алгоритм, знать их виды и свойства, способы описания алгоритмов, уметь по заданному алгоритму определить его вид, что он делает и результат его выполнения.

Пример: (демо-версия 2006). Значения двумерного массива размера 77 задаются с помощью вложенного оператора цикла в представленном фрагменте программы Паскаль for n:=1 to 7 do for k:=1 to 7 do B[n, k]:=k–n; Алгоритмический язык нц для n от 1 до 7 нц для k от 1 до 7 B[n, k]=k–n кц Бейсик FOR n=1 TO 7 FOR k=1 TO 7 B(n, k)=k–n NEXT k NEXT n Сколько элементов массива будут иметь положительные значения? 1)49 2)28 3)21 4)7

КnКn КnКn Паскаль for n:=1 to 7 do for k:=1 to 7 do B[n, k]:=k–n; Количество положительных элементов: (n*k-n)/2, при условии n=k. Для n=7, 49-7/2=21 Для n=k: B[n, k]=k–n=0 Для k>n: B[n, k] ?? 0

n, k, S n:=1 to 7 k:=1 to 7 B [n, k]:=k- n If B [n, k] >0 S:=S+1 S конец начало Алгоритм

Program massiv; var K, N, S: integer; B:array[0..100,0..100] of integer; begin for n:=1 to 7 do for k:=1 to 7 do begin B[n, k]:=k–n; writeln(B[n, k]:4); if B[n, k ] >0 then s:=s+1; end; Writeln; end; writeln(s=,s) Readln; end. Паскаль for n:=1 to 7 do for k:=1 to 7 do B[n, k]:=k–n; Значения двумерного массива размера 77 задаются с помощью вложенного оператора цикла в представленном фрагменте программы.Сколько элементов массива будут иметь положительные значения? КnКn Для n=k: B[n, k]=k–n=0 Для k>n: B[n, k] > 0 Для k

Пример: (демо-версия 2007). Значения двух массивов А[1..100] и В[1..100] задаются с помощью следующего фрагмента программы Паскаль FOR n=1 TO 100 do А[n]:=n-10; FOR n=1 TO 100 do B[n]:=А[n]* n; Алгоритмический язык нц для n от 1 до 100 А(n)=n-10 кц нц для n от 1 до 100 B(n)=А(n)* n кц Бейсик FOR n=1 TO 100 А(n)=n-10 NEXT n FOR n=1 TO 100 B(n)=А(n)* n NEXT n Сколько элементов массива будут иметь положительные значения? 1)10 2)50 3)90 4)100

Рассмотрим два одномерных массива, которые представим в виде таблиц. Предполагаем, что элементы А(n) и B(n)>0 для n>10. Элемент А(n) значение 1A(1)1-10=-9 2A( 2) 3A( 3) 4A( 4 ) 5A( 5 ) 6A( 6 ) 7A( 7 ) 8A( 8 ) 9A( 9 ) 10A( 10 ) 11A( 11 ) 12A( 12 ) 13A( 13 ) 14 Элемент В(n) значение 1В( 1 )-9*1=-9 2В( 2 ) 3В( 3 ) 4В( 4 ) 5В( 5 ) 6В( 6 ) 7В( 7 ) 8В( 8 ) 9В( 9 ) 10В( 10 ) 11В( 11 ) 12В( 12 ) 13В( 13 ) 14 FOR n=1 TO 100 А[n]:=n-10; FOR n=1 TO 100 B[n]:=А[n]* n; Элемент А(n) значение 1A(1)1-10=-9 2A( 2)-8 3A( 3)-7 4A( 4 )-6 5A( 5 )-5 6A( 6 )-4 7A( 7 )-3 8A( 8 )-2 9A( 9 ) 10A( 10 )0 11A( 11 )1 12A( 12 )2 13A( 13 )3 14 Элемент В(n) значение 1В( 1 )-9*1=-9 2В( 2 )-8*2=-16 3В( 3 )-21 4В( 4 )-24 5В( 5 )-25 6В( 6 )-24 7В( 7 )-21 8В( 8 )-16 9В( 9 )-9 10В( 10 )0 11В( 11 )11 12В( 12 )24 13В( 13 )39 14

Анализ решения Из разобранных фрагментов заполнения массива видно, что начиная с B(11), массив В будет заполняться положительными элементами. Массив В будет содержать 100 чисел, из которых 9 будут отрицательными, 90 – положительными и одно значение будет нулевым. Ответ: 3 FOR n=1 TO 100 do А[n]:=n-10; FOR n=1 TO 100 do B[n]:=А[n]* n; Сколько элементов массива будут иметь положительные значения? 1)10 2)50 3)90 4)100

Пример: (демо-версия 2008). Значения двух массивов А[1..100] и В[1..100] задаются с помощью следующего фрагмента программы Паскаль FOR n=1 TO 100 do А[n]:=(n-80)*(n-80); FOR n=1 TO 100 do B[101-n]:=А[n]; Алгоритмический язык нц для n от 1 до 100 А(n)=(n-80)*(n-80) кц нц для n от 1 до 100 B[101-n]:=А[n]; кц Какой элемент массива В будет наибольшим? 1) В[1]; 2) В[21]; 3)В[80]; 4)В[100];

Анализ решения Рассмотрим как будут заполняться ячейки массивов А и В. Сначала заполняются ячейки массива А: FOR n=1 TO 100 do А[n]:=(n-80)*(n-80); A[1]=(-79)*(-79)=6241; A[2]=(-78)*(-78)=6084…. A[100]=(100-80)*(100-80)=20*20=400 Во втором цикле ячейки массива B: FOR n=1 TO 100 do B[101-n]:=А[n]; Элементу B[100] присваивается значение А[1] =6241. Элементу B[99] присваивается значение А[2] =6084…. Элементу B[1] присваивается значение А[100] =400. Паскаль FOR n=1 TO 100 do А[n]:=(n-80)*(n-80); FOR n=1 TO 100 do B[101-n]:=А[n]; Ответ: 4 Какой элемент массива В будет наибольшим? 1) В[1]; 2) В[21]; 3)В[80]; 4)В[100];

Пример: (демо-версия 2009). Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n. Бейсик k = 1 FOR i = 1 TO n c = A(i,i) A(i,i) = A(k,i) A(k,i) = c NEXT i Паскаль k:=1; for i:=1 to n do begin c:=A[i,i]; A[i,i]:=A[k,i]; A[k,i]:=c end Алгоритмический k:=1 нц для i от 1 до n c:=A[i,i] A[i,i]:=A[k,i] A[k,i]:=c кц Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами 1) два столбца в таблице 2) две строки в таблице 3) элементы диагонали и k-ой строки таблицы 4) элементы диагонали и k-го столбца таблицы Анализируя ответы, предполагаем, что меняться может диагональный элемент А(i,i),(i=j) и элемент cтроки А(i,j).

JiJi Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами 1) два столбца в таблице 2) две строки в таблице 3) элементы диагонали и k-ой строки таблицы 4) элементы диагонали и k-го столбца таблицы k:=1; for i:=1 to n do begin c:=A[i,i]; A[i,i]:=A[k,i]; A[k,i]:=c end kicA[i,i]:=A[k,i];A[k,i] ]:=c 113 A[1,1] =3 25 A[2,2]=A[1,2]=4A[1,2]= kicA[i,i]:=A[k,i];A[k,i] ]:=c 113 A[1,1] =3 25 A[2,2]=A[1,2]=4A[1,2]=5 37 A[3,3]=A[1,3]=8A[1,3]=7 45 A[4,4]=A[1,4]=9A[1,4]= Предполагаем, что массив заполнен числами случайным образом.