- •Содержание
- •Алгоритмизация
- •Условное обозначение для графического изображения алгоритмов
- •Основы программирования Язык программирования
- •Основные понятия языка программирования
- •Основные принципы структурного программирования
- •Трансляторы. Компиляторы. Интерпретаторы.
- •Турбо Паскаль. Начальный курс
- •Идентификаторы и служебные слова
- •Константы и переменные
- •Комментарии
- •Структура программы на языке Turbo Pascal
- •Элементарные конструкции языка
- •Правила набора листинга программы:
- •Раздел uses
- •Раздел описание меток
- •Типы данных
- •Простые (скалярные) типы
- •Структурированные типы данных
- •Пустой, простой и составной операторы
- •Оператор присваивания
- •Ввод данных
- •Вывод данных
- •Вывод данных по формату
- •Генератор случайных чисел
- •Условные операторы
- •Условный оператор if
- •Оператор выбора case
- •Операторы цикла
- •1. Цикл с параметром (счетчик)
- •2. Цикл с предварительным условием (с предусловием, цикл «Пока»)
- •3. Цикл с постусловием.
- •Символьные переменные и строки
- •Задачи для самостоятельной домашней работы (повторение):
- •1 Блок – Задачи по алгоритмизации
- •2 Блок – Задачи по составлению линейных программ с помощью программного кода
- •3 Блок – Задачи по составлению программ с помощью разветвляющего алгоритма
- •4 Блок – Задачи по составлению программ с помощью циклического алгоритма
- •5 Блок – Задачи по обработке символьных и строковых типов данных
Генератор случайных чисел
Для работы со случайными числами подключается генератор с помощью процедуры RANDOMIZE (указывается после первого BEGIN)
Для дальнейшего использования применятся функция RANDOM. Формат записи:
|
:= RANDOM |
Действительные числа из диапазона от 0 до 1 |
|
:= RANDOM (N) |
Целые числа из диапазона от 0 до N-1 |
|
:= RANDOM (N+M+1)+M |
Целые числа из диапазона от N до M |
|
|
|
|
Пример: |
|
|
A := random (11)-5 |
Переменная a принимает случайное целое значение из диапазона от -5 до 5 |
|
B := random (20) |
Переменная b принимает случайное целое значение из диапазона от 0 до 19 |
Задача 1. Вычислить произведение двух вещественных чисел, которые формируются с помощью генератора случайных чисел. Вывести результат с точностью 3 знака после запятой.
Program Primer1;
Uses crt;
Var a, b, p:real;
Begin
Randomize;
a:=random;
b:=random;
p:=a*b;
Writeln('p=',p:6:3);
Readln;
End.
Условные операторы
Блок схема разветвляющегося алгоритма
Разветвляющийся алгоритм применяется, когда в зависимости от условия необходимо выполнить либо одно, либо другое действие. Эти действия могут быть составным оператором. При словесном способе описания разветвления, последовательность такова:
1.Если выполняется условие, то выполняется оператор1
2. Если условие не выполняется, то выполняется оператор2.
В TP имеются два условных оператора: if и case
Условный оператор if
Формат записи: 1 вариант: if <условие> then <оператор1> else <оператор2>
{ если <условие> то <оператор1> иначе <оператор2>}
2 вариант: if <условие> then <оператор1>
{ если <условие> то <оператор1>}
Принцип действия: сначала проверяется или вычисляется условие. В результате получается значение булевского типа. Если значение условия True (Истина), то выполняется <оператор1> (стоящий после then); если значение условия False (Ложь) – выполняется <оператор2> (стоящий после else).
Задача.
Задано число х. Вычислить S.

В качестве <оператора1> и <оператора2 > могут использоваться и составные операторы. Тогда необходимо их объединять с помощью операторных скобок (begin и end).
|
Формат записи: if <условие> then begin <оператор1> <оператор2> …. <операторN> end else begin <оператор1> <оператор2> …. <операторM> end; |
|
Операторы if могут быть вложенными (составными).
Например: if <условие> then
if <условие> then <оператор1> else <оператор2>
Оператор выбора case
Оператор case позволяет сделать выбор из произвольного числа имеющихся вариантов. Оператор состоит из выражения-селектора (selection – выбор альтернативы), относительно которого выбирается вариант, и списка параметров, каждому из которых константа или список констант.
|
Формат записи: case <выражение-селектор>of <константа1>: <оператор1>; <константа2>: <оператор2>; ………………………… <константаN>: <операторN>; else <оператор>; end. |
Принцип действия: сначала вычисляется значение <выражения-селектора>, затем выполняется тот оператор, константа которого равна значению <выражения-селектора>. Если ни одна константа не равна значению <выражения-селектора>, то выполняется оператор, стоящий за else. Если слово else отсутствует, то выполняется оператор, стоящий после слова end, т.е. находящийся за пределами оператора case.
|
<Выражение-селектор> должен относиться к одному из целочисленных типов, булевскому, символьному или пользовательскому. Список констант состоит из произвольного количества значений или диапазона. Границы диапазона записываются следующим образом: a..b, где a – начальное значение диапазона, b – конечное значение.
Тип констант обязательно должен совпадать с типом <выражения>. <операторы>, идущие после констант могут быть составными операторами.
|
Формат записи: case <выражение-селектор>of <константа1>: begin <оператор1>; <оператор2>; …………….. <операторM>; end; ………………………… <константаN>: <операторN>; else <оператор>; end. |
|
Program
solution; var
a:integer; x,s:real; begin
writeln(‘Введите
x’); readln
(x);
writeln(‘Введите
a’); readln
(a); case
a of 1:
s:=x+1; 5:
s:=x+2; 7:
s:=x+3; 11:
s:=x+10; else
s:=x; end; writeln(‘s
=’,s); end.
Задача. Вычислить
