- •Алгоритмизация и основы программирования
- •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. Подпрограммы пользователя. Назначение Преимущества модульности
- •Подпрограмма
- •Список используемой и рекомендуемой литературы
Перечисляемый тип
Упорядоченный набор идентификаторов, заданных путем их перечисления.
Пример:
TYPE
DAY = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
VAR
MyDay: Day;
BEGIN
…
MyDay:=Friday;
…
END.
Интервальный тип
Задание подмножества значений одного из ранее определенных типов.
Пример:
TYPE
MyInt = 0..1000;
3.8. Ввод-вывод данных
Любая программа предназначена для выполнения каких–либо операций с данными. Программа должна не только правильно работать, но и представить полученные данные в удобной для пользователя форме.
Вывод данных
Процедура Write позволяет вывести значения параметров в файл (если в качестве первого параметра выступает переменная файлового типа) или на экран. Пример использования процедуры Write:
Write(F, P1,P2,…); (F — переменная файлового типа)
Write(P1,P2,…);
Указание имени переменной как параметра процедуры Write приводит к выводу значения указанной переменной, а не ее имени. При выводе числовых значений возможно задание количества позиций, отводимых под все значение, и количества знаков после запятой.
Пример:
Writeln(Z:8:6);
Печатается значение переменной Z, отводится 8 позиций, 6 знаков — после запятой.
Процедура WriteLn выполняет процедуру Write и переносит курсор на начало следующей строки. Синтаксис процедуры WriteLn аналогичен процедуре Write.
Задача. Найти среднее значение трех чисел
program Srednee;
var
First, Second, Third : integer;
Sum: integer;
BEGIN
First: = 5;
Second: = 17;
Third : = 8;
Sum : = First + Second + Third;
Writeln('Среднее значение', First:4,', ',Second: 4);
Writeln (' и ', Third: 4,' равно', (Sum div 3): 3);
END.
Имеется возможность распечатать строку одних пробелов. Это может потребоваться для разделения данных. В языке Паскаль это достигается выполнением простого оператора Writeln;
Способы представления вещественных чисел
Вещественные числа могут быть записаны двумя способами. Первый — (естественный) способ состоит в том, что вещественные числа записываются в виде последовательности цифр с десятичной точкой. По обеим сторонам от точки должна располагаться по крайней мере одна цифра. Несколько примеров вещественных чисел при этом способе записи выглядят так:
3.1415, -0.5, +52.0, 1.0
Второй способ представления вещественных чисел — экспоненциальная форма, которая представляет собой вариант записи чисел, принятый в научных статьях. Например, число 900.1 может быть записано в виде 9.001E + 2
В экспоненциальной форме Е означает «десять в степени». Число справа от Е представляет показатель степени. (Необходимо заметить, что заглавная буква Е не имеет ничего общего с математическим символом е.)
Примеры:
5.00000Е - 01 = 5 * 10-1 = 0.5
5.00000Е + 00 = 5 * 10 0 = 5.0
5.00000Е + 01 = 5 * 10 1 = 50.0
-6.37104Е + 03 = -6.37104 * 103
Экспоненциальная форма удобна при записи очень больших или очень маленьких чисел. Например, часто встречающийся в начальных главах химии коэффициент преобразования, называемый числом Авогадро, может быть представлен в операторе присваивания следующим образом:
ATOMS : = MOLES * 6.02Е + 23
Пример. Вычисление синуса и косинуса
program trigonometr;
var
Angle : Real;
Rezult1, Rezult2 : Real;
BEGIN
Writeln('Задайте значение угла в радианах');
Read(Angle);
Result1: = sin(Angle);
Rezult2: = cos(Angle);
Writeln('Синус равен', Rezult1:6:3);
Wrileln('Косинус равен', Rezult2:6:3)
END.
В программе описывается три переменных: Angle, Rezult1 и Rezult2. В завершающих программу операторах Writeln показано, каким образом можно определить размеры поля для представления вещественных чисел при печати. Спецификация размеров поля для представления вещественных чисел записывается в виде :w:d, где w показывает общий размер поля, а d — число позиций для цифр справа от десятичной точки. Если в примере задачи значение угла в радианах 1.047, т. е. π/3, в результате будет напечатано:
Синус равен 0.866
Косинус равен 0.500
Если не указано численное значение d или не определены размеры поля, результаты будут напечатаны в экспоненциальной форме:
Синус равен 8.65927Е-01
Косинус равен 5.00000Е-01
Теперь можно усовершенствовать программу Srednee так, что она будет принимать новые значения переменных при каждом выполнении. Текст программы Srednee после внесения изменений показан в примере. Значения переменных в новом варианте программы вводятся с клавиатуры пользователем, не используя для этой цели операторы присваивания.