- •Часть I Основные конструкции
- •Смоленск, 2007 Содержание
- •Базовые понятия
- •1.1 Алфавит языка и структура программы
- •Var …..; объявление переменных;
- •1.2 Стандартные типы данных
- •1.3 Выражения
- •Порядок выполнения арифметических операций
- •Операции Отношения
- •Порядок выполнения логических операций
- •Сложные операции отношения
- •Основные операторы. Основы программирования простых задач
- •2.1 Оператор Присваивания
- •2.2 Операторы Ввода и вывода. Форматы вывода
- •2.3 Составной Оператор
- •2.4 Комментарии
- •3. Стандартные процедуры и функции
- •3.1 Системные процедуры и функции
- •3.3 Общие стандартные процедуры и функции
- •3.3 Строковые процедуры и функции
- •4. Среда PascalAbc PascalAbc.Exe
- •4.1 Общий вид
- •4.2 Порядок работы
- •4.3 Примеры простейших программ
- •5. Структурированные операторы
- •5.1 Условный оператор
- •5.2 Оператор выбора
- •5.3 Цикл с параметром (For)
- •5.4 Цикл с предусловием (While)
- •5.5 Цикл с постусловием (Repeat Until)
- •6.Массивы
- •6.1 Понятие массива
- •6.2 Основные алгоритмы обработки массивов
- •Ввод элементов (заполнение массива)
- •Сортировка массива.
- •6.2.1 Ввод элементов (заполнение массива):
- •6.2.2 Вывод на экран значений элементов массива
- •6.2.3 Поиск элементов и вычисляемых значений
- •6.2.4 Сортировка массива
- •7. Процедуры и функции
- •7.1 Понятие процедуры. Вызов процедуры
- •7.2 Входные и выходные параметры
- •7.3 Функции
- •V Параметры функции ar
- •8. Работа со строками
- •8.1 Строковые переменные
- •8.2 Действия со строковыми переменными
- •8.2.1 Присваивание
- •8.2.2 Сравнение
- •8.2.3 Сложение
- •8.2.4 Преобразование строка ↔число
- •8.2.5 Обработка строк
- •Рекомендации
- •Удачи и терпения! Список используемой литературы
5.4 Цикл с предусловием (While)
Общий вид цикла с предусловием:
а) для простого случая
W |
б) для сложного случая While <логическое выражение> do begin <оператор1>; <оператор2>; … <операторN>; End; |
На каждом повторе логическое выражение вычисляется, и если оно истинно (его значение равно true), то выполняется тело цикла. Когда логическое выражение примет значение false выполнение цикла закончится.
Если логическое выражение с самого начала принимает значение false, то тело цикла не выполняется.
Если логическое выражение всегда оказывается истинным, то может произойти зацикливание:
Пример
N:=0; S:=0;
While n<100 do
begin
n:=n+2;
s:=s+1/n;
end;
5.5 Цикл с постусловием (Repeat Until)
Часть программы, заключенная между ключевыми словами Repeat…Until, повторяется до тех пор, пока не станет истинным логическое выражение (условие), стоящее после слова Until
В отличие от оператора While вычисление логического выражения происходит не до, а после очередного повторения тела цикла. Из-за этого цикл Repeat обязательно выполнится хотя бы один раз |
|
Общий вид цикла с постусловием:
а) для простого случая Repeat <Оператор > Until <лог.выражение>;
|
б) для сложного случая Repeat <оператор1>; <оператор2>; … <операторN>; Until <лог.выражение>;
Здесь не используются операторные скобки Begin End |
Пример
repeat
K := I mod J;
I := J;
J := K;
until J = 0;
6.Массивы
6.1 Понятие массива
Массив – набор данных одинакового типа.
Например:
а) массив значений температуры за пять дней: 3, 8, 5, 0, -1;
б) массив оценок по алгебре за семестр: 7, 8, 6, 8, 8, 9, 7.
Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом.
array [индексНач .. индексКон] of <тип>;
Массив имеет имя, которое будет общим для всех его элементов. Различаются элементы массива по номерам, которые записываются в квадратных скобках после имени массива.
Одномерный массив наглядно можно представить следующим образом:
-
Массив M
12
7
4
1
3
Значения
1
2
3
4
5
Номера (индексы)
M[1]
M[2]
M[3]
M[4]
M[5]
Элементы
Если индексов несколько, то массив называется многомерным.
Двумерный массив:
array [1индНач ..1индКон, 2индНач ..2индКон] of <тип>;
Двумерный массив наглядно можно представить следующим образом:
-
Массив M
4x3
M[11]
M[12]
M[13]
9
7
1
M[21]
M[22]
M[23]
2
1
5
M[31]
M[32]
M[33]
8
3
7
M[41]
M[42]
M[43]
4
2
8
Индекс (номер элемента) обязательно представляет собой интервальный тип и обязательно должен задаваться в виде a..b, где a и b - константы целого, символьного или перечислимого типа.
В PascalABC определение массива проводится в разделе описания переменных Var следующим образом:
Var
<Имя массива>: array[ИндНач .. ИндКон] of <тип>;
Var
m1,m2: array [1..10] of integer;
Пример:
Var
mas:array[2..5] of byte; - объявлен массив mas состоящий из 4 элементов mas[2], mas[3], mas[4], mas[5] типа byte
Обращения в теле программы к элементу массива:
<имя массива>[индекс (номер) элемента]
mas[3] – Элемент с индексом 3
Например:
-
Writeln(m1[4]);
mas[2]:=107;
Вывод на экран значения элемента с индексом 4 массива m1
Элементу массива с индексом 2 присвоить значение 107
При обработке целочисленных массивов в качестве индексов принято использовать переменные i, j, k целого типа
Var
i, j,k: integer;

hile
<логическое
выражение>
do
<оператор>;