- •Введение
- •1. Программирование на языке Паскаль
- •1.1. Структура программы
- •1.2. Типы данных
- •1.2.1. Целый тип данных
- •1.2.2. Логические типы данных – Boolean
- •1.2.3. Данные символьного типа
- •1.3. Операторы языка программирования Турбо Паскаль
- •1.3.1. Операции в Турбо Паскаль
- •1.3.2. Правила вычисления выражений
- •1.3.3. Встроенные функции в Турбо Паскаль
- •1.3.4. Описание констант и переменных
- •1.3.5. Операторы в Турбо Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №1 Организация программ линейных структур
- •2. Организация форматного вывода данных на языке Паскаль
- •Варианты задания
- •3. Организация программ разветвляющихся структур
- •3.1. Полная форма условного оператора
- •3.2. Краткая форма условного оператора
- •Вопросы для самопроверки
- •Лабораторная работа №3 Организация программ разветвляющихся структур
- •Варианты заданий
- •4. Организация циклических процессов
- •Лабораторная работа №4 Составление циклических программ
- •Варианты заданий
- •Методические указания
- •Варианты заданий
- •5. Программирование структур с вложенными циклами
- •Вопросы для самопроверки
- •Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
- •Методические указания
- •Варианты заданий
- •6. Перечислимые и ограниченные типы данных
- •6.1 Перечислимый тип данных
- •6.2. Ограниченный тип данных
- •6.3. Оператор выбора (варианта)
- •Вопросы для самопроверки
- •Лабораторная работа №6 Перечислимые и ограниченные типы данных
- •Варианты заданий.
- •7. Регулярные типы данных
- •7.1. Одномерные массивы
- •7.1.1. Краткая форма объявления одномерного массива
- •7.1.2. Полная форма объявления одномерного массива
- •7.1.3. Доступ к элементам массива
- •Вопросы для самопроверки
- •Лабораторная работа №7_1 регулярные типы данных. Массивы
- •Варианты заданий
- •7.2. Двумерные массивы
- •Вопросы для самопроверки
- •Лабораторная работа №7_2 регулярные типы данных. МАтрицы
- •Варианты заданий
- •7.3. Сортировка элементов массива
- •7.3.1. Сортировка методом «пузырька»
- •7.3.2. Сортировка вставками
- •7.3.3. Сортировка посредством выбора
- •7.3.4. Быстрая сортировка
- •8. Составление программ с использованием подпрограмм
- •8.1. Область видимости идентификатора переменной
- •8.2. Подпрограммы - процедуры (procedure)
- •8.2.1. Формальные и фактические параметры
- •Вопросы для самопроверки
- •8.3. Подпрограммы-функции (function)
- •Вопросы для самопроверки
- •Лабораторная работа №8_2 составление программ с использованием подпрограмм - функций
- •Варианты заданий
- •8.4. Рекурсия
- •8.4.1. Вычисление факториала
- •8.4.2. Формы рекурсивных процедур
- •8.4.3. Числа Фибоначчи
- •Вопросы для самопроверки
- •9. Модули
- •Вопросы для самопроверки
- •Лабораторная работа №9 составление программ с использованием модулей
- •Варианты заданий
- •10. Строковые типы данных (String)
- •10.1 Операции со строками
- •10.2. Стандартные процедуры и функции для строк
- •10.3. Хранение строк
- •Вопросы для самопроверки
- •Лабораторная работа №10 обработка символьной информации
- •Варианты заданий
- •11. Комбинированные типы. Записи (Record)
- •11.1 Записи с фиксированными частями
- •11.2. Оператор with…do
- •11.3. Вариантные записи
- •Вопросы для самопроверки
- •Лабораторная работа №11 Комбинированные типы. Записи
- •Варианты заданий
- •12. Файлы
- •12.1. Классификация файлов
- •12.1.1. Чтение файла
- •12.1.2. Запись файла
- •Вопросы для самопроверки
- •Лабораторная работа №12 организация работы с внешней памятью
- •Варианты заданий
- •13. Множества
- •13.1. Объявление множества
- •13.2. Операции над множествами
- •13.3. Сравнение множеств
- •13.4. Старшинство множественных операций
- •Вопросы для самопроверки
- •Лабораторная работа №13 множества
- •Варианты заданий
- •Библиографический список
Вопросы для самопроверки
Какие известны объекты алгоритмов?
Какова структура программы на языке Паскаль?
Дайте определение раздела Var?
Зачем используется раздел Type?
Что описывают в разделе Cons?.
Где располагают раздел Procedure, Function?
Каков диапазон значений целого типа?
Каков объём памяти требуется для данных вещественного типа?
Как описываются данные символьного типа?
Для чего используют данные логического типа?
Объясните принцип работы оператора присваивания?
Каков формат оператора ввода?
Каков формат оператора вывода?
Дайте определение идентификатора?
Что такое служебные слова? Привести пример.
Где подключают стандартные функции библиотеки Турбо Паскаля? Привести пример.
Лабораторная работа №1 Организация программ линейных структур
Данная работа посвящена изучению и реализации линейных конструкций в программах на языке Паскаль, а также освоению элементарных синтаксических конструкций и данных.
Цель работы. Получить навыки вычисления выражений с использованием стандартных функций языка и элементарные навыки составления программ линейных структур.
Задание. Вычисление выражений с использованием стандартных функций языка Паскаль.
Постановка задачи. Вычислить значение функции f(x) при заданном значении аргумента.
Варианты заданий
№ |
Формула |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
2. Организация форматного вывода данных на языке Паскаль
При программной реализации допускается вывод данных с форматом и без него. Для выводимых значений (по умолчанию) переменных отводятся следующие поля:
13 – для целого и действительного чисел;
1 – для символа;
4 или 5 – для True или False;
Если целое число заполняет позиций меньше, чем 13, то соответствующее поле перед числом заполняется пробелом. Если отсутствует формат для действительного числа, то оно выводится в форме с плавающей запятой (мантисса и порядок). Если нужно вывести текстовую информацию, то всю текстовую информацию заключают в кавычки.
Например, вывести значение Z=12.8 на печать: WRITE (‘Значение Z = ’, Z);
В результате получим: Значение Z =_1.280000Е+01. По умолчанию вещественное число выводится на экран монитора в экспоненциальной форме.
Форматный вывод имеет следующий вид:
a:m:n для действительных чисел;
a:m для целых, где m – общее поле выводимого числа, включая знак числа, целую, дробную часть, точку, n – поле дробной части.
Если при выводе действительных значений количество позиций, отводимых под дробную часть числа, не указывается, то результат получается в нормализованном виде с десятичным порядком.
При выводе нескольких значений на одной строке для наглядности задаются необходимым количеством пробелов, выводимых по формату ‘’:m, где m – константа целого типа, указывающая число пробелов.
Например, WRITE (A, ‘’:5, B);
Здесь, между значениями A и B обеспечивается интервал в 5 пробелов.
Рассмотрим примеры размещения информации при выводе.
Пример 2.1.
PROGRAM FORM1;
CONST PI = 3.141592;
K = 375;
L = FALSE;
MIN = ‘M’;
BEGIN
WRITELN (PI:8:6);
WRITELN (K:3, ‘’:4, L:5, ‘’:4, MIN:1);
END.
Пример 2.2.
PROGRAM FORM2;
CONST PI = 3.141592;
K = 375;
L = FALSE;
MIN = ‘M’;
C = 186.29E-3;
BEGIN
WRITELN (‘’:4, ‘Константы’);
WRITELN (‘PI = ’, PI:8:3);
WRITELN (‘K = ’, K:3, ‘’:4, ‘L = ’, L:5);
WRITELN (‘Символ’, MIN:3, ‘’:4, ‘C = ’, C:11);
END.
Информация будет выведена в виде:
3.141592
375_ _ _ _ FALSE_ _ _ _ M
Информация будет выведена в виде:
_ _ _ _ Константы
pi = 3.141592
K = 375_ _ _ _ L = FALSE
Символ _ _ M_ _ _ _C = 0.18629E_00
Пример 2.3.
PROGRAM FORM3;
VAR F, G, H : CHAR;
BEGIN
WRITELN (‘Введите символы’);
READLN (F, G, H);
WRITELN (‘первый символ F - ’F);
WRITELN (‘второй символ G - ’, G);
WRITELN (‘третий символ H - ’, H);
END.
Информация будет выведена в виде:
Введите символы
Help me
Первый символ F - H
Второй символ G- e
Третий символ H – l
Вопросы для самопроверки
Каков формат оператора ввода данных?
Каков формат оператора вывода данных?
Как организовать ввод символьных данных?
Как осуществить стандартный вывод данных?
Объясните принцип форматного вывода данных целого типа?
Объясните принцип форматного вывода данных вещественного типа?
Лабораторная работа №2
Организация ввода-вывода данных на языке Паскаль
Цель работы. Получение навыков в организации ввода-вывода значений стандартных типов данных и практических навыков работы в диалоговом режиме с исходными значениями.
Задание. Организация ввода-вывода данных.
Постановка задачи. Организовать ввод и вывод данных заданных типов, используя соответствующие строковые пояснения.
Методические указания
При вводе с терминала числа и символы можно набрать как на одной строке, так и на различных строках. При этом следует помнить, что ввод со следующей строки осуществляется в том случае, если предыдущем оператором является READLN.
Переменной логического типа можно присвоить значение любого в разделе const, либо в операторе присваивания. Вводить значения переменных логического типа не допускается.
При работе в диалоговом режиме следует перед операторами ввода использовать оператор вывода на экран приглашения-подсказки о том, что наступило время ввода информации и какой именно. Например: WRITELN (ВВЕДИТЕ ЦЕЛЫЕ ЧИСЛА K, L, M ).
Выводить данные можно двумя способами: в стандартном формате и с указанием ширины поля ввода.
Конкретные значения исходных данных задавать самостоятельно исходя из типа данного.
Пример программы. Исходные данные: K=-73, L=12, M=21425, X=-4192.21, y=21.345, S1=*, S2=V, S3=F.
Program wwod;
Const log=true;
Var k,l,m : integer; x,y : real; s1,s2,s3 : char;
begin
writeln (ВВЕДИТЕ ЦЕЛЫЕ ЧИСЛА K,L,M:);
read (k,l,m);
writeln ( :30,целые числа);
writeln ( :15,стандартный формат:, :12,заданная ширина поля);
writeln ( , k, l, m, :5, K=,K:3, L=, L:2, M, M:5;
writeln;
writeln(ВВЕДИТЕ ВЕЩЕСТВЕННЫЕ ЧИСЛА X,Y:);
readln(x,y);
writeln( :25,ВЕЩЕСТВЕННЫЕ ЧИСЛА );
writeln( :5,СТАНДАРТНЫЙ ФОРМАТ, :18, ЗАДАННАЯ ШИРИНА ПОЛЯ);
writeln( :5, x, y,. :10, X=,X:8:2,Y , Y:6:3);
writeln;
writeln(ВВЕДИТЕ СИМВОЛЫ S1,S2,S3:);
readln(s1,s2,s3);
writeln( :20, СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ:,S=, S1,.S2=, S2, S3=, S3);
writeln(ПЕЧАТЬ СИМВОЛЬНЫХ ПЕРЕМЕННЫХ С ШИРИНОЙ ПОЛЯ 5:, S1:5, S2:5, S3:5);
writeln(ЛОГИЧЕСКАЯ ПЕРЕМЕННАЯ = , LOG);
writeln( :35, ПРОГРАММА ВЫПОЛНЕННА СТУДЕНТОМ ГРУППЫ……ФИО);
END.