Приобретение навыков по работе с системой ABC-Pascal; приобретение навыков определения типов переменных в зависимости от характеристик данных и разработки линейной программы на языке ПАСКАЛЬ с вводом и выводом данных.
1.2 Задание на лабораторную работу:
1.2.1 Освоить функции системы ABC-Pascal для подготовки текста программы к компиляции и запуску на выполнение (п. 1.5 1 - 1.5.2).
1.2.2 Составить программу ввода значений переменных заданного типа и вывода результатов вычислений в стандартном и заданном формате (в соответствии с вариантом задания).
1.2.3. Вычислить значение уравнения.
Выполняемые вычисления предлагает и составляет разработчик программы (вычисления можно не выполнять, тогда программа должна выполнять только ввод данных и их вывод на экран)
1.3 Требования к программе
Программа должна выводить:
• сообщения - подсказки перед вводом данных;
• сообщение о выводе результатов;
• результаты в виде: <Имя переменной>=<3начение переменной>.
1.4 Порядок выполнения работы
1.4.1 Получить вариант задания (п. 1.9). Варианты задания содержат данные о количестве, диапазонах изменения и точности представления результатов переменных. Например, программа должна обеспечивать ввод и вывод двух целых, трех вещественных чисел, четырех символов и значения одной переменной логического типа.
1.4.2 Изучить функции системы ABC-Pascal для подготовки текста программы к компиляции и запуску на выполнение. Освоить функции редактора для подготовки текста программы (п. 1.5.1 - 1.5.2)
1.4.3 Изучить структуру Паскаль-программы, операторы определения переменных стандартных типов и операторы ввода-вывода значений переменных указанных типов (п. 1.6 – 1.7).
1.4.4 Подготовить текст программы и отладить программу с использованием среды Турбо-Паскаля (п. 1.5, 1.8).
1.4.5 Ответить на контрольные вопросы (п. 1.11).
1.4.6 Оформить отчет (п. 1.10).
1.5 Технология создания программы в интегрированной среде
1.5.1. Порядок создания программы на Турбо-Паскале
При выполнении лабораторных работ используется интегрированная система (среда) ABC-Pascal, которая позволяет выполнять все функции, необходимые для создания программы: подготовку текста программы; компиляцию (перевод исходного текста программы в машинный код); отладку; выполнение; формирование исполняемого (загрузочного) модуля.
При входе в интегрированную среду Паскаля на экране появляется окно, в верхней части которого находится главное меню функций (рис. 1) и кнопки на панели инструментов.
Рисунок 1
Пункты Главного меню выполняют следующие функции.
Меню Файл
Меню Правка
Меню Вид
Меню Программа
Меню Сервис
Примеры использования клавиш редактирования текста:
Ins - включение/выключение режима вставки/замены символа в позиции курсора;
клавиши со стрелками - сдвиг курсора в соответствующем направлении;
End - перемещение курсора в конец строки;
Home - перемещение курсора в начало строки;
PgUp - сдвиг текста программы на страницу назад;
PgDn - сдвиг текста программы на страницу вперед;
Ctrl+W - сдвиг строк текста программы вниз;
Ctrl+Z - сдвиг строк текста программы вверх;
Ctrl+стрелка вправо - перемещение курсора на слово вправо;
Ctrl+стрелка влево - перемещение курсора на слово влево;
<--(Backspace) - удаление символа слева от курсора;
Del - удаление символа над курсором;
Ctrl+Y - удаление строки;
Ctrl+Q,Y - удалить символы от курсора до конца строки;
Ctrl+N - вставка строки.
Имеются и другие возможности для редактирования текста (см. Help).
1.6. Справки по структуре и операторам Паскаль-программы
При выполнении данной работы рекомендуется использовать программу со следующей структурой:
Program <имя_программы>; {—раздел определения переменных—}
var < имя_перем., имя_переменной, ... > : <тип_переменных>;
Разновидности целого и вещественного типа даны в таблице 1.
Таблица 1
Целый тип
Диапазон значений
Размер памяти
короткое целое (Shortint)
-128..127
1 байт
целое (Integer)
-32768..32767
2 байта
длинное целое (Longint)
-2147483648..2147483647
4 байта
байт (Byte)
0..255
1 байт
машинное слово (Word)
0..65535
2 байта
Вещественный тип
Диапазон значений
Число знаков мантиссы числа
Размер памяти
вещественное (Real)
-2.9x10e39 .. 1.7x10e38
от 11 до 12
с одинарной точностью (Single)
-1.5x10e45 .. 3.4x10e38
от 7 до 8
с двойной точностью (Double)
-5.0x10e324 .. 1.7x10e308
от 15 до 16
с повышенной точностью (Extended)
-1.9x10e4951 .. 1.1x10e4932
от 19 до 20
сложный тип (Comp)
-2e63+1 .. 2e63-1
Примечание: Сложный тип содержит только целочисленные значения в диапазоне от –2e63+1 до 2e63-1, что приблизительно равно -9.2x10e18 и 9.2x10e18.
Для вывода поясняющего текста (подсказок оператору ЭВМ) можно использовать операторы типа:
write('Сообщение о вводе данных');
Writeln('Сообщение о выводе результатов');
Для ввода данных можно использовать операторы типа;
Read(A,B,C);
Readln(S1);
При вводе числа разделяются пробелом, символы - без разделения. Для вывода результатов можно использовать операторы типа:
Write(Result_R:7:2);
где «7» — количество разрядов числа, «2» — количество разрядов после десятичной точки.
Writeln(Result_l);
1.6.1 Арифметические выражения на языке ABC-Pascal.
А+В-сложение вещественных или целых чисел,
А-В-вычитание вещественных или целых чисел,
А∙В-умножение вещественных или целых чисел,
А/В-деление вещественных чисел,
A div В - деление целых чисел (целая часть частного).
Порядок выполнения действий определяется рангом (старшинством) операций или скобками по правилам алгебры.
1.6.2 Оператор присваивания.
<переменная> := <арифметическое_выражение> или <константа>, например: Result := (А + В) / X; Bl :=true;
1.7 Пример подготовки и выполнения программы
После загрузки среды нажмите F10 и выберите File, New для создания нового окна. После этого можно приступить к набору текста программы, нажимая Enter в конце каждой строки. Например:
Для сохранения программы выберите команду Сохранить из меню Файл (или F2).
Для компиляции программы нажать F9.
ABC-Pascal компилирует программу, переводя ее с языка Паскаль (который можно читать) на машинный код для микропроцессора (который может выполнить Ваш компьютер)
При наличии ошибки см. п. 1.8.
Для выполнения программы следует выбрать Программа/Выполнить в главном меню (или нажать Ctrl+F9). Будет выполнен переход на экран пользователя, и на этом экране появится сообщение, которое выводит Ваша программа:
Введите два вещественных числа:
Наберите два любых числа с пробелом между ними и нажмите Enter. Появится следующее сообщение:
Результат =
а за ним - отношение первого числа ко второму. В следующей строке появится сообщение "Нажмите ВВОД (Enter)", а программа будет ждать нажатия клавиши Enter. Чтобы посмотреть вывод своей программы, выберите Window/User Screen (или нажмите Alt+F5). Если во время выполнения программы произошла ошибка, то на экране появится сообщение, которое выглядит следующим образом:
Run-time error <errnum> at <segment>:<offset>
где <errnum> - это соответствующий номер ошибки, <segment>:<offset> - это адрес в памяти, где произошла ошибка. Вы окажетесь в точке расположения ошибки в своей программе с описательным сообщением об ошибке. Пока сообщение находится в строке статуса редактора можно нажать F1 для получения справочной информации по конкретной ошибке. Нажатие любой другой клавиши приводит к исчезновению сообщения об ошибке.
1.8 Ошибки компиляции
Какие ошибки компиляции вероятнее всего Вы получите? Наиболее возможными ошибками для начинающего программиста на языке Паскаль будут:
Таблица 2
Error
2: Identifier expected
{ Ожидается идентификатор }
Error
3: Unknown identifier
{ Неизвестный идентификатор }
Error
4: Duplicate identifier
{ Копия идентификатора }
Error
12:Type identifier expected
{ Ожидается тип идентификатора}
Error
26: Type mismatch
{ Несоответствие типов }
Error
36: BEGIN expected
{ Ожидается BEGIN }
Error
37: END expected
{ Ожидается END }
Error
62: Division by zero
{ Деление на 0 }
Error
85: “;”expected
{ Ожидается ";" }
Error
86: “:” expected
{ Ожидается ":" }
Error
87: “,” expected
{ Ожидается ”,” }
Error
88: "("expected
{ Ожидается "(" }
Error
89: “)” expected
{ Ожидается ")" }
Error
90: "=" expected
{ Ожидается "=" }
Error
91: '':='' expected
{ Ожидается ":=" }
Error
92: '[" or "(." expected
{ Ожидается '[" или "(." }
Error
93: “]” or ”.)” expected
{ Ожидается "]" или ".)" }
Error
94: "." expected
{ Ожидается "." }
Error
113: Error in stateme
{ Ошибка в операторе }
Паскаль требует, чтобы Вы объявили все переменные, типы данных, константы и подпрограммы - все идентификаторы - перед их использованием. Если Вы обратитесь к необъявленному идентификатору или пропустите его, то при компиляции будет обнаружена ошибка. Другой частой ошибкой является несоответствие пар begin..end, присваивание несовместимым типам данных (например, присваивание действительного числа целому), число и тип параметров не соответствуют в вызовах процедур и функций и т.д.
Если во время компиляции обнаружена ошибка, ABC-Pascal останавливается, устанавливает курсор на ошибку в редакторе и показывает сообщение об ошибке вверху редактора. (Первое нажатие клавиши очистит это сообщение, a Ctrl+Q+W будет показывать его снова до тех пор, пока Вы не измените файл или не перекомпилируете его). Сделайте исправления, сохраните обновленный файл и компилируйте снова.