Презентации к урокам по теме "Массивы"
презентация к уроку по информатике и икт
В презентации объясняется, как работать с одномерными массивами в Паскале:
- Понятие массива и его свойства
- Ввод и вывод массива
- Операции обработки одномерных массивов
Скачать:
Вложение | Размер |
---|---|
massivy_isakovanl_408.ppt | 1.62 МБ |
Предварительный просмотр:
Подписи к слайдам:
В практической деятельности человека часто используются таблицы и списки Иванов Петров Сидоров Кошкин Мышкин 1 2 3 4 5 6 7 8 9 10 1 1 2 3 4 5 6 7 8 9 10 2 2 4 6 8 10 12 14 16 18 20 3 3 6 9 12 15 18 21 24 27 30 4 4 8 12 16 20 24 28 32 36 40 5 5 10 15 20 25 30 35 40 45 50 Элементы списков (строки и столбцы) всегда нумеруются 1 2 3 4 5 6 7 … 30 31 10 0 12 0 14 0 16 0 12 0 14 0 15 0 12 0 18 0 Например: Список среднесуточной температуры месяца Список учеников в журнале Таблица умножения В языках программирования подобные типы данных описываются с помощью массивов
Каждое значение в массиве называется элементом Массив – это набор однородных данных (чисел, символов, слов), имеющий имя, последовательную нумерацию его элементов и расположенных в памяти рядом . . (это набор однотипных данных, к которым можно обратиться с помощью единственного имени) Номер элемента в списке называется индексом 56 10 6 12 22 76 10 Массив А : 1 2 3 4 5 6 7 Особенности: все элементы имеют один тип весь массив имеет одно имя все элементы расположены в памяти рядом элемент Индекс
A [ 4 ] := 12 ; Имя массива Индекс (порядковый номер) элемента массива Значение элемента массива Обращение к элементу массива К элементу массива можно обращаться с помощью индекса. путем указания имени массива и индекса этого элемента в [ ] Элементы массивов используются в выражениях также, как и обычные переменные: F [3] := F [2] *2; Name [15] := ‘ Иванов ‘; Sum:=Sum + Temperature [10];
Этапы работы с массивами Объявление массива в разделе описания переменных Заполнение массива Преобразование массива (действия с элементами массива) Вывод массива или отдельных данных
Var имя : ARRAY[1.. N ] OF тип ; Объявление массива в разделе описания переменных Например: Var A: Array[1..10] of Integer; Var Tem: Array[1..100] of Real ; Имя массива Количество элементов Тип элементов Const m=10; Var a : array [1.. m] of integer ; Количество элементов можно описать в разделе констант Var N:Array ['A'..'Z'] of Integer; Var R:Array [-20..20] of Real; Сonst a :array[1..5] of I nteger = (3,-2,1,4,3); Массив констант Индексы символьного типа Другой диапазон индексов
а ) в столбик: For i:=1 to N do Writeln(a[i]); б ) в строку For i:=1 to N do Write(a[i]); Вывод массива 8
Способы ввода данных в массив С заранее известными элементами С клавиатуры С помощью генератора случайных чисел С помощью вычисления элементов
ЗАПОЛНЕНИЕ МАССИВА заранее известными значениями program days; var day:array[1..7] of string[11]; i:integer; begin day[1]:=' Понедельник '; day[2]:=' Вторник '; day[3]:=' Среда '; day[4]:=' Четверг '; day[5]:=' Пятница '; day[6]:=' Суббота '; day[7]:=' Воскресенье '; for i:=1 to 7 do writeln(i,' ',day[i]); end. Объявление массива Заполнение массива Вывод массива
Заполнение массива с клавиатуры For i :=1 to N do begin Write(' a [ ' , i , ' ] = ' ); ReadLn ( a [ i ] ); End; i , 1, N Ввод a i
Заполнение массива с клавиатуры {вывод массива на экран } For i := 1 to N do Write(A[i]); Объявление массива Program M2; Const N=7 ; var A:array[1..N] of Integer; i : Integer; Begin End. For i := 1 to N dо {цикл по элементам массива} begin Write('A [ ', i , ' ] = '); ReadLn(A[i]) {ввод элементов массива} end; Заполнение массива Вывод массива на экран
Заполнение массива случайными числами. For i:=1 to N do begin a[i]:=Random(A); WriteLn(a[i]); End; m[i] := RANDOM ( А ) случайное число из интервала [0; А) m[i] :=RANDOM(B-A)+A; случайное число из интервала [A ; B ) m[i] :=RANDOM(B-A+1)+A; случайное число из интервала [A ; B]
Заполнение массива случайными числами Program M3; Const N=7; var A:array[1..N] of Integer; I: Integer; Begin For i := 1 to N dо A[i]:=Random(15); For i := 1 to N do Write(A[i]); End. Объявление массива Заполнение массива Вывод массива на экран
Заполнение массива при помощи вычислений a[1]:= 3 ; Writeln(a[1]); For i:=2 to N do begin a[i]:=a[i-1] + 2; Writeln(a[i]:5); End;
Задача. Заполнить массив из 10 элементов случайными числами из интервала от -10 до 10, вывести на экран, а затем увеличить каждый элемент массива на 1 и повторно вывести на экран. Program vivod; var A:array [1..10] of integer; i:integer; Begin for i:=1 to 10 do begin a[i]:= random(2 1 )-10; write(a[i]:5); { Оператор вывода без LN , вывод осуществляется в строку } { Пустой оператор вывода с LN , когда первая строка закончена, переход на вторую } end; writeln; for i:=1 to 10 do begin a[i]:=a[i]+1; write(a[i] :5); end; end.
Составить программу заполняющую массив из 10 элементов, числовой последовательностью: 1,4,9,16… (где A i = i 2 ) Program n 2 ; var a:array[1..10] of integer; i:integer; Begin for i:=1 to 10 do Begin a[i]:=i*i; write(a[i]:5); end; end. Значение элемента массива зависит только от порядкового номера
Задание Заполните массив элементами арифметической прогрессии. Ее первый элемент и разность нужно ввести с клавиатуры. Заполните массив степенями числа 2 (от 2 1 до 2 N )
Обработка элементов согласно условию Нахождение суммы, произведения, количества компонентов, удовлетворяющих условию Максимальный, минимальный элементы. Обработка массива
Изменение элементов массива удовлетворяющих условию For i:=1 to N do If ( условие ) then a[i]:= значение : Условия: a [ i ] > 0 – положительный элемент массива a [ i ] Mod 2 = 0 – четный элемент массива a [ i ] = int(a [ i ]) – целый элемент массива a [ i ] = i – элемент массива равен своему порядковому номеру i Mod 2 = 0 – четные порядковые номера a [ i ] = К – элемент массива равный числу К (x >= 10) and (x < 100) - д ву х значное число Изменения: a [ i ] :=5 – заменить i- ый элемент на число 5 a [ i ] := - a [ i ] – заменить i- ый элемент на противоположный по знаку a [ i ] := a [ i ] * 2 – удвоить каждый элемент массива
Program Poisk; Var i, x , c : integer; A : array [1..20] of integer; B egin Randomize; Write ('Введите X '); readln (x); c:= 0 ; For i:=1 to 20 do begin a[i]:=random( 5 0); writeln(A[i]); if a[i]=x then c:= 1 ; end; if c=1 then writeln ( ‘ Массив содержит число ’, x ) else writeln ( ‘ Массив не содержит число ’, x ); end. Задача Определить, содержит ли массив A[1..20] случайных чисел число Х, введенное с клавиатуры.
Заполните массив А (10) случайными числами в диапазоне 0..1000 и выведите на экран все двухзначные числа массива Заполните массив случайными числами в диапазоне 20..100 и выведите отдельно числа с четными и нечетными значениями Сформировать массив простых множителей заданного числа Задание
Вычисление суммы элементов массива S:=0 For i:=1 to N do s:=s+a[i] Суммирование элементов массива осуществляется за счет поочередного добавления слагаемых S=0 S=0 S=s+a[1] S=0+a[1] S=s+a[2] S=0+a[1] +a[2] S=s+a[3] S=0+a[1] +a[2] +a[3] … … S=s+a[3] S=0+a[1] +a[2] +a[3]+…+a[10] Sum:=0 i:=1, 5 Sum:=sum+m[i]
Вычисление суммы элементов массива Написать программу, которая сначала должна обеспечить ввод 5 чисел в одномерный массив, затем вычислить их сумму и вывести ее на экран. Program Sum_mas; Var i: integer; Sum : real; M : array [1.. 5 ] of Real; Begin For i:=1 to 5 do Begin write ('m[',i,']='); readln(m[i]); end; sum:=0; For i:=1 to 5 do Sum:=sum+m[i]; Writeln ('Sum=',sum:6:2); end.
Вычисление среднего арифметического значения элементов массива Program Sr_arif; Const N=10 Var i: integer; S: real; m : array [1..N] of Integer; Begin For i:=1 to N do m[i]:=random(100); S:=0; For i:=1 to N do S:=s+m[i]; S:=S/N Writeln ('Srednee=',S); end.
Нахождение суммы элементов массива удовлетворяющих условию: s:=0; For i:=1 to N do If ( условие ) then s:=s+ a[i]; WriteLn (' Сумма = ', s); Предполагаем, что сумма равна нулю Если элемент подходит по условию, добавляем его к сумме Нахождение произведения элементов массива удовлетворяющих условию: p:=1; For i:=1 to N do If ( условие ) then p:=p* a[i]; WriteLn(' Произведение = ', p); Если элемент подходит по условию, добавляем его к произведению Предполагаем, что произведение равно единице
Вычисление суммы элементов массива Заполните массив М(10) случайными числами в диапазоне 1..100 и вычислите сумму элементов, значения которых кратны 3 Program Sum_mas 2 ; Var i: integer; Sum : real; m : array [1.. 10 ] of Real; Begin For i:=1 to 10 do Begin Random (100) writeln (m[i]); end; sum:=0; For i:=1 to 10 do if (m[i] mod 3) = 0 then Sum:=sum+m[i]; Writeln ('Sum=',sum); end. Sum:=sum+m[i] Вывести Sum Конец i:=1, 10 Начало i:=1, 10 Ввести m[i] Sum:=0 (m[i] mod 3) = 0 нет да
Заполните массив случайными числами в диапазоне 20..100 и вычислите отдельно сумму элементов с четными и нечетными значениями Заполните массив случайными числами в диапазоне - 20.. 20 и вычислите сумму элементов с отрицательными значениями Задание
Подсчет количества элементов удовлетворяющих условию: k:=0; For i:=1 to N do If ( условие ) then k:=k+1; WriteLn ( ' Кол-во= ' , k ); Предполагаем, что таких элементов нет Если такой элемент есть, то К увеличиваем на 1
Определить количество четных элементов массива program lab; var i, k: integer; A: array[1..10] of integer; begin randomize; for i := 1 to 10 do A[i] := random( 50 ); for i := 1 to 10 do write(A[i]: 4 ); writeln; k := 0; for i := 1 to 10 do if A[i] mod 2 = 0 then k:k+1; writeln(' Четных = ', k); end. k:=k+1 Вывести k Конец i:=1, 10 Начало i:=1, 10 Ввести А [i] k:=0 A[i] mod 2 = 0 нет да
Дан массив М(10), заполненный случайными числами в диапазоне - 5 0 .. 50 и подсчитать среднее значение элементов, которые располагаются в интервале от -15 до 20
Заполните массив случайными числами в диапазоне 20..100 и подсчитайте отдельно число элементов с четными и нечетными значениями Написать программу, которая определяет, сколько раз в массиве случайных чисел A[1 ..100 ] встречается число Х, введенное с клавиатуры. Задание
Заполните массив случайными числами в диапазоне 0..100 и подсчитайте отдельно среднее значение всех элементов, меньших 50, и среднее значение всех элементов, которые больше или равны 50 Написать программу, которая вычисляет среднее арифметическое ненулевых элементов массива М [1 ..100 ] , элементы которого вычисляются по формуле: М [i]=sin(i)*cos(i) Задание
Нахождение максимального элемента в массиве и его номера max:=a[1]; k:=1; for i:=2 to N do if (a[i]>max) then Begin max:=a[i]; k:=i; end; WriteLn(‘Max=’,max:); WriteLn(‘ Номер =’,k); { Предполагаем, что наибольший элемент стоит на первом месте } { Если находится больший элемент } { Он становится максимальным } { выводим наибольший элемент и его номер }
program MAX_N; const N=10; var A:array[1..N] of integer; J,Max:integer; begin for J:=1 to N do begin A[J]:=random(100); writeln(A[J]); end; Max:= A[1]; for J:=2 to N do begin if A[J]>Max then Max:=A[J]; end; writeln(' Максимальный элемент =', Max); end. Поиск максимального элемента в массиве
m ax:= 1; for i:=2 to N do if a [i] > a [ m ax] then m ax:=i; { Если i- ый элемент больше стоящего на месте max то, запоминаем его индекс в переменной max} writeln('Максимальный элемент ',а[ m ax]); writeln( ' Его номер ', Max); Иногда в задаче достаточно определить индекс наибольшего элемента { Предполагаем, что наибольший элемент стоит на первом месте }
program listing_3_6; const N=10; var A:array[1..N] of integer; J,Jmax,Jmin,Max,Min:integer; begin for J:=1 to N do A[J]:=random(100); Max:= A[1]; Min:= A[1]; Jmax:=1; Jmin:=1; for J:=2 to N do begin if A[J]>Max then begin Max:=A[J]; Jmax:=J; end; if A[J] program listing_3_15; const N=30; var A:array[1..N] of integer; J:integer; begin for J:=1 to N do A[J]:=random(100); for J:=1 to N do begin if (A[J] Mod 4) = 0 then writeln(J); end; end. Нахождение индексов элементов массива кратных 4 Вывести j Конец i:=1, 10 Начало i:=1, 30 Ввод А [i] A[j] mod 4 = 0 нет да Program Max_mas; Var i:integer; max: real; A : array [1..10] of real; B egin For i:=1 to 10 do begin a[i]:=sin(i)*sqr(i); writeln(A[i]:8:3); end; max:=A[1]; For i:=2 to 10 do if a[i]> max then max:=a[i]; writeln; writeln ('max=', max:8:3); readln; end. Заполнить массив значениями, вычисляемыми по формуле: a[i]:=sin i * i2 Вывести элементы этого массива на экран компьютера и найти максимальное значение среди них. Разбор задачи C2 (демо ЕГЭ 2011) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Гарантируется, что в исходном массиве хотя бы один элемент имеет нечетное значение. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Паскаль const N=30; var a: array [1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do readln(a[i]); … end. C2 Работа с массивом: нахождение среднего арифметического элементов массива, которые удовлетворяют некоторым условиям (четность\нечетность). const N=30; var a: array [1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do readln(a[i]); end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, X, Y. Объявляем вещественную переменную S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. Записываем в переменные X и Y начальное значение, равное нулю. В цикле от первого элемента до тридцатого находим остаток от деления элемента исходного массива на два. Если этот остаток равен единице, то увеличиваем счетчик суммы X на значение текущего элемента массива, а счетчик количества Y на 1. Переходим к следующему элементу. После цикла производим деление счетчика суммы X на счетчик количества Y и записываем результат в переменную S. Выводим значение переменной S. Решение: x:=0; y:=0; for i:=1 to N do begin if (a[i] mod 2=1) then begin x:=x+a[i]; y:=y+1; end; end; s:=x/y; writeln(s); C2 Работа с массивом: нахождение минимального значения среди элементов массива, которые удовлетворяют некоторым условиям (четность\нечетность, кратность). Разбор задачи C2 (демо ЕГЭ 2012) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 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. 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:=1000; for i:=1 to N do begin if (a[i] mod 2=0) and (a[i] mod 3<>0) and (a[i] C2 Работа с массивом: нахождение произведения элементов массива, которые удовлетворяют некоторым условиям (четность\нечетность, кратность). Разбор задачи C2 (демо ЕГЭ 2013) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют нечётное значение и делятся на 3. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого нечётно и кратно 3 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных. Паскаль const N=30; var a: array [1..N] of longint; i, j, p: longint; begin for i := 1 to N do readln(a[i]); … end. const N=30; var a: array [1..N] of longint; i, j, p: longint; begin for i := 1 to N do readln(a[i]); end. Решение: p := 1; for i := 1 to N do if (a[i] mod 2<>0) and (a[i] mod3=0) then p := p * a[i]; writeln(p); Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, P. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. Записываем в P (произведение элементов массива) значение, равное 1. В цикле от 1-го до 30-го элемента ищем числа, которые являются нечетными (остаток от деления элемента массива на 2 не равен 0) и кратны 3-м (остаток от деления на 3 равен 0). Если в очередном проходе цикла находим такое число, то тогда считаем произведение данного элемента массива и значения переменной P. Результат сохраняем в переменную P. Переходим к следующему элементу массива. Когда цикл завершается, выводится значение переменной P C2 Работа с массивом: нахождение максимального элемента массива, которые удовлетворяют некоторым условиям (четность\нечетность, кратность). Разбор задачи C2 (демо ЕГЭ 2014) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «Не найдено». Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль 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. 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. Решение: max := 99; for i := 1 to N do if (a[i]>=100) and (a[i]<=998) and (a[i] mod 9<>0) and (a[i]>max) then max := a[i]; if max > 99 then writeln(max) else writeln(Не найдено); Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, MAX.В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. Записываем в переменную MAX начальное значение, равное 99. В цикле от 1-ого элемента до 20-ого находим остаток от деления элемента исходного массива на 9. Если значение данного остатка не равно 0 и значение текущего элемента массива больше 99 и меньше 1000, то сравниваем значение текущего элемента массива со значением переменной MAX. Если текущий элемент массива больше MAX, то записываем в MAX значение этого элемента массива. Переходим к следующему элементу. После завершения цикла проверяем значение переменной MAX. Если оно больше 99,то выводим его, иначе выводим сообщение «Не найдено» Источники https://kpolyakov.spb.ru/school/probook/slides.htm http://infoegehelp.ru/index.php?option=com_content&view=article&id=84:2011-12-20-19-29-50&catid=46:2011-12-18-16-51-00&Itemid=67 http://ege-go.ru/
По теме: методические разработки, презентации и конспекты
Презентация к уроку "Обобщение по теме презентации"
Урок – деловая игра «Работа с пакетом презентаций Power Point». В ходе урока организовано повторение материала "электронные таблицы" с использованием КИМов, повторение технологи...
Презентация к уроку по физкультуре по теме: Презентация к уроку по предмету: "Физическая культура" на тему: "Физические качества" для учащихся 5-9 классов
В презентации рассматриваются определение, виды и характеристика физических качеств....
Презентация к уроку алгебры в 8 классе по теме "Квадратные уравнения" Презентация к уроку "Действительные числа"
Презентация к уроку объяснения нового материала по теме "Определение квадратных уравнений" Урок 8 класс.Презентация к уроку закрепления по теме "Действительные числа" в 8 классе....
ФГОС ООО: второе поколение, презентация для учащихся, презентация конструкта урока, технологическая карта урока математики 6 класс.
Технологическая карта урока по теме " Решение уравнений" 6 кл. содержит: цели, задачи, планируемые результаты УУД, дидактическую структуру урока. Данная карта позволяет определить деятельность учителя...
Разработка урока и презентации к уроку. Тема программы: Огневая подготовка, тема урока: "История создания АК-47, неполная разборка и сборка автомата", тема презентаций:"История АК - 47" и "АК - 47 составные части"
При создании электронной потемной папки мною был собран материал по теме программы "Огневая подготовка", переработав который у меня получилась разработка урока "История создания АК-47, неполная разбор...
Урок русского языка + презентация по теме "Имя числительное" для 6 класса (презентация к уроку по русскому языку)
Целью данного урока является формирование умений опознаватьчислительные в речи, отличать их от омонимичных частей речи по значению, грамматическим признакам и строению; грамотно их писать, соблюдать н...