
- •Содержание
- •Раздел 2.Программирование на процедурном языке turbo pascal 3
- •Раздел 2.Программирование на процедурном языке turbo pascal Лабораторная работа №1. Знакомство с интегрированной средой Turbo Pascal 7.0. Разработка первой программы.
- •Лабораторная работа № 2. Разработка программ, реализующих линейный процесс в среде Turbo Pascal 7.0.
- •Лабораторная работа № 3. Разработка программы, включающей различные форматы ввода/вывода данных средствами языка Pascal.
- •Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.
- •Лабораторная работа № 5. Разработка программы для решения текстовой задачи в среде Turbo Pascal 7.0.
- •Лабораторная работа № 6. Вычисление заданного выражения при произвольных значениях переменных с использованием нескольких окон на одном экране. Работа с цветом в текстовом режиме.
- •Лабораторная работа № 7. Использование языка программирования для разработки программ вычисления математических выражений с использованием оператора if.
- •If выражение then оператор1
- •Лабораторная работа № 8. Разработка программы для решения текстовых задач, содержащих ветвление
- •Лабораторная работа № 9. Использование языка программирования для реализации разветвляющихся алгоритмов с использованием выражения – селектора в среде Turbo Pascal 7.0.
- •Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.
- •Лабораторная работа № 11. Разработка программ, включающих алгоритмы работы с числом
- •Лабораторная работа № 12. Реализация задачи табулирования функции на заданном отрезке в среде Turbo Pascal.
- •Лабораторная работа № 13. Вычисление суммы бесконечного ряда с заданной степенью точности в среде Turbo Pascal.
- •Лабораторная работа № 14. Разработка программ, включающих циклический процесс средствами языка Turbo Pascal.
- •Лабораторная работа № 15. Разработка программы реализации текстовой задачи, содержащей условия и циклы.
- •Лабораторная работа № 16. Разработка программы реализации задачи, содержащей одномерный массив данных.
- •Лабораторная работа № 17. Разработка программы реализации задачи, содержащей двумерный массив данных.
- •Лабораторная работа № 18. Методы сортировки массива в среде Turbo Pascal
- •Лабораторная работа № 19. Разработка программы работы со строками в среде Turbo Pascal
Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.
Цель работы:
овладение практическими навыками организации работы в среде TURBO PASCAL
научиться разрабатывать и программировать вычислительный процесс линейной структуры
приобрести практические навыки по организации отладки и тестирования программ
Оборудование:
программная часть - интегрированная среда Turbo Pascal 7.0
аппаратная часть - ПЭВМ IBM PC/XT
задание на выполнение работы в электронном варианте
Теоретическая часть
Элементы словаря Паскаль принято подразделять на идентификаторы, специальные знаки и зарезервированные слова. Идентификатор – имя элемента программы (константы, переменной, процедуры и т.д.), в них используются прописные и строчные латинские буквы, цифры и символ подчеркивания. Может состоять из произвольного числа символов, но воспринимаются только 63. Первый символ обязательно буква. Идентификатор не должен совпадать с зарезервированными словами. Специальные знаки – операций (=,* и т.д.). зарезервированные слова (begin, end и т.д.) используются только по назначению. Также в программе могут присутствовать константы: целые (+11, 15, -5) и вещественные (34.11, 34Е-2, 5е2) десятичные числа; целое шестнадцатеричное число ($1F, -$AF); логическая (false – ложь, true – истина); строковая (‘Паскаль 7’).
Из элементов составляются предложения, которые заканчиваются символом «;».
Программа на языке Паскаль состоит из: заголовка программы; разделов описаний (меток, констант, типов, переменных, процедур и функций); операторов (тело программы - обязательная часть).
Разделы могут быть в любой последовательности, но должны быть объявлены раньше, чем используются. Заголовок начинается со слова Program и имени программы, в круглых скобках список параметров через запятые. Тело программы начинается со слова begin, заканчивается end с точкой.
Типы данных
Каждая переменная или константа имеет значение определенного типа. Тип – множество допустимых значений и операций над ними. Выделяются следующие типы: простые; структурированные; указатели; процедурные; объекты. Среди типов есть стандартные (предопределенные) и определяемые. Стандартные достаточно описать в разделе объявления переменных, а определяемые должны быть объявлены в разделе объявления типов или как типизированные константы. К стандартным относятся целые, вещественные, логические типы, символьные char, string, char, текстовый файл - text, тип – указатель - pointer.
Простые типы.
Целые
-
Тип
Диапазон
Знак
Размер
shorting
от - 128 до 127
знаковый
1 байт
integer
от 32768 до 32767
знаковый
2 байта
longint
от 2 147 4843 648 до 2 147 483 647
знаковый
4 байта
byte
от 0 до 255
беззнаковый
1 байт
word
от 0 до 65535
беззнаковый
2 байта
Вещественные
-
Тип
Диапазон
Число значащих цифр
Размер
real
от 2.9*10-39 до 1.7*1038
11 (для отрицат.)
12 (для положительн.)
6 байтов
single
от 1.5*10-45 до 3.4 *1038
7-8
4 байта
double
от 5.0*10-324 до 1.7*10308
15-16
8 байтов
extended
от 3.4*10-4951 до 1.1*104932
19-20
10 байтов
comp
от – 9.2*1018 до 9.2 *1018
19-20
8 байтов
Логический - boolean ( 1 байт). Значению True (истина) соответствует 1, False (ложь) -0.
Символьный - char (1 байт), определяет набор символов кода ASCII.
Рассмотренные 4 типа относятся к стандартным. Однако можно создавать свои типы. Перечисляемый определяется набором идентификаторов с которыми могут совпадать значения параметров
type typemonth = (jan, feb, mar, ...,dec);
Указанные значения являются идентификаторами, и данному тиру нельзя задать новое значение.
Один т тот же идентификатор может использоваться в определении только одного перечисляемого типа. Максимально 65535. Может рассматриваться как компактное объявление констант.
Тип-диапазон определяет подмножество значений (минимальное и максимальное значение).
Type dig = 48..57; значение все числа от 48 до 57.
Var alf:’a’...’z’; строчные буквы латинского алфавита.
Среди простых принято выделять порядковые. Они имеют конечное число допустимых значений (все кроме вещественных)
Раздел объявления переменных (несколько переменных одного типа можно записать через запятую):
Var имя1,имя2,...,имя N: тип переменной; var p1,i: integer;
Раздел констант: Const имя:тип = значение; const a=12; x: real=1.2;
Раздел объявления типов (после определяются вводимые типы):
Type имя типа = значение типа;
Выражения
Чтобы задать переменной значение используется оператор присваивания: имя := выражение;. Выражение, стоящее в правой части оператора присваивания может содержать операнды, т.е. константы или переменные, функции, знаки операций и круглых скобок. Вычисление выражения выполняется слева направо по приоритетам операций.
Операции:
арифметические (+, -, *, /, целочисленное деление div (частное), mod (остаток);
логические (not, and, or, xor – истинно если разные);
отношения (>, <, <>,>=,<=,=).-
Стандартные функции: abs(x), arctan, cos, sin, exp, ln (гатуральный), sqr (квадрат) , sqrt (квадратный корень), pi, frac (дробная часть числа), int (целая).
Приоритеты операций: вычисление значения функции; унарные – not,+,-; умножения- *,/, div, mod, and; сложения- +,-, or, xor; отношения- <,>,=, <=,>=,<>, in.
Круглые скобки используются для заключения в них выражений, значения которых необходимо выполнить первую очередь.
К переменным целого и вещественного типа применимы следующие стандартные функции Паскаль:
Стандартная функция |
Выполняемое действие |
Тип |
|
аргумента |
результата |
||
|x| |
abs (x) |
real |
real |
integer |
integer |
||
sqr (x) |
x2 |
real |
real |
integer |
integer |
||
sqrt (x) |
x1/2 |
real |
real |
integer |
real |
||
exp (x) |
ex |
real |
real |
integer |
real |
||
ln (x) |
ln (x) |
real |
real |
integer |
real |
||
sin (x) |
sin (x) |
real |
real |
integer |
real |
||
cos (x) |
cos (x) |
real |
real |
integer |
real |
||
arctan (x) |
arctg (x) |
real |
real |
integer |
real |
||
Pi |
число 3.1415926535897932385 |
– |
integer |
TRUNC(X) |
целая часть числа Х |
– |
integer |
INT(X) |
целая часть числа Х |
– |
real |
FRAC(X) |
дробная часть числа Х |
– |
real |
ROUND(X) |
округление до ближайшего целого |
– |
integer |
Odd(X) |
проверка четности целого числа "X" |
TRUE (истина), если число нечетное, FALSE (ложь) - если число четное. |
Некоторые полезные формулы:
Перевод угла (а) из радианной меры в градусную – а*180/pi
Перевод угла (а) из градусной меры в радианную – pi *а/180
В Паскале отсутствует функция возведения числа в степень, а также нет тригонометрических функций tg(), ctg(), arcsin() и arccos(), но они могут быть реализованы сочетанием стандартных функций:
Для вычисления логарифма по основанию а используем:
Для
вычисления степени числа а
используем:
Функции, реализуемые через стандартные функции языка.
|
Длина окружности С и её дуги L.
Площади. Треугольник:
Для
равностороннего треугольника
Параллелограмм: S=bh (b - основание, h - высота). Ромб:
Трапеция:
Правильный
многоугольник:
Круг:
Круговой
сектор:
|
Практическая часть
Пример:
Вычислить
выражение
)
при x=1,5
y=5,72
Program Lab4;
Const
x = 1.5; y=5.72;
Var
z,d:real;
Begin
Writeln(‘z=?’);
Readln(z);
d := sqrt(x+y*x/z)*(sin(exp(3*ln(x*z-10)+ln(sqr(x));
writeln(‘d=’,d:6:3);
end.
Задания для самостоятельного выполнения
Изучить теоретические сведения по темам «Линейные алгоритмы», «Стандартные функции языка Паскаль», «Типы данных»
Составить блок-схему решения задачи по своему варианту
Разработать программу в среде Turbo Pascal 7.0. Значения исходных данных задать как константы.
Подготовить тестовые задания и произвести отладку программы.
Ответить на контрольные вопросы.
Результаты выполнения лабораторной работы оформить в виде отчета.
Индивидуальные задания:
Вариант задания |
Расчетные формулы |
Значения исходных данных |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Контрольные вопросы
Какие типы величин используются в языке программирования?
Укажите диапазон значений величин целого и действительного типов.
Какие имена переменных допустимы в программе? Как задать тип переменной в программе?
Укажите имена стандартных функций для вычисления квадратного корня из суммы квадратов двух величин.
Можно ли в качестве операнда в арифметическом выражении использовать: б) имя стандартной функции, в)имя переменной логического типа?
Назвать последовательность действий при выполнении арифметического оператора присваивания. Допустимо ли использование величин разных типов в арифметическом выражении?
Напишите арифметический оператор присваивания для вычисления значения
Укажите средства, имеющиеся в языке программирования для управления размещением данных на строке. Как организовать вывод значений, сопровождая выводимое числовое значение наименованием переменной? Как организовать пропуск одной, двух строк при выводе?
Как выбрать значения исходных данных для тестового варианта счета?