
- •Введение
- •Глава 1. Структурное программирование
- •1.1 Основные определения
- •1.2 Три основных действия
- •1.2.1 Последовательность
- •1.2.2 Выбор
- •1.2.3 Цикл
- •1.3. Структурный подход к решению задач
- •Задание
- •1.4. Организация хранения и обработки данных
- •1.4.1 Записи и списки
- •Задание
- •1.4.2 Очередь
- •Задание
- •1.4.3 Стек
- •Задание
- •1.5 Структурное программирование.
- •2. Программирование на языке паскаль
- •2.1. Краткая история эвм и языки программирования
- •Задание
- •2.2. Интегрированная среда borland pascal
- •2.2.1. Краткая характеристика. Запуск программы
- •2.1.2. Основы работы в редакторе Открытие нового окна
- •Завершение работы со средой
- •Задание
- •«Горячие» клавиши интегрированной среды
- •2.3. Структура программы
- •2.3.1.Основные положения
- •2.3.2. Понятие идентификатора
- •2.3.3. Первая программа
- •2.3.4. Описание подпрограммы (процедуры).
- •2.3.4. Строковый тип данных
- •2.3.5. Процедуры ввода и вывода данных
- •Задание
- •2.4. Программа калькулятор.
- •2.4.1. Тип целые и вещественный.
- •2.4.2. Переменные вещественного типа
- •Задание
- •2.5. Улучшенный калькулятор
- •2.5.1. Операторы выбора
- •Булевские (логические) операции
- •Операции отношения
- •Оператор if … then
- •Оператор case
- •2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.
- •Задание
- •2.6. Улучшенный каЛьКулятор (продолжение)
- •2.6.1. Оператор цикла с постусловием (проверка на ноль)
- •2.6.2. Оператор цикла с предусловием
- •2.6.3. Оператор цикла со счетчиком (параметром)
- •Задание
- •2.7. Переменные типа массив
- •2.7.1. Виды массивов
- •2.7.2.Описание массива
- •2.7.3.Нахождение максимального элемента в массиве
- •Задание
- •2.7.4. Строковая переменная (продолжение)
- •Задание
- •2.7.5. Строковая переменная как массив
- •Мама мыла раму
- •Задание
- •2.7.6. Описание функции
- •Задание
Задание
1. Измените procedure Exi , программы калькулятор, используя для вывода результата цикл с постусловием.
2. Модернизируйте программу Primer_3 так, что бы она выводила на экран введенную с клавиатуры строку заданное количество раз (это количество также задается с клавиатуры). Используйте для этого цикл с параметром.
3. Выполните предыдущее задание с использованием циклов while и repeat.
2.7. Переменные типа массив
2.7.1. Виды массивов
Рассмотрим следующую задачу: Надо ввести три целых чисел с клавиатуры и из них найти минимальное по значению число. Результат вывести на экран.
Для решения можно предложить следующую программу:
program Primer_7;
var
Chislo1,Chislo2,Chislo3,Resultat:Integer;
procedure Init;
begin
Write('Insert chislo1 -');
Readln(Chislo1);
Write('Insert chislo2 -');
Readln(Chislo2);
Write('Insert chislo3 -');
Readln(Chislo3);
end;
procedure Work;
begin
if (chislo1<=chislo2) and (chislo1<=chislo3) then resultat:=chislo1;
if (chislo2<=chislo1) and (chislo2<=chislo3) then resultat:=chislo2;
if (chislo3<=chislo1) and (chislo3<=chislo2) then resultat:=chislo3;
end;
procedure Exit;
begin
writeln(resultat);
end;
begin
Init;
Work;
Exi;
end.
В результате работы программа выведет на экран одно из чисел первое, второе или третье, то которое будет минимальным. Изменим условие, вместо трех чисел, допустим, надо найти минимальное число среди 10 или 40 чисел. Используя предыдущий подход нам надо завести 10 или 40 переменных с различными именами. Более того, возрастет объем текста в процедуре Work, для выявления минимального числа. Как быть в этом случае? Можно ли упростить текст программы? Да, можно!
Вспомните, как хранятся данные (см. параграф 1.4.). Для организации хранения упорядоченной совокупности данных, характеризующих однородные объекты, отличающиеся значениями своих признаков, используют список.
Если список, состоит из записей, которые характеризуются своим месторасположением в списке он называется линейным списком.
Нумерованный список, элементы которого однотипны по структуре, способу использования называют массивом. Массивы бываю одномерными и многомерными.
Одномерный массив (вектор). Элемент массива определяется своей позицией. В простейшем случае – это отсчет смещения от начала массива. Примером одномерного массива является список учеников в классном журнале.
1 |
Лутковский |
2 |
Склунин |
3 |
Магулян |
4 |
Никитин |
5 |
Бовадулин |
Фамилии учеников это элементы массива, а номер указывает на положение данного элемента в этом массиве. В данном случае, можно присвоить этому массиву имя "Ученик", тогда значением первого элемента (Ученик[1]), этого массива, будет "Лутковский", а четвертого элемента (Ученик[4]) - "Никитин".
Однако позиция элемента может определяться в координатной системе более чем одного измерения. Таким образом, элемент определяется несколькими индексами, например А[4,3,8]. Число индексов, требующихся для определения элемента, называется размерностью или, как принято говорить в математике, рангом массива.
Двухмерный массив (матрица). Примером двухмерного массива является шахматная доска, положение клетки характеризуется значением строки и столбца, а значением элемента будет наличие или отсутствие на данной клетки фигуры.
|
|
Направление изменения второго индекса |
|||||||||||
Направление изменения первого индекса |
|
1 |
2 |
3 |
. |
. |
. |
. |
N |
|
|||
1 |
|
|
|
|
|
|
|
|
|
||||
2 |
|
|
|
|
|
|
|
|
|
||||
3 |
|
|
|
|
|
|
|
|
|
||||
… |
|
|
|
|
|
|
|
|
|
||||
M |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
Рис 2.6. |
|
|
Трехмерный массив , n - мерный массив. Кроме одномерных и двухмерных массивов встречаются и трехмерные и n-мерные массивы. Если трех мерный массив еще можно изобразить на плоскости (Рис 2.7.), то n-мерный массив изобразить на двумерной плоскости затруднительно. Это связано с тем, что мы живем с вами в пространстве трех измерений. Несмотря на это многомерные массивы часто используются в научных и экономических расчетах.
Рис 2.7.