- •Оглавление
- •Тема1 41
- •Тема 2 Условный оператор, оператор выбора 41
- •Тема 4. Строки и символы 43
- •Предисловие
- •1 Основы построения программы на языке Турбо-Паскаль
- •1.1 Алфавит языка и специфика его использования
- •1.2 Этапы решения задачи на эвм
- •1.3 Общая структура программы на языке Паскаль
- •1.4 Выражения
- •1.4.1 Арифметические выражения
- •1.4.2 Логические выражения
- •1.5 Стандартные функции
- •2 Типы данных
- •2.1 Стандартные типы данных
- •2.1.1 Целочисленные типы
- •2.1.2 Логический тип (булевый тип).
- •2.1.3 Символьный тип
- •2.1.4 Перечисляемый тип
- •2.1.5 Интервальный тип
- •2.1.6 Вещественный тип
- •2.2 Объявление констант
- •2.3 Объявление переменных
- •3 Алгоритмизация вычислительных процессов
- •3.1. Понятие алгоритма
- •3.2 Операторы для записи линейных процессов
- •3.2.1 Оператор присваивания
- •3.2.2 Оператор ввода числовых данных
- •3.2.3 Оператор вывода числовых данных
- •3.2.4 Вывод числовых данных с форматом
- •4 Разветвляющиеся вычислительные процессы
- •4.1 Типы разветвляющихся алгоритмов
- •4.2 Операторы перехода
- •4.2.1 Условный оператор
- •4.2.3 Оператор выбора
- •4.2.4 Метка. Оператор перехода
- •5 Итерационные циклические процессы
- •5.1 Типы циклических процессов
- •5.2 Итерационные циклические процессы
- •5.2.1 Оператор цикла с предварительным условием
- •5.2.2 Оператор цикла с последующим условием
- •5.3 Оператор цикла с параметром
- •6 Структурированные типы данных
- •6.1 Массивы
- •6.2 Записи
- •6.2.1 Оператор присоединения
- •6.3 Множества
- •6.4 Строки
- •6.4.1 Основные операции
- •7 Подпрограммы
- •7.1 Процедуры
- •7.2 Функции
- •8 Работа с файлами
- •8.1 Инициация файла
- •8.2 Процедуры и функции для работы с файлами
- •8.3 Текстовые файлы
- •8.4 Типизированные файлы
- •8.5 Нетипизированные файлы
- •9 Указатели и динамическая память
- •9.1 Выделение и освобождение динамической памяти
- •10 Модули
- •10.1 Компиляция модулей
- •10.2 Стандартные модули
- •10.2.1 Модуль crt
- •10.2.2 Модуль Graph
- •10.2.3 Модуль Overlay
- •Индивидуальные задания
- •Тема 2 Условный оператор, оператор выбора
- •Тема 3.
- •Задание в - обработка числовых последовательностей
- •Тема 4. Строки и символы
- •Тема 5. Массивы
- •Тема 6. Файлы
- •Тестовые задания
- •Электронные образовательные интернет-ресурсы Дистанционные курсы
- •Электронные учебники
3.2.2 Оператор ввода числовых данных
Ввод числовых данных на Паскале выполняется оператором READ и READLN. Общий вид операторов следующий:
READ(a1, a2,..., an);
READLN;
READLN(a1, a2, ... , an); ,
где а1, а2,..., аn - имена переменных, которым последовательно присваиваются вводимые с клавиатуры числовые значения.
При выполнении оператора READ вычислительная система приостанавливает работу и ждет ввода значений переменных, указанных в данном операторе. Если в операторе указано два и более переменных, то значения этих переменных при наборе на клавиатуре печатаются через пробел или <Enter>. Также допускается применение оператора ввода без параметров - READLN. Этот оператор выполняет переход на новую строку и приостанавливает работу компьютера до тех пор, пока пользователь не нажмет клавишу <Enter>.
При выполнении оператора READLN(а1, а2,..., аn) вводятся значения всех переменных, а затем осуществляется переход на новую строку.
Следует помнить, что значения переменных и их имена должны соответствовать одному и тому же типу.
3.2.3 Оператор вывода числовых данных
Вывод числовых данных выполняется операторами WRITE и WRITELN, которые имеют вид:
WRITE(b1, b2,..., bn);
WRITELN;
WRITELN (b1, b2,..., bn);
Оператор Write выполняет вывод значений b1, b2,..., bn в одной строке. Оператор WriteLn без параметров осуществляет переход к новой строке. Оператор WriteLn с параметрами после вывода последнего значения осуществляет переход на новую строку.
Примеры:
1) Write(a, b); Write(c); - вывод значений а, b, с в одну строку;
2) Writeln(a, b); Write(c); - вывод значений а и b на одной строке,
с - на следующей строке.
3.2.4 Вывод числовых данных с форматом
В случае бесформатного вывода значения целого типа выводятся в виде последовательности цифр и знака; значение действительного числа выводится в форме с плавающей точкой (или экспоненциальной форме) с указанием мантиссы и порядка.
При выводе с форматом формат вывода указывается после переменной через двоеточие - :L:D. Для целых чисел формат состоит из одной величины L, равной количеству символов, выделяемых под число. Для вещественных чисел формат состоит из двух величин, указывающих на количество символов, выделяемых под само число L и количество цифр в дробной части D. L включает позиции под знак, целую часть, десятичную точку и дробную часть числа.
Общий вид оператора следующий:
Write (v:L) - для целых переменных;
Write (v:L:D) - для вещественных переменных.
Здесь v - переменная, значение которой выводится на экран;
L - общая длина поля числа;
D - количество символов в дробной части числа.
Пример:
Var
a,b : Integer;
c : Real;
Begin
A:=25; B:=7; C:=2.09;
Writeln(A:5, B:3);
Writeln;
Write(C:7:2);
End.
После запуска программы на экране появится следующее
---25--7
---2.09
где ‘-‘ это пробел.
4 Разветвляющиеся вычислительные процессы
4.1 Типы разветвляющихся алгоритмов
Одним из типовых структур алгоритмов является разветвляющийся вычислительный процесс, в котором направление вычислений зависит от результата проверки некоторого условия. Направления, по которым может следовать вычислительный процесс, называют его ветвями. В программах разветвляющихся процессов необходимо нарушить естественный порядок выполнения операторов и обеспечить выполнение той последовательности операторов, которая соответствует выбранным условиям. В языке Паскаль это реализуется специальными операторами или операторными структурами, которые называются операторами перехода.
Схему алгоритма разветвленной структуры характеризует наличие блока "решение", который имеет два выхода, помеченные словами "да" и "нет". Этот блок также называется логическим блоком. В этом блоке осуществляется проверка выполнения некоторого логического условия. Если условие "истинно", вычислительный процесс идет по выходу "да", в противном случае - по выходу "нет".
Различаются три типа разветвляющихся алгоритмов, функциональные схемы которых приведены на рисунке 4.1.а), 4.1.б) и 4.1.в).
б)
. . .
нет нет
да да да
S2
Sk
. . .
выход
в)
Рис.4.1. Функциональные схемы разветвляющихся процессов.
Ветвление, представленное на рис.4.1.а), называется обходом, так как оператор S, записанный в арифметическом блоке, не выполняется, если условие В ложно. При реализации вычислительного процесса арифметический блок будет обойден, и направление вычислений пойдет по ветви "нет".
Выбор из двух возможностей, или альтернатива, представлен на рис.4.1.б). Если проверяемое условие В будет истинным, выполнится оператор S1, в противном случае выполнится оператор S2. Отметим, что алгоритм обхода является частным случаем альтернативы.
Выбор из многих возможностей представлен на рис.4.1.в). Здесь Вi представляют собой условия выбора, по значениям которых выполняется один из соответствующих им операторов S1, S2, . . , Sk.