- •Алгоритмизация и основы программирования
- •1. Технология подготовки и решения задач на компьютере
- •Понятие об алгоритмических языках
- •2. Этапы решения задач на компьютере
- •Этапы процесса тестирования
- •Характерные ошибки программирования.
- •3. Основы языка программирования Паскаль
- •3.1. Алфавит языка программирования
- •Правила написания идентификаторов:
- •Константы
- •3.2. Выражения, операции
- •3.3. Операторы
- •3.3.1. Оператор присваивания
- •3.3.2. Операторы перехода
- •3.4. Использование комментариев для пояснений
- •3.5. Общая структура программ в Паскале
- •1. Раздел объявлений и соглашений
- •2. Раздел текстов процедур и функций
- •3. Раздел основного блока программы
- •3.6. Основные операторы модуля crt в turbo pascal
- •3.7. Типы данных
- •3.7.1. Целочисленный тип
- •3.7.2. Вещественные типы
- •3.7.3. Символьный тип
- •3.7.4. Логический тип (boolean)
- •Простые логические выражения
- •Составное логическое выражение
- •Перечисляемый тип
- •Интервальный тип
- •3.8. Ввод-вывод данных
- •Вывод данных
- •Способы представления вещественных чисел
- •Ввод данных
- •3.9. Математические функции и процедуры
- •Взаимные преобразования чисел
- •4. Конструкции языка программирования Паскаль
- •4.1. Организация ветвления
- •4.1.1. Условные операторы. Оператор if
- •4.1.2. Конструкция множественного выбора Case … Of
- •4.2. Операторы цикла
- •4.2.1. Оператор цикла For
- •4.2.2. Оператор цикла Repeat..Until
- •4.2.3. Оператор цикла While..Do
- •5. Структурированные типы данных
- •Одномерные массивы
- •Доступ к элементам массива
- •Заполнение массива
- •6. Подпрограммы пользователя. Назначение Преимущества модульности
- •Подпрограмма
- •Список используемой и рекомендуемой литературы
4.2.3. Оператор цикла While..Do
Конструкция While..Do называется циклом с предусловием.
Синтаксис:
While <условие> Do
Begin
<блок операторов>;
End;
Сначала проверяется <условие>; если оно истинно, то выполняется <блок операторов>. Затем вновь проверяется <условие>. <Блок операторов> будет выполняться до тех пор, пока <условие> не станет ложным. Если <условие> изначально ложно, то <блок операторов> не выполнится ни разу.
В теле цикла необходимо предусмотреть изменение значения параметра цикла!!!
Пример: печать первых десяти натуральных чисел.
i:=1;
While (i<=10) Do
Begin
WriteLn(i);
i:=i+1;
End;
5. Структурированные типы данных
В отличие от переменных простых типов, переменная структурированного типа может содержать в себе несколько значений.
Промежуточное место между простыми и структурированными типами данных занимают строки (STRING).
К структурированным типам данных относятся: массивы (ARRAY), записи (RECORD) и множества (SET). В курсе этого семестра мы рассматриваем только массивы.
Массив можно определить как последовательную упорядоченную совокупность элементов некоторого типа, которые адресуются с помощью некоторого индекса. Массив может содержать элементы только одного типа данных. Различают одномерные и многомерные массивы (двумерные, трехмерные и т.д.). На практике наибольшее применение имеют одномерные и двумерные массивы.
Наряду с термином «массив», часто используются термины «вектор», «матрица», «таблица».
Примеры: шкаф с пронумерованными ящиками (одномерный массив); шкаф с ящиками, положение которых определяется двумя координатами — по горизонтали и по вертикали (двумерный массив); ряд таких шкафов представляет собой трехмерный массив и т.д.
Элементы массива в памяти хранятся по соседству, в то время как одиночные переменные простого типа не гарантируют такого расположения данных в памяти.
Одномерные массивы
Массив называется одномерным, если для получения доступа к его элементам достаточно одной индексной переменной. Индексная переменная, служащая для указания отдельного элемента массива, должна быть простого типа.
Объявление одномерного массива имеет вид:
Var <имя> : Array[<нач.инд>..<кон.инд.>] Of <тип элементов массива>;
<нач.инд> и <кон.инд.> определяют, в каких пределах производится нумерация элементов, и означают начальное и конечное значения. Размер массива ограничивается только объемом рабочей памяти компьютера. Для создания массивов могут использоваться переменные любого типа данных, кроме файловых типов.
Примеры:
Const Mas: Array[1..5] Of Integer = (3,6,2,7,1);
Var A: Array[1..10] Of Integer;
B,C,DEF: Array[5..15] Of Real;
Type Massiv = Array[1..10] Of Integer;
Var A: Massiv;
Доступ к элементам массива
Над элементами массивов можно производить те же действия, что и с обычными переменными.
Массивы не могут обрабатываться целиком, но можно получить доступ к каждому элементу массива отдельно, указав имя массива и индекс элемента в квадратных скобках:
Var A: array[1..10] of Integer;
…
А[2]:=34; {второму элементу массива А присвоено значение 34}
Для выполнения каких-либо действий со всеми элементами массива необходимо воспользоваться конструкцией цикла, тогда для каждого из элементов указанного диапазона индексов будет выполнено определенное действие.
Пример. Обнулить весь массив А.
...
For i:=1 to 10 do
A[I]:=0; {всем элементам массива А присвоено значение 0}
...