Массивы бывают и а также в Турбо Паскале они числовые числовые 1.Определение массивов 2.Этапы решения задач на массивы 3.Задачи на обработку массивов АвторАвтор.

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



Advertisements
Похожие презентации
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
Advertisements

МАССИВЫ Если работа программы связана с хранением и обработкой большого количества однотипных переменных, для их представления в программе можно использовать.
Работа с одномерными массивами Урок информатики 9 кл.
Выполните тест. Задание 1 Задание 2 Задание 3 Найдите правильное описание массива 1. D: array[1..5] of real; 2. Array D: [1..5] of real; 3. D[1..5]:array.
1 Автор разработки: Розанова Татьяна Аркадьевна, учитель информатики МОУ СОШ 2 города Кинешмы Ивановской области 2011 – 2012 учебный год Автор разработки:
Р ЕШЕНИЕ ЗАДАНИЙ С2 Одномерные массивы. 1, 2 …5 номер элемента А имя массива Значения Индексы А[3]=9 Имя массива Индекс Значение Теория по.
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
Массивы Массив – именованный набор с фиксированным количеством однотипных данных Массив одномерный многомерный Общий вид элемента массива (двумерный массив.
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
3. Дана прямоугольная матрица, элементами которой являются целые числа. Поменять местами ее строки следующим образом: первую строку с последней, вторую.
Стандартные алгоритмы обработки массивов в заданиях ОГЭ и ЕГЭ по информатике (на примере заданий 10 КИМ ОГЭ, 25,19 КИМ ЕГЭ) Учитель информатики МАОУ «Лицей.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Чтобы найти максимальный элемент в массиве и потом производить с ним какие-либо действия, нужно узнать его номер (индекс - I). Для этого вначале будем.
Одномерные массивы целых чисел. 9 класс
Программирование на языке Паскаль Массивы. Определение массива Многие задачи, которые решаются с помощью ЭВМ, связаны с обработкой массивов. Массив -
Основные алгоритмы работы с одномерными массивами (поиск и сортировка) 8 класс 1.
Решение задач с использованием одномерных массивов.
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
Двумерные массивы. Массивы Двумерный массив (матрица) – это массивы, положение элементов в которых описывается двумя индексами или прямоугольная таблица,
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Транксрипт:

Массивы бывают и а также в Турбо Паскале они числовые числовые 1. Определение массивов 2. Этапы решения задач на массивы 3. Задачи на обработку массивов Автор Автор презентации

Массивы бывают и а также в Турбо Паскале они числовые Определение массивов Этапы решения задач на массивы Задачи на обработку массивов Горный массив

Массивы бывают и а также в Турбо Паскале они числовые Определение массивов Этапы решения задач на массивы Задачи на обработку массивов Лесной массив

Массивы бывают и а также в Турбо Паскале они числовые Определение массивов Этапы решения задач на массивы Задачи на обработку массивов Жилой массив

Решение задач на массивы состоит из трех основных этапов: 1. Ввод данных ( элементов массива) 2. Обработка элементов массива 3. Вывод результатов

1. С клавиатуры for i:=1 to 7 do begin write('a[', i, ']='); read ( a[i] ); end; 2. С помощью генератора случайных чисел for i:=1 to 10 do begin a[i]:=random(101); {числа от 1 до 100} end; 3. С помощью формулы var b: array [1..10] of integer; i: integer; begin for i:=1 to 10 do b[i]:=i*2; end;

Фрагменты программ на массивы Попробуйте пояснить каждый фрагмент программы k:=0; for i:=1 to n do if a[i] mod 2=0 then k:=k+1 ; t:=a[k1]; a[k1]:=a[k2]; a[k2]:=t. s:=0; for i:=1 to n do if a[i]>0 then s:=s+a[i]; min:=a[1] ; for i:=2 to n do if a[i]<=min then min:=a[i];

а) в столбик: For i:=1 to N do Writeln(a[i]:4:2); б) в строку For i:=1 to N do Write(a[i]:4:2);

Задачи на обработку массивов 1 Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=…… FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END.

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. 10, т.к. количество элементов в массиве равно 10

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. В Паскале после OF пишется тип переменных. В нашем случае он целый-integer,т.к. все элементы массива целые числа

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. К=0, переменная где накапливается количество чисел больших 10. Первоначальное ее значение равно 0

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. 10-цикл с параметром ввода элементов массива; всего 10 элементов

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. Readln(оператор ввода), в скобках пишется (a[i]),где a[i]-элементы массива

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. 10-обработка массива т.е. поиск в цикле элементов больших 10

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. Здесь писать ничего не нужно т.к продолжение этой строки программы ниже, на следующей строчке.

Задачи на обработку массивов Дан массив : А={1;-4;6;56;0;-6;4;23;18;19} Подсчитать сколько элементов массива имеют значение больше 10? ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha1; var A: ARRAY[1.. …… ] OF …… ; i, k: integer; BEGIN K:=……; FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO…… IF A[I]>10 THEN K:=…… ; WRITELN (K=,K); READLN; END. Если найдены элементы больше 10 то их количество увеличивается на 1,т.е изменяется переменная К и в программе надо записать К:=К+1

А вот как выглядит вся программа целиком program zadacha1; var A:ARRAY[1..10] OF integer; I,K: integer; BEGIN K:=0; FOR I:=1 TO 10 DO READLN(A[I]); FOR I:=1 TO 10 DO IF A[I]>10 THEN K:=K+1; WRITELN ('число элементов=',K); READLN; END.

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN (c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END.

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. Тип – вещественный,т.е в Паскале он записывается как real

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. real Max –так обозначен наибольший элемент массива и тип его тоже вещественный, т.е.real

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. В данной задач поиск наибольшего элемента основан на принципе сравнения. Поэтому предположим, что самый больший элемент в массиве – первый, т.е c[1]

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. Далее, начиная со 2-го элемента массива до 9 мы сравниваем 1- элемент, которому придали статус наибольшего со остальными, поэтом у здесь вместо многоточия пишем 9

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. Если в массиве находится элемент больше первого, тогда он будет наибольшем т.е. C[i]>max

Задачи на обработку массивов 2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа) program zadacha2; var С:ARRAY[1.. 8] OF …… ; MAX:......; I: integer; BEGIN FOR I:=1 TO 8 DO READLN(c[i]); MAX:=C[ …… ]; FOR I:= 2 TO …… DO IF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN; END. Наибольшим становится найденный элемент т.е. Max:=c[i]

Одномерный массив

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа В Паскале после OF пишется тип переменных. В нашем случае он вещественный( в записи элементов массива есть 1.5 и 2.5) т.е.real,

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа В Паскале i- номер элемента в данном массиве, который имеет всегда целый тип т.е. integer

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа Сумма элементов в данном массиве будет иметь тип real

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа Первоначальное значение S=0

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа После слова readln (оператор ввода) вводятся элементы массива, поэтом здесь пишем b[i]

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа А здесь писать ничего не надо продолжение на следующей строчке

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа Т.к. надо найти сумму элементов больших 0, то здесь происходит поиск этих элементов в цикле и вместо многоточия пишем b[i]>0

program zadacha3; var B:ARRAY[1.. 10] OF …… ; I: …… S: …… BEGIN S:=…… FOR I:=1 TO 10 DO READLN( …… ); FOR I:=1 TO 10 DO …… IF B[I] …… THEN S:= …… WRITELN ('S=',S:2:2); READLN; END. Задачи на обработку массивов 3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7} найти сумму элементов массива, больших 0. ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа Если найден элемент больше 0, то к сумме добавляется 1, т.е. пишем: S=S+1;

program zadacha3; var B:ARRAY[1..10] OF REAL ; I: INTEGER; S:REAL; BEGIN S:=0; FOR I:=1 TO 10 DO READLN( B[I] ); FOR I:=1 TO 10 DO IF B[I] >0 THEN S=S+1; WRITELN ('S=',S:2:2); READLN; END. А вот как выглядит вся программа целиком

Задание 1 ЕГЭ А6 Дан фрагмент программы, обрабатывающий массив А из n элементов (известно, что в массиве имеются положительные элементы): S:=0; k:=0; for i:=1 to n do if A[i]>0 then begin S:=S+A[i]; k:=k+1; end; S:=S/k; Чему будет равно значение переменной S после выполнения данного алгоритма? A) Среднему значению всех элементов массива А Б) Среднему значению положительных элементов массива А B) Количеству положительных элементов массива А Г) Значению последнего положительного элемента (Правильный ответ и пояснение)Правильный ответ и пояснение)

S:=0;{ сумма равна 0} k:=0; { к –счетчик равен 0 } for i:=l to n do {начало цикла с параметром i от 1 до n} if A[i]>0 then { если элемент положителен, то} begin S:=S+A[i]; {суммируем положительные элементы} k:=k+l; {увеличиваем счетчик найденных элементов} end; S:=S/k;{среднее значение положительных элементов массива А} Правильный ответ :Б

Задание 2 ЕГЭ А6 В программе описан одномерный массив с целочисленными элементами с индексами от 0 до 10. Представлен фрагмент программы, в котором значения элементов сначала задаются, а затем меняются: for i:=0 to 10 do A[i]:=i+1; for i:=1 to 10 do A[i]:=A[i-1]; Как меняются элементы этого массива? А) Все элементы, кроме последнего, сдвигаются на элемент вправо Б) Все элементы, кроме первого, сдвигаются на один элемент влево В) Все элементы окажутся равными 1 Г) Все элементы окажутся равными своему индексу (Правильный ответ и пояснение)

В программе два последовательно расположенных цикла, в первом из которых заполняется массив А. В результате выполнения первого цикла получим массив А Принципиальный момент в данном задании – второй цикл обработки массива. Именно в нем значение нулевого элемента массива (единица) записывается в первый элемент, затем во второй и т.д. Следовательно, все элементы массива после выполнения фрагмента программы будут равны единице Правильный ответ: В A[i] i

Автор презентации : учитель математики и информатики МБОУ СОШ 15 г. Рязани Зотова Марина Анатольевна