Краткий курс лекций по основам структурного программирования на языке Pascal
Вид материала | Курс лекций |
СодержаниеТема 2. Разветвляющиеся программы Тема 3. Циклические программы For k:=A Downto Тема 4. Обработка данных строкового типа |
- Правила преобразований из одного типа в другой и правила приведения типов в языке Object, 19.03kb.
- Курс лекций по основам программирования Учебно-методическое пособие, 726.7kb.
- Программа элективного курса «Программирование на языке Pascal» 10 класс, 63.48kb.
- Курс «Программирование на языке Turbo Pascal 0» Цель курса, 19.6kb.
- Краткий курс лекций "Основы программирования на языке Паскаль" Основные понятия, 265.68kb.
- Программирование на языке высокого уровня, 59.92kb.
- Структура программы в языке программирования С++. Обмен данными между функциями (параметры, 37.24kb.
- Краткий курс лекций "Основы программирования на языке Паскаль", 291.49kb.
- Структура программы на языке Turbo Pascal, 26.15kb.
- Тематическое планирование кружка на 2009/2010 уч г. «Основы алгоритмизации и программирования, 63.72kb.
Тема 2. Разветвляющиеся программы
Для организации ветвления в программе на языке Pascal используются условный оператор (конструкция ветвления в полной и сокращенной форме) и оператор варианта.
Ветвление в полной форме:
If <условие> Then <оператор 1> Else <оператор 2>;
где <условие > - логическое выражение, которое может принять одно из двух значений – истина или ложь; условия могут быть простыми (с использованием операций отношения >, <, =, <>, <=, >=) или сложными (с использованием логических операций Not, And, Or, Xor);
<
Оператор1> и <Оператор2> - простые или составные операторы. <Оператор1> будет исполнен в случае, когда условие истинно. <Оператор2> - если условие ложно. Одновременно <Оператор1> и <Оператор2> выполнены быть не могут. Ветвление в полной форме может быть представлено в виде блок-схемы на рис.1.
Ветвление в сокращенной форме:
If <условие> Then <оператор>;
В
етвление в сокращенной форме может быть представлено в виде блок-схемы на рис.2.
Оператор варианта:
Позволят осуществить множественный выбор. Имеет вид:
Case <переключатель> Of
<константа 1> : <оператор 1>;
<константа 2> : <оператор 2>;
…
<константа n> : <оператор n>
Else <оператор>
End;
где: <переключатель> - переменная (выражение) перечисляемог типа (из стандартных к перечисляемым относятся: Integer, Char, Boolean);
<константа i> - возможные значения переключателя;
<оператор i> - простой или составной оператор, который будет исполнен в случае, если значение переключателя будет равным соответствующей константе;
<оператор> - простой или составной оператор, который будет исполнен в случае, если значение переключателя не совпадет ни с одной из констант.
Тема 3. Циклические программы
Циклом называется многократное повторение некоторого набора действий. Эти повторяющиеся действия называются телом цикла. Программа, содержащая цикл, называется циклической.
В языке Pascal существует три оператора для организации циклов трех разных видов.
Цикл с предусловием:
While <условие> Do
<тело цикла>;
где: <условие> - логическое выражение,
<тело цикла> - простой или составной оператор.
Компьютер сначала проверяет условие (поэтому цикл называется циклом с ПРЕДусловием). Если оно истинно, будет выполнено тело цикла, и произойдет переход снова на проверку условия. То есть, пока условие истинно, будет выполняться тело цикла. Таким образом, условие является в данном операторе условием выполнения цикла. Цикл с предусловием может быть представлен блок-схемой на рис.3.
Тело цикла может выполняться бесконечно (условие всегда истинно), может не выполниться ни разу (условие сразу ложно).
Цикл с постусловием:
Repeat
<тело цикла>
Until <условие>;
где <условие> - логическое выражение,
<тело цикла> - группа операторов.
К
омпьютер сначала выполняет тело цикла, затем проверяет условие (поэтому цикл называется циклом с ПОСТусловием). Если оно ложно, будет вновь выполнено тело цикла, и так до тех пор, пока условие не станет истинным. Таким образом, условие в данном операторе является условием окончания цикла. Цикл с постусловием может быть представлен блок-схемой на рис.4.
Тело цикла всегда выполнится хотя бы один раз, может выполняться бесконечно (если условие всегда ложно).
Цикл со счетчиком (с параметром):
For k:=A To B Do
<тело цикла>;
где: k – счетчик (переменная перечислимого типа, в ней хранится количество сделанных повторов тела цикла),
А – начальное значение счетчика,
В – конечное значение счетчика,
<тело цикла> - простой или составной оператор,
шаг изменения счетчика +1.
При А>В тело цикла не будет выполнено ни разу.
Если необходимо использовать цикл со счетчиком, меняющимся с шагом -1, оператор приобретает вид:
For k:=A Downto B Do
<тело цикла>;
где А>В.
Если алгоритм требует другого шага изменения счетчика (отличного от +1 и -1), необходимо использовать другие операторы цикла (While или Repeat).
Тема 4. Обработка данных строкового типа
Символьный тип Char. Значением является один символ. Все символы упорядочены. Порядковый номер символа – его код. К данным символьного типа применимы операции отношения (сравниваются коды символов). Отображаемыми (на экране) являются символы с кодами от 32 до 255. Символы с кодами от 0 до 31 – управляющие. Русские и латинские буквы упорядочены по алфавиту.
Функции преобразования:
- Chr(X) – возвращает символ с кодом Х;
- Ord(C) – возвращает код (порядковый номер) символа С.
Порядковые функции:
- Pred(C) – возвращает символ, предшествующий символу С;
- Succ(C) – возвращает символ, следующий за символом С.
Строковый тип String. Строка – произвольная последовательность символов. Длина строки – количество символов в ней. Пустая строка не содержит ни одного символа. Ее длина равна нулю. Pascal допускает использование строк длиной до 255 символов.
Строковая константа заключается в апострофы: ‘Мама мыла раму’.
Описание строковой переменной:
Var <имя переменной> : String [N];
где N – максимальная длина строки. Если она не указана, максимальной длиной строки считается число 255.
Например:
Var Family : String [20];
Name : String [10];
P : String;
Номер символа в строке называется еще индексом. Для обращения к отдельному символу строки его индекс указывается после имени строки в квадратных скобках. Например, P[3] – 3-й символ строки P; Name[K] – K-й символ строки Name.
К данным строкового типа применима операция конкатенации (обозначается символом «+»). Например, после выполнения последовательности команд:
A:= ’тепло’;
B:= ’ход’;
C:= A+B;
в переменной С будет записана строка ‘теплоход’.
К данным строкового типа применимы операции отношения, причем строки сравниваются посимвольно, с учетом порядковых номеров символов в алфавите. Например, ‘мама’ < ’папа’, ‘машина’>’мама’.
Стандартные функции:
- Length (S) – возвращает длину строки S.
- Pos (P, S) – возвращает позицию первого вхождения строки P в строку S. Например, после выполнения последовательности команд:
A := ’крокодил’;
B := ’код’;
K := Pos (B, A);
N := Pos (‘о’, A);
M := Pos (‘a’, A);
переменные К, N, M примут следующие значения: K=4, N=3, M=0.
- Copy(S, K, N) – выделяет (копирует) часть строки S длиной N начиная с К-го символа. Например, после выполнения последовательности команд:
A := ’крокодил’;
B := Copy (A, 2, 3);
значением переменной В будет слово ‘рок’.
Стандартные процедуры:
- Delete (S, K, N) – удаляет из строки S N символов, начиная с K-го. Например, после выполнения последовательности команд:
A := ’корзина’;
Delete (A, 4, 3);
значением переменной A будет слово ‘кора’.
- Insert (P, S, K) – вставляет строку P в строку S начиная с позиции с номером K. Например, после выполнения последовательности команд:
A := ’кот’;
Insert (‘р’, A, 2);
значением переменной A будет слово ‘крот’.
- Val (S, N, K) – преобразует строку S в число N; K – номер позиции в строке S, где встретился символ, недопустимый в записи числа.
- Str (N, S) – преобразует число N в строку S.