Подведение итогов г. Н.Новгород школа 58. набор переменных одного типа, имеющее одно общее имя. количество элементов в массиве. число индексов, которые.

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



Advertisements
Похожие презентации
Подведение итогов г. Н.Новгород школа 58. Блиц-опрос! Что такое двумерный массив? Как его описать? Как заполнить двумерный массив? Приведите примеры заполнения.
Advertisements

Основные алгоритмы работы с одномерными массивами (поиск и сортировка) 8 класс 1.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Решение задач с использованием одномерных массивов.
Линейные (одномерные) массивы. Линейным массивом можно назвать совокупность одинаковых компонент, имеющим один индекс. I12345 A[i]
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
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 Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
Шутилина Л.А., 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]
Обработка линейных массивов. МассивМассив – совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. элементами.
Одномерные массивы целых чисел. 9 класс
Одномерные массивы. Задачи Знать: понятия: одномерный массив, элемент массива, индекс элемента, размер; этапы работы с массивами; алгоритмы решения основных.
Тема урока: Одномерные массивы. - Где в жизни мы можем встретиться с таблицами?
МассивМассив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная.
Обработка массива Типовые задачи. нахождение в массиве заданного элемента; нахождение в массиве заданного элемента; вычисление среднего арифметического.
Транксрипт:

Подведение итогов г. Н.Новгород школа 58

набор переменных одного типа, имеющее одно общее имя. количество элементов в массиве. число индексов, которые определяют элемент массива. Блиц-опрос! Опр-е: Массив – это Массивы характеризуются двумя параметрами: Размер массива – это Размерность массива – это В зависимости от размерности массивы бывают: одномерные (линейные), двумерные, трёхмерные и т.д.

Описание массива: Var Mas1: array [1.. 30] of integer; {пример описания линейного массива из 30 целых чисел} Mas2: array [1.. 10, ] of real; {пример описания двумерного массива из 200 действительных чисел}

Способы задания значений элементов массива 1) Ввод с клавиатуры. For i:=1 to 10 do begin Write(введите,i,-ый элемент массива ); Readln(a[i]); end; 2) С помощью массива констант Const n=10; cr:array [1..n] of Integer=(25,22,19,21,37,12,40,40,35,20); Var i: Integer; r: array [1..n] of Integer; Begin for i:=1 to n do r[i]:=cr[i]; {используются для небольших массивов}

3) Заполнение по формуле, например с использованием генератора случайных чисел RANDOMIZE; For i:=1 to 10 do a[i]:=Random(25)-10; Вывод массива. For i:=1 to 10 do writeln(a[i]); For i:=1 to 10 do write(a[i], ); {массив заполнится числами в диапазоне от -10 до 15, формула: Random(b-a) + a} {в столбик} {в строчку}

1. Сколько элементов в каждом из следующих массивов? а) var c: array[2..20] of integer; б) type myarray1=array[0..8] of integer; myarray2=array[-5..5] of integer; var a: myarray1; b: myarray2; 2. Используя описание массивов из предыдущего пункта, определить, какие из приведенных обращений к элементам массивов неправильные и почему. а) c[3]; б) myarray1[2]; в) a[6]; г) b[6]; д) a[0]; е) b[0]; ж) b[-3]; з) a[-3]; и) c[1];

3. Какие из приведенных описаний одномерных массивов являются правильными? а) var a: array[1..20] of integer; б) var sd : array[1..n] of intiger; в) type myarray: array[1..20] of real; var a: myarray; г) var dd: array[1] of integer;

4. Имеются описания : var a: array[1..30] of real; b: array[-2..2] of integer; c: array[0..3] of string; а) для каждого из массивов a,b,c указать сколько в нем элементов; б) указать какие значения элементов не могут быть значениями элементов массива a, b, c A 5

5. Сколько элементов таблицы сохранят свои значения после исполнения программы, если исходная таблица А: 3, 7, -2, -1, 2, -0.5, 1, -1, 0 p:=1; for i:=1 to 9 do begin p:=p*a[i]; if p<a[i] then a[i]:=p; end; p=1, - для этого последовательно считаем значения произведений 0 Ответ: 6 3,21,-42,42,84,-42,-42,42,

6. Сколько элементов таблицы станут иметь значения -1 после исполнения фрагмента программы, если исходная таблица А: 3, 7, -2, -8, 4, -11, 12, -1, 0 а) for i:=1 to 5 do a[2*i-1]:=-1; Ответ: б) for i:=1 to 9 do begin if a[i]<0 then a[i]:=-1; if a[i]>0 then a[i]:=1; end; Ответ: а(1), а(5),а(7),а(9),а(8) – 6 а(3), 4

Определить: а) сколько жильцов в доме и каково среднее их число на одну квартиру; б) сколько в доме квартир, в которых проживает более 17 человек, вывести на экран номера этих квартир и число жильцов в них; определить среднее число жильцов в этих квартирах; в) есть ли в доме пустующие квартиры, вывести их номера; г) сколько квартир, в которых проживает от 5 до 10 человек; д) сколько в доме квартир, в которых количество жильцов больше, чем среднее число жильцов на одну квартиру в этом доме, вывести номера в строку; е) найти квартиру, в которой проживает наибольшее количество жильцов; ж) вывести все квартиры, в которых проживает наибольшее количество жильцов и число таких квартир; з) сколько жильцов проживает в квартирах с четными номерами; и) какое количество жильцов встречается наиболее часто, сколько таких квартир; к) расставить квартиры в порядке убывания количества жильцов в них; л) сколько жильцов проживают на 9-м этаже (в доме 6 подъездов, на каждом этаже по 4 квартиры), сколько человек проживает в каждом подъезде. Задача: массив А(N) содержит информацию о жильцах многоквартирного девятиэтажного дома (квартир 216, число жильцов в квартирах от 0 до 20)

Введём обозначения и опишем исходные данные: 1. Массив А(N) будет содержать информацию о жильцах многоквартирного девятиэтажного дома; 2. Величина N – это? и равно? 3. Вопрос на повторение: каков размер массива А? а размерность? 4. А чему равны значения элементов данного массива А? 5. А каким способом будем заполнять массив данными? количество квартир в доме – массив линейный Целое случайное число из интервала от 0 до 20.

Получится примерно такое начало программы: Program Dom; Uses Crt; Const n=216; Var i: Integer; a: array [1..n] of Integer; Begin ClrScr; Randomize; For i:=1 to n do Begin a[i]:=Random(21); Write(a[i],' '); End; Перепишите в тетрадь! Readln; End. 0/ 0/

Среднее арифметическое элементов массива s:=0; For i:=1 to n do s:=s+a[i]; Writeln('сумма=',s); sr:=s/n; Write('среднее=',sr);

Анализ элементов массива Схема: S:=0; Р:=1; К:=0; For I:= нач. знач. То кон. знач. Do If условие Then Begin S:=S + A[I]; { сумма} P:=P * A[I]; { произведение} K:=K + 1; { подсчёт } Write (A[I], ); { вывод элемента массива } Write (I, ); { вывод номера элемента } End; Условия могут быть простыми: A[I] =3; A[I]<>A[j]; A[I]/2=A[I] div 2; A[I] mod 2=0 и составными: (A[I]>=40) And (A[I] 50)

Анализ элементов массива Задача: Найти произведение и номера всех элементов массива из интервала от 20 до 50 For I:= 1 То N Do If Then Begin End; Writeln; Writeln( Произведение равно,P); Р:=1; (A[i]>20) And (A[i]<50) P:=P * A[I]; {произведение} Write(I, ); {вывод номера элемента}

Анализ элементов массива Задача: Суммировать и подсчитать все кратные трём элементы массива For I:= 1 То N Do If Then Begin End; Writeln(Сумма равна,S); Writeln(Количество равно,K); S:=0; К:=0; A[i]/3=A(i] div 3 S:=S + A[I]; { сумма} K:=K + 1; { подсчёт}

Поиск и максимального (минимального) элементов массива. Max:=a[1]; Nmax:= 1; For i:= 2 To n Do If a[i] > Max Then begin Max:= a[i]; Nmax:= i; end; Writeln (макс. элемент равен, Max); Writeln (его номер равен, Nmax);

Поиск и максимального (минимального) элементов массива. Min:=32767; For i:= 1 To n Do If a[i] < Min Then begin Min:= a[i]; Nmin:= i; end; Writeln (минимальный элемент равен, Min); Writeln (его номер равен, Nmin);

Удаление М-го элемента program udalen; {Удаление m-го элемента} const n=100; var a: array[1..n] of integer; i,m: integer; {Формирование и вывод массива пропущены} Write(Введи номер удаляемого элемента ); Readln (m); For i := m+1 То n Do a[i-1] := a[i]; For i:=1 To n-1 Do Write (a[i], ); Пример: Пусть n=6, m=3 Массив: Цикл: For i:=4 To 6 Do A[3]:=a[4], a[4]:=a[5], a[5]:=a[6]; Массив: 17928

Удаление элемента массива Задача: Удалить максимальный элемент массива Max:=a[1]; Nmax:= 1; For i:= 2 To n Do If a[i] > Max Then begin Max:= a[i]; Nmax:= i; end; Writeln (макс. элемент равен, Max); Writeln (его номер равен, Nmax); Write(Введи номер удаляемого элемента); ReadLn(Nmax); For i:= Nmax+1 То N Do A[i-1]:= A(i);

program vstavka; {Вставка элемента с номером m} const n=100; var a: array[1..n ] of integer; i,m,b: integer; {Формирование и вывод массива пропущены} Write (Введите вставляемый элемент ); Readln (b); Write (Ведите его номер ); Readln (m); For i:=n DownTo m Do a[i+1]:=a[i]; a(m):= b; For i:=1 To n Do Write (a[i], ); Вставка элемента с номером М Пример: Пусть N=6, М=4, В=10 Мaccue: Цикл: For i:= б Down То 4 А[7]:=А[6], А[6]:=А[5], А[5]:=А[4] А[4]:= 10 Маccuв:

Перестановка местами L-го и М-го элементов массива: R:=A[L]; A[L]:=А[М]; А[М]:=R; Пример: Пусть А(5)=1, А(8)=0 R:=А[5]; = 1 А[5]:=А[8]; =0 А[8]:=R; =1 Теперь А(5)=0, А(8)=1

Сортировка линейного массива размером N в порядке возрастания методом «Пузырька» FOR I:= 1 TO N – 1 DO {СОРТИРОВКА} FOR J:= 1 TO N – I DO IF A[J]>A[J+1] THEN BEGIN R:= A[J]; A[J]:= A[J+1]; A[J+1]:= R; END;

Сортировка линейного массива размером N в порядке возрастания с выбором минимального элемента... FOR I:= 1 TO N – 1 DO BEGIN MIN:=A[I]; M:=I; FOR J:= I+1 TO N DO IF A[J]< MIN THEN BEGIN MIN:=A[J]; M:=J; END; R:= A[I]; A[I]:= A[M]; A[M]:= R; END;

Сортировка линейного массива размером n в порядке возрастания с перебором элементов массива: 1 2 n-2 n-1 А(1) А(2) А(3) … А(n-1) A(n)... FOR i := 1 TO n – 1 DO BEGIN FOR j := i + 1 TO n DO IF a[i] > a[j] THEN BEGIN r := a[i]; a[i] := a[j]; a[j] := r; END;...

{Отсортировать массив по возрастанию значения суммы цифр в записи числа} Program Sum123; Uses Crt; Const n=30; Var I,J,R: Integer; A: array [1..n] of Integer; Begin ClrScr; RANDOMIZE; For i:=1 to n do Begin A[i]:=Random(99)+1; Write(A[i],' '); End;...

FOR I:= 1 TO N - 1 DO FOR J:= I + 1 TO N DO BEGIN R:= A[I]; A[I]:= A[J]; A[J]:= R; END; WRITELN; WRITELN; {ВЫВОД НА ЭКРАН СОРТИРОВАННОГО МАССИВА} FOR I:= 1 TO N DO WRITE(A[I],' '); Readln; End. IF A[I] div 10 + A[I] mod 10 > A[J] div 10 + A[J] mod 10 THEN IF A[i] > A[j] THEN

Всё