- •Интегрированная среда Turbo Pascal. Функциональные клавиши Турбо Паскаль.
- •Работа с блоками в Turbo Pascal
- •Редактирование программы.
- •Операция присваивания
- •Операции отношений:
- •Задачи ветвление if:
- •Синтаксис коннструкции case:
- •Алгоритм цикл
- •Задачи цикл for:
- •Задачи цикл while:
- •Оператор цикла с постусловием repeat.
- •Задачи цикл repeat:
- •Одномерные массивы.
- •Объявление массива.
- •Поиск в массиве.
- •Задачи на одномерные массивы:
- •Заполнить массив:
- •Дан массив. Все его элементы:
- •Определить:
- •Дан массив вещественных чисел.
- •Дан массив вещественных чисел.
- •Дан массив целых чисел.
- •Дан массив целых чисел.
- •Дан массив целых чисел. Найти:
- •Двумерные массивы.
- •Работа с элементами
- •Квадратные матрицы.
- •Задачи по двумерным массивам
- •Дан двумерный массив вещественных чисел .
- •Строки.
- •Строковые функции
- •Символы.
Двумерные массивы.
Описание двумерного массива определяет имя, размер массива (количество строк и столбцов) и базовый тип.
Двумерный массив — массив, у которого положение каждого элемента характеризуется двумя числами, первое из них определяет номер строки, второе – номер столбца, на пересечении которых находится элемент. Он так же, как и одномерный массив, состоит из значений одного типа. В двумерных массивах хранятся значения прямоугольных таблиц. Примеры описания двумерных массивов:
Var С : array [1. .5, 1. .10] of integer;
R1, R2: array [0. .10, 1. .365] of char;
Sim : array [1. .20, 1. .10] of string[20];
X, S : array [1. .M, 1. .N] of byte;
Работа с элементами
В математике часто используют многомерные массивы (двумерные, трехмерные и т.д.). Мы рассмотрим двумерные массивы, иначе называемые матрицами.
Например : 5 4 3 6 2 8 1 7 4 3 9 5 |
Данная матрица имеет размер 3 на 4, т.е. она состоит из трех строк и четырех столбцов. Если всю матрицу обозначить одним именем, например А, то каждый элемент матрицы будет иметь два индекса - А[i,j] |
Здесь первый индекс i обозначает номер строки (i=1,2,3), второй индекс j - номер столбца (j=1,2,3,4).
Такую матрицу можно описать следующим образом :
Var A: array [1..3,1..4] of integer;
При решении задач с использованием двумерных массивов во всех случаях (кроме некоторых частных) организуются вложенный цикл.
Перемещение по строке :
for i:=1 to m do {внешний цикл, изменяется номер строки}
for j:=1 to n do {внутренний цикл, изменяется номер столбца}
Перемещение по столбцу :
for j:=1 to n do {внешний цикл, изменяется номер столбца}
for i:=1 to m do {внутренний цикл, изменяется номер строки}
Ввод (заполнение) элементов двумерного массива (матрицы)
For i:=1 to n do
For j:=1 to m do
Readln(A[i,j]);
1. а Заполнение двумерного массива по строке.
Массив содержит 3 строки и 4 столбца, т.е. 3х4=12 элементов
а11 |
а12 |
а13 |
а14 |
а21 |
. |
. |
. |
. |
. |
. |
. |
or
i:=1 to 3
do
For j:=1 to 4 do
a[i,j]:=random(100);
1. б Заполнение двумерного массива по столбцу :
а11 |
а12 |
. |
. |
а21 |
. |
. |
. |
а31 |
. |
. |
. |
or
j:=1
to
4 do
For i:=1 to 3 do
a[i,j]:=random(100);
2а. Печать матрицы на экран :
For i:=1 to n do begin
For j:=1 to m do Write (A[i,j]); {Вывод эл-тов одной строки матрицы}
Writeln; { переход на следующую строку экрана}
end;
где А - имя массива;i - индекс строки;j - индекс столбца;
n - количество элементов в строке;m - количество элементов в столбце.
2б. Печать 3-й строки на экран :
For i:=1 to n do Write (A[3,i],’ ‘); {Вывод эл-тов одной строки матрицы}
end;
3а. Вычисление суммы элементов 2-той строки.
s:=0;
For i:=1 to n do s:=s+a[2,i];
Writeln(‘Сумма элементов 2-й строки = ’,s);
3б. Вычисление суммы элементов 2-го столбца.
s:=0;
For i:=1 to n do s:=s+a[i,2];
Writeln(‘Сумма элементов 2-го столбца = ’,s);
5.Вычисление суммы элементов всего двумерного массива.
S:=0;
for i:=1 to m do
for j:=0 to n do S:=S+a[i,j];
6. Задача поиска максимального (минимального) элемента и его индексов.
Ищем максимальный элемент каждой строки :
For i:=0 to m do
begin
max:=a[i,1];
ind_L:=i; {сохраняем номер строки}
ind_C:=1; {заносим номер 1 - первый столбец}
for j:=1 to n do
if a[i,j]>max then begin
max:=a[i,j];
ind_C:=j {сохраняем номер j-ого столбца}
end;
writeln(‘max строки ’,i,’=’,max)
end;
7. Алгоритм поиска минимального элемента и его индексов для всего массива.
Min:=a[1,1];
ind_L:=1;
ind_C:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]<min then begin
min:=a[i,j]; ind_L:=i; ind_C:=j;
end;
