Массивы цели: освоить теоретические знания о массивах и научиться : организовывать данные в виде таблиц; обосновывать выбор типа элемента массива; описывать.

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



Advertisements
Похожие презентации
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Advertisements

Материалы к урокам по программированию Автор: Судакова Лариса Владимировна, учитель биологии и информатики МОУ СОШ 37 г. Буя Костромской области.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 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;
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
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 Задача: запомнить положение фигур на шахматной доске abcdefgh
Двумерные массивы. Задачи обработки двумерных массивов.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Шутилина Л.А., 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 часть. Массивы.
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
© М.Е.Макарова
© М.Е.Макарова
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
ОДНОМЕРНЫЕ МАССИВЫ. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы,
Например: семейство бабочек; Понятие одномерного массива поле цветов;
Транксрипт:

массивы

цели: освоить теоретические знания о массивах и научиться : организовывать данные в виде таблиц; обосновывать выбор типа элемента массива; описывать табличные данные; писать и отлаживать программы, обрабатывающие массивы в среде Turbo Pascal.

Массив – это упорядоченная совокупность однотипных данных, обозначенных одним именем Массив – это упорядоченная совокупность однотипных данных, обозначенных одним именем.

Можно ли описать массив на языке Паскаль, если неизвестно точное количество его элементов? Можно ли описать массив на языке Паскаль, если неизвестно точное количество его элементов? Можно ли описать на языке Паскаль массив, если неизвестны точные значения элементов массива, но известен их физический смысл и/или диапазон значений? Можно ли описать на языке Паскаль массив, если неизвестны точные значения элементов массива, но известен их физический смысл и/или диапазон значений?

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

1, 2 …5 номер элемента - индекс А имя массива Значения Индексы А[3]=? Имя массива Индекс Значение

Описание массива : array[.. ] of ; Например, var Mas : array[1..5] of Real; Назовите имя массива? Назовите зарезервированное слово для объявления массива? Сколько элементов в данном массиве?

Пример: var a: array[1..100] of integer; b: array[1..100] of integer; c: array[1..100] of integer; или более кратко (компактно): var a, b, c: array[1..100] of integer;

Заполнение массива с клавиатуры;с клавиатуры; через датчик случайных чисел;через датчик случайных чисел; через оператор присваивания (по формуле)через оператор присваивания (по формуле)

Способ 1 Ввод: For i:=1 to n do readln(a[i]); Вывод: For i:=1 to n do writeln(a[i]);

Способ 2 Через датчик или генератор случайных чисел RANDOM(х).Randomize; For i:=1 to n do а[i]:=random(х);

Если требуется, чтобы значения элементов массива выбирались из определенного интервала [a,b], то a+Random(b-a+1);

Способ 3 По формуле: For i:=1 to n do а[i]:=i*3;

Задача. Сформировать массив, содержащий n натуральных (целых) чисел a[i], пользуясь для ввода данных клавиатурой, и выдать полученный массив на экран дисплея. program mas01; uses crt; var n, i: integer; a: array[1..100] of integer; begin clrscr; write('Введи n='); readln(n); for i:=1 to n do begin write('Введи элемент массива 'a[', i, ']='); readln(a[i]); end; for i:=1 to n do write('a[', i, ']=', a[i]); readln end.

Задача. Пользуясь случайными числами, сформировать два массива целых чисел a[i] и b[i], Получить третий массив c[i]=a[i] + b[i]. program massiv01; uses crt; var n, i: integer; a, b, c: array[1..100] of integer; begin clrscr; write('Введи n='); readln(n); randomize; for i:=1 to n do begin a[i]:=random(125); b[i]:=random(184); c[i]:=a[i] + b[i]; writeln('a[', i, ']=', a[i], ' b[', i, ']=', b[i], ' c[', i, ']=', c[i]); end; readln end.

Задача. В некотором множестве, состоящем из n учащихся, известны данные о росте каждого ученика. Найти самого высокого и самого низкого из учеников и колебание роста между ними. Введем следующие обозначения: n - количество учеников i - индекс или порядковый номер ученика a[i] - массив, содержащий данные о росте каждого ученика. min - ячейка для ответа. Должна содержать рост самого низкого ученика max - ячейка для ответа. Должна содержать рост самого высокого ученика r - колебание в росте самого низкого и самого высокого учеников

При поиске минимального и максимального роста учеников используется алгоритм сравнения Вначале первое число из массива ростов учащихся a[1] заносится в ячейки для ответа, то есть в min и max, и таким образом, a[1] принимается за минимальный и максимальный рост учеников. Далее последующие числа из массива ростов сравниваются со значениями min и max, и как только находится меньшее, чем min число, оно немедленно заносится в min вместо находившегося там числа. Аналогично и с максимальным ростом. Как только встречается в массиве ростов число, большее, чем число, находящееся в max, большее число заносится в max вместо прежнего числа. Так происходит до тех пор, пока не будет пересмотрен весь массив ростов учащихся. В результате будет найден минимальный и максимальный рост учеников и соотствтствующее колебание минимального роста по отношению к максимальному.

program rostmas1; uses crt; var n, i, min, max, r: integer; a: array[1..100] of integer; begin clrscr; write('Введи n='); readln(n); for i:=1 to n do begin write('Введите рост ученика='); readln(a[i]); end; min:=a[1]; max:=a[1]; for i:=2 to n do begin if a[i]max then max:=a[i]; end; writeln('min=', min, ' max=', max); r:=max - min; writrln('Колебание роста=', r); readln end.

Нахождение суммы элементов массива S:=0; FOR I:=1 TO N DO S:=S + A[I];

Нахождение произведения элементов массива P:=1; FOR I:=1 TO N DO P:=P * A[I];

Найти максимальный элемент массива и сообщить его порядковый номер MAX:=A[1]; x:=0; FOR I:=2 TO N DO IF A[I] > MAX THEN IF A[I] > MAX THEN Begin Begin MAX:=A[I]; x:=I; MAX:=A[I]; x:=I; END; END;

1. Написать программу, которая формирует случайным образом массив из N целых чисел, лежащих в диапазоне от 1 до 5, после чего на экран выводится сам массив и номера элементов, совпадающих с первым элементом. Протестировать программу на трёх различных тестах. 2. Написать программу, которая вводит массив из N целых чисел и выводит на экран элементы, кратные числу K. Протестировать программу на следующих исходных данных: а) k=3 Массив: б) k=4 Массив: Написать программу, которая вводит массив из N вещественных чисел, а затем заменяет в нём все элементы, превышающие данное число Z, этим числом. Вывести на экран полученный массив и количество замен. Протестировать программу на следующих исходных данных: а) Z=10 Массив: 1,2 2,6 3 -4, ,2 3, б) Z=-2 Массив: 0 -3, ,9 -2,1 -1, При поступлении в ВУЗ абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве A[N] записаны оценки экзаменующихся, полученных на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.

Двумерные массивы

В математике квадратные и прямоугольные таблицы часто называют матрицами а 1 1 а 12 а 13 а 14 а 15 а 1 6 а 21 а 22 а 23 а 24 а 25 а 26 а 31 а 32 а 33 а 34 а 35 а 36 Первый индекс – номерстроки Второй номерстолбца M- строк N столбцов Матрица имеет размер М*N

Описание массива :ARRAY[..,.. ] OF ; :ARRAY[..,.. ] OF ;Например, a: array [1..3, 1..6] of integer; a: array [1..3, 1..6] of integer; Количество строк Количество столбцов Количество строкКоличество столбцов Назовите имя массива? Назовите зарезервированное слово для объявления массива? Сколько элементов в данном массиве?

Запись: [m, n] указывает на элемент, стоящий на пересечении m-ой строки и n-го столбца а [2,3] Например, а [2,3] указывает на элемент во 2-ой строке и 3-ем столбце а 11 а 12 а 13 а 14 а 15 а 16 а 21 а 22 а 23 а 24 а 25 а 26 а 31 а 32 а 33 а 34 а 35 а 36 VAR A:ARRAY[1..3,1..6] OF REAL;

При решении задач с использованием двумерных массивов организуются вложенные циклы: For i:=1 to m do begin изменяется номер строки For j:=1 to n do begin изменяется номер столбца Запись массива: а[i, j]

А, Опишите таблицу А, состоящую из 4 строк и 5 столбцов, заполните её случайными числами в интервале от 1 до 100. VAR A: ARRAY[1..4,1..5] OF INTEGER; RANDOMIZE; FOR I:=1 TO 4 DO FOR J:=1 TO 5 DO FOR J:=1 TO 5 DO A[I,J]:=RANDOM(100); A[I,J]:=RANDOM(100);

Опишите массив, значения элементов которого вычисляются в следующем фрагменте программы: FOR I:=1 TO 20 DO begin begin x:=x+1; x:=x+1; FOR J:=1 TO 5 DO FOR J:=1 TO 5 DO A[I,J]:= A[I,J] + x; A[I,J]:= A[I,J] + x; End; End; VAR A:ARRAY[1..20,1..5] OF REAL;

Нахождение суммы элементов массива S:=0; FOR I:=1 TO N DO S:=S + A[i]; S:=0; FOR i:=1 TO m DO FOR j:=1 TO n DO FOR j:=1 TO n DO S:=S + A[i,j]; S:=S + A[i,j]; Одномерный массивДвумерный массив

Найти максимальный элемент массива и сообщить его порядковый номер MAX:=A[1]; x:=0; FOR I:=2 TO N DO IF A[I] > MAX THEN IF A[I] > MAX THEN Begin Begin MAX:=A[I]; x:=I; MAX:=A[I]; x:=I; END; END; MAX:=A[1,1]; x:=0; FOR i:=2 TO m DO FOR j:=1 TO n DO FOR j:=1 TO n DO IF A[I,j] > MAX THEN IF A[I,j] > MAX THEN Begin Begin MAX:=A[I,j]; x:=i; MAX:=A[I,j]; x:=i; END; END;

Хозяйка ходит в магазин каждый день утром и вечером в течении недели. Она записывает свои расходы в такую табличку: УТРОВЕЧЕР пнвтсрчтптсбвспнвтсрчтптсбвс Ввести все элементы массива и определить траты хозяйки утром и вечером в течении недели.