Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
рактическое занятие № 4
Типы
ростые
Сложные
Ограниченные
Скалярные
Перечисление
Стандартные
Записи
Массивы
Множества
Файлы
Строки
Целые
Вещественные
Логические
Символьные
Рис. 1
Цель работы: изучить алфавит и типы данных языка Pascal; научиться записывать выражения и использовать стандартные функции. Познакомиться с операторами ввода-вывода, присваивания. Изучить структуру программы на языке Pascal.
1 ОБЩИЕ СВЕДЕНИЯ
Алфавит языка набор зарезервированных символов и ключевых слов, используя которые, пользователь создает свои прикладные программы.
Основными символами языка в системе программирования Pascal являются:
Нет различий между большими и малыми буквами при их использовании для определения имен переменных, процедур, функций и меток. В символьных константах и комментариях могут использоваться любые другие знаки (например, буквы русского алфавита).
Идентификаторы используются в качестве имен переменных, констант, программ, процедур и т.п., начинаются с латинской буквы или знака подчеркивания и состоят из латинских букв, цифр и знаков подчеркивания. Прописные и строчные буквы не различаются. Служебные слова предназначены для оформления конструкций языка и не могут быть использованы в качестве имен.
Комментарий любой текст, ограниченный (*...*) или {...}.
Вложенность комментариев не допускается, но можно (*..{..}..*) и наоборот {..(*..*)..}. Комментарий может быть помещен в любом месте программы.
Функционирование любой программы связано с обработкой данных. Данные, предназначенные для обработки, называются исходными и задаются обычно в начале программы. Программа по ходу выполнения может запрашивать недостающие исходные данные.
В процессе выполнения программы исходные данные преобразуются в результаты.
Каждый элемент данных, используемый в программе, является константой или переменной.
Константами называются данных, значения которых в процессе выполнения программы не изменяются. В языке Pascal используются константы следующих видов: числовые, логические (булевские), символьные и строковые.
Числовые константы предназначены для представления числовых данных (целых и вещественных).
Булевские константы используются для представления данных, имеющих смысл логических высказываний (да нет, истина ложь, 1 0).
Символьные и строковые константы это отдельные символы и их последовательности.
Переменные, в отличие от констант, могут менять свои значения при выполнении программы.
Набор основных типов переменных можно представить в виде схемы (рис. 1).
Запрещается использовать в качестве идентификаторов переменных зарезервированные ключевые слова Pascal.
На языке Pascal типы переменных описываются следующим образом:
Integer целые
Real вещественные
Boolean логические
Char символьные
Record записи
Array массивы
Set множества
File файлы
String строки символов.
Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими выражениями являются переменные и константы. Более сложные выражения строятся из более простых с использованием операций, скобок, вызовов функций, индексов и приведений типов. Данные, к которым применяются операции, называются операндами.
В Pascal ABC имеются следующие операции: @, not, ^, *, /, div, mod, and, shl, shr, +, , or, xor, =, >, <, <>, <= и >=.
Операция |
Действие |
Типы операндов |
Тип результата |
+ |
Сложение |
Целый или вещественный |
Целый или вещественный |
|
Вычитание |
Целый или вещественный |
Целый или вещественный |
* |
Умножение |
Целый или вещественный |
Целый или вещественный |
/ |
Деление |
Целый или вещественный |
Вещественный |
Div |
Целочисленное деление |
Целый |
Целый |
Mod |
Остаток от деления |
Целый |
Целый |
Основные стандартные арифметические функции Pascal приведены в таблице. В тригонометрических функциях синуса или косинуса аргумент должен быть задан только в радианах. Если аргумент x дан в градусах, то для перевода его в радианы используется формула y = x * π / 180.
Арифметические встроенные функции
Функции |
Назначение |
ABS(X) |
Вычисление абсолютного значения X |x| |
SQR(X) |
Вычисление квадрата X x2 |
SIN(X) |
Вычисление синуса X Sin(x) |
COS(X) |
Вычисление косинуса X Cos(x) |
ARCTAN(X) |
Вычисление арктангенса X Arctg(x) |
EXP(X) |
Вычисление экспоненты X ex |
LN(X) |
Вычисление натурального логарифма X Ln(x) |
SQRT(X) |
Вычисление квадратного корня из X |
TRUNC(X) |
Вычисление целой части X |
ROUND(X) |
Округление X в сторону ближайшего целого |
ODD(X) |
TRUE, если X нечетное, FALSE, если X четное |
В Pascal определены только три тригонометрические функции (SIN, COS, ARCTAN). Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения:
Tg(x) = Sin(x)/Cos(x)
Ctg(x) = Cos(x)/Sin(x)
Csc(x) = 1/Sin(x)
Sc(x) = 1/Cos(x)
Arcsin(x) = Arctg()
Arccos(x) = π /2 Arcsin(x)
Arcctg(x) = π /2 Arctg(x).
Вычисление логарифма с основанием a:
logа(x) = ln(x)/ln(a).
В Pascal нет операции возведения в степень. При ее необходимости применяют стандартные функции: xа = Exp(a*Ln(x)).
Нельзя возвести в целую степень отрицательное число! (это можно сделать с использованием операторов цикла).
= ехр((1/х)*ln(у))
еа = ехр(а)
10а=е+а
PROGRAM Имя {заголовок};
USES список используемых модулей;
LABEL {раздел меток};
CONST {раздел констант};
TYPE {раздел типов};
VAR {раздел переменных};
PROCEDURE, FUNCTION {раздел процедур и функций};
{операторы}
BEGIN
оператор1;
оператор2; {раздел операторов}
...
оператор n
END.
Операции ввода-вывода в Паскале реализуются с помощью стандартных процедур READ, READLN, WRITE, WRITELN.
Оператор ввода имеет следующий вид:
READ (список ввода),
READLN (список ввода), где список ввода набор переменных, разделенных запятыми. При выполнении операторов READ или READLN компьютер переходит в режим ожидания до того момента, пока пользователь не введет значения, которые будут присваиваться по очереди переменным, указанным в списке ввода. Выполнение программы будет продолжено только после того, как все эти переменные получат соответствующие значения. Вводимые значения отделяются друг от друга пробелами. Оператор READLN отличается от оператора READ тем, что после его выполнения автоматически осуществляется переход к очередной строке (записи) данных.
Операторы вывода имеют аналогичный операторам ввода вид:
WRITE(список вывода).
WRITELN(список вывода).
В отличие от списка ввода в операторах READ и READLN список вывода может содержать не только переменные, но и константы, и выражения. Список вывода это одна или несколько переменных, разделенных запятыми или комментарии, заключенные в апострофы. При использовании оператора WRITE данные выводятся в строку, при использовании оператора WRITELN в столбец (каждая переменная выводится на новой строке).
Форматы вывода
WRITELN(переменная) переменная выводится на экране в форме с плавающей точкой.
WRITELN (переменная:n) на переменную целого типа отводится n позиций.
WRITELN (переменная:n:k) на всю переменную отводится n позиций, на ее дробную часть k позиций.
Оператор присваивания это один из основных операторов. Он предписывает запомнить некоторое значение в переменной. Значение и идентификатор переменной разделены знаком :=.
Например,
X:=5
Y:=45+11
Z:=X+Y
2 ВОПРОСЫ ДОПУСКА
Что получится в результате выполнения операторов:
WRITE ('A':3,2:1);
WRITELN (5*3.2);
WRITELN ('конец');
WRITE (5*3.2:1, 'РЕЗУЛЬТАТ')?
Чему равно:
TRUNC (-5.61) ROUND (-5.61) TRUNC(17.16) ROUND (17.16)
27 DIV 4 17.6 DIV 2 27 MOD 4 31 MOD 8?
Какие данные различают в языке Паскаль?
Поясните работу следующего оператора присваивания: А:=А*2.
3 ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
3.1 Запишите арифметические выражения на языке программирования Pascal:
|
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. |
3.2 Загрузите PASCAL ABC.
3.2.1 Наберите в окне редактора текст следующей программы:
PROGRAM PRIMER1;
VAR X: INTEGER; Y,Z:REAL;
BEGIN
X:=5; Y:=5.3; Z:=X+Y;
WRITELN(Z);
END.
3.2.2 Запустите программу на выполнение (используя команду меню Программа, или кнопку Панели инструментов, или клавишу F9) и запишите в конспект результат работы программы.
3.2.3 Просмотрите результат работы программы в окне вывода.
3.2.4 Оператор WRITELN(Z) замените на WRITELN(Z= ,Z). Запустите программу на выполнение и запишите, в чем разница в работе этих операторов вывода.
3.2.5 Измените текст программы так, чтобы она вычисляла произведение чисел X и Y.
3.2.6 Оператор WRITELN(Z= ,Z) замените на WRITELN(X,Y,Z), добавьте оператор WRITELN (X:7, Y:7, Z:7). Запустите программу на выполнение. Поясните работу операторов вывода.
3.2.7 Оператор WRITELN (X:7, Y:7, Z:7) замените оператором WRITELN (X:7:2,Y:7:2, Z:7:2). Запустите программу на выполнение. Что произошло в результате работы программы?
3.2.8 Исправьте программу таким образом, чтобы вещественные числа выводились с точностью 2 знака после запятой.
3.2.9 Каким образом вывести вещественные числа без дробной части? Внесите изменения в программу.
3.3 Закрыть программу PASCAL ABC.
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
1 Что будет выведено на экран после выполнения операторов вывода, если b = 12.4: c = -1.5:
WRITELN(b=,b, , C=); WRITELN (C:0:5, , ,b);
WRITELN(B+C,=,(b+c):8:2); WRITELN(b,c)?
2 Укажите допустимые и недопустимые имена переменных:
name; _F45; время; x.5; a##; y; z.; 3Var; end; a65; prog_12; путь.
3 Каким служебным словом обозначаются данные целого типа?
4 Чему будут равны значения переменных после выполнения следующих операторов присваивания:
X:=2;
Y:=3;
X:=X*X ;
Y:=X*X ;
Y:=X*Y;
5 Найдите ошибки при использовании операторов ввода:
READLN(i, x, y:5:1) READLN(100, x, sqrt(y)) READLN(x+y, i)