- •Литература
- •10. Основы программирования на языке turbopascal. Учебное пособие. Б. А. Крымов, а. О. Мовшин, с. В. Кулакова. Воронеж: вгта. 2000.
- •Тема 1. Основные понятия информатики
- •1.1. Место информатики в человеческой деятельности
- •1.2. Информационные процессы: подробности
- •1.2.1. Процесс сбора данных
- •1.2.2. Процесс хранения данных.
- •1.2.3. Процесс передачи данных
- •Оконечное оборудование
- •1.2.4. Процесс обработки данных
- •Тема 2. Алгоритмизация и программирование
- •2.1. Алгоритм и его свойства
- •2.2. Формы записи алгоритма
- •Var m, n : integer;
- •2.3. Базовые алгоритмические структуры
- •2.4. Последовательность подготовки и решения задачи на эвм
- •Var X,y,с11,с12,с21,с22,a,b,Dx,Dy,d : real;
- •2.5. Конструктивные элементы языка pascal
- •2.6. Структура программы на языке pascal Программа на pascal состоит из двух частей: описательная часть и собственно программные операторы (исполняемая часть – список действий).
- •Var m, n : integer;
- •Тема 3. Данные и выражения простых типов
- •3.1. Данные целого типа
- •Var имя1, имя2,...: integer;
- •3.2. Данные вещественного типа
- •Var имя1, имя2,...: real;
- •Var a2, result, psi : real;
- •3.3. Данные логического типа
- •Var имя1, имя2,...: boolean;
- •3.4. Данные символьного типа
- •Var имя1, имя2, ... : char;
- •3.5. Данные ограниченного типа
- •Var month : summer;
- •3.5. Порядок выполнения операций
- •Тема 4. Основные операторы языка pascal
- •4.1. Оператор присваивания
- •4.2. Ввод числовых данных с клавиатуры
- •4.3. Вывод данных на экран монитора
- •Writeln(a,b,c);
- •Writeln(a,' ',b,' ',c)
- •Var omega, q: real;
- •4.4. Условные и составные операторы
- •Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:
- •If Логическое выражение then оператор 1 else оператор 2;
- •Var a, b, max: real;
- •Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:
- •If Логическое выражение then оператор 1;.
- •Var a, b : real;
- •Вложенная ветвящаяся структура
- •X, y, a, b : real;
- •Var X, a, z : real;
- •4.5. Операторы цикла
- •4.5.1. Оператор цикла с предусловием Структура оператора
- •X, y, deltaX, a, b : real;
- •4.5.2. Оператор цикла с постусловием
- •X, y, deltaX, a, b : real;
- •4.5.3. Вычисление сумм
- •Var s : real;
- •Var s : real;
- •X, s, eps, a : real;
- •X, s, eps, a : real;
- •4.5.4. Оператор цикла с параметром
- •Var X, y, deltaX, a, b: real;
- •Var s: real;
- •Тема 5. Структурированные типы данных
- •5.1. Одномерные массивы
- •Var имя массива : array [тип индекса] of тип элементов;
- •Var имя массива : имя типа;
- •Имя массива [ индекс ]
- •5.2. Организация циклов с использованием массивов
- •I: integer;
- •Var max : real;
- •I : integer;
- •Var I, kP,j : integer ;
- •5.3. Двумерные массивы
- •Var I, k : integer ;
- •Var c:array [-1..8,0..19] of real;
- •I,j:integer;
- •5.4. Примеры задач с двумерными массивами
- •Var mat : array [1..N, 1..N] of real ;
- •I, j, i1, i2 : integer ;
- •Var I, j : integer;
- •Тема 6. Подпрограммы
- •6.1. Вводные понятия
- •6.2. Процедуры
- •Var p, s : real;
- •Var имя1, имя2, ... : тип параметров;
- •6.3. Функции
- •Function имя функции (список форм. Параметров) : тип результата;,
- •Var p : real;
- •Тема 7. Обзор языков программирования
- •Приложение 1 Наиболее часто используемые служебные слова pascal
- •Приложение 2 Стандартные функции pascal
3.5. Данные ограниченного типа
Все данные скалярного типа, кроме вещественных, являются упорядоченными. Порядковые типы данных – такие типы, множества значений которых упорядочены. То есть известно, какое значение является первым, какое – следующим, и т.д. до последнего. Например, после –100 в целых типах следует –99, после символа ‘a’ следует ‘b’ в типе char, и т.д. Вещественные типы не являются порядковыми, поскольку значение, следующее, например, за 1.0 точно не известно (примерно это число 1+10–18, а не 2.0, как кажется на первый взгляд).
Если возникает необходимость сузить допустимый диапазон значений, принимаемых данными некоторого скалярного типа, то это можно сделать, наложив на них ограничения. Таким образом, можно создать новый тип данных, называемый ограниченным (интервальным или диапазоном). По отношению к ограниченному, тип, на значения которого наложены ограничения, называется базовым.
Ограничение множества значений базового типа осуществляется путем указания левой и правой границ, определяющих подмножество значений, которые могут принимать данные ограниченного типа. Границы эти отделяются друг от друга двумя подряд стоящими точками, причем левая граница не должна быть больше правой.
Например, 1..10 – возможные значения констант ограниченного типа 1, 2, …, 10; базовый тип – integer;
’А’ .. ’K’ – значения, которые могут принимать константы ограниченного типа, являются символы алфавита от А до К включительно; базовый тип – char.
Ограниченные переменные любого базового типа могут принимать значения из указанного для них диапазона, включая его границы. Они должны быть описаны либо только в разделе описания переменных программы, либо в двух разделах – описания типов и описания переменных. Второй способ описания является предпочтительным.
Пример 3.4.
type
Year = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug,
Sep, Oct, Nov, Dec);
Summer = (Jun .. Aug);
Var month : summer;
a, b : (1.. 100);
Сначала в разделе описания типов программы с помощью имени year введен перечисляемый тип, состоящий из 12 констант, затем ограниченный тип задан именем summer и, наконец, в разделе описания переменных переменная month объявлена принадлежащей типу summer. Таким образом, ограниченная переменная перечисляемого типа month может принимать значения из диапазона Jun .. Aug, т.е. Jun, Jul или Aug. Кроме того, в разделе описания типов описаны две переменные ограниченного типа a и b, принимающие целые значения в диапазоне от 1 до 100.
3.5. Порядок выполнения операций
Выражения вычисляются с учетом приоритетов (старшинства) операций. Первыми выполняются операции, имеющие более высокий приоритет по сравнению с другими. Операции одного приоритета выполняются в направлении слева направо. Приведем сводную таблицу приоритетов операций над данными простых типов.
Операции во внутренних скобках.
Операции обращения к функциям.
Операции типа умножения: *, /, div, mod, and.
Операции типа сложения: +, – , or.
Операции отношения >, = и т.д.
Данная таблица позволяет объяснить, почему в сложных логических выражениях операции отношения заключаются в скобки – это необходимо из-за их низкого приоритета. Так, если записать без скобок выражение
a > 5 and b <= 16,
то сначала должна выполниться операция 5 and 16, которая лишена смысла. После расстановки скобок получим корректное выражение
(a > 5) and ( b <= 16).
Еще пример. Выражение можно записать на PASCAL без скобок: a/2/b. Так как две операции деления имеют одинаковый приоритет, то они будут выполняться в порядке их записи: сначала а разделится на 2, затем – то, что получилось, разделится на b.