Задание 1. Вычислить значения элементарных функций
Лабораторная работа № 4.1
Разработка компьютерной модели линейной
Алгоритмической конструкции
Цель работы:
1. Ознакомиться с правилами построения алгоритмов, структурой программы на языке Паскаль.
2. Выработать практические навыки в правилах записи арифметических выражений.
3. Выработать практические навыки программирования алгоритмов линейной структуры.
4. Выработать практические навыки использования оператора присваивания, процедур ввода и вывода данных.
Оформление работы
1. Название, цели работы
2. Из теоретической части:
2.1 Понятие алгоритма
2.2 Описание блок-схемы
2.3 Описание линейного алгоритма
3. Практическая часть:
3.1 Описание задания.
3.2 Программный код.
3.3 Результат выполненной программы, выводимый на экран.
3.4 В задании 2 описать последовательность вычисления значения z, блок-схему и программный код.
Оценивание работы
1. На оценку «3» : задание 1
2. На оценку «4» : задание 1 и задание 2
3. На оценку «5» : задание 1, задание 2, задание 3.
Теоретическая часть
1.1 Алгоритм и блок-схема
При решении задач на ЭВМ производится подготовительная работа, включающая в себя следующие этапы: математическая формулировка задачи, разработка алгоритма ее решения, запись программы и подготовка исходных данных. Если математическая формулировка задачи есть, то можно сразу начать с разработки алгоритма.
|
|
Алгоритм – это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность понятных исполнителю действий (этапов). При этом должны быть четко указаны как содержание каждого этапа, так и порядок выполнения этапов.
Отдельный этап алгоритма либо представляет собой другую, более простую задачу, алгоритм которой разработан ранее, либо должен быть достаточно простым и понятным без пояснений.
Наиболее распространенный вид алгоритма – графический выполняется в виде блок-схемы – совокупности геометрических фигур (блоков), связанных между собой при помощи стрелок. Все формулы в блок-схеме записываются на языке математики, а не конкретном языке программирования.
Блок-схемы выполняются в соответствии с ГОСТ 19.701-90, ЕСПД, но для упрощения записи их можно строго не соблюдать. Любой алгоритм синтезируют из типовых элементов: алгоритмов линейной, разветвляющейся и циклической структуры.
1.2 Особенности языка Турбо Паскаль и структура программы
К основным особенностям Турбо Паскаль можно отнести довольно строгие требования к структуре программы. Программа на языке Паскаль записывается в виде последовательности символов, к числу которых относятся латинские буквы, арабские цифры, знаки препинания, знаки операций. Для обозначения исходных данных и результатов вычислений (промежуточных и итоговых) употребляются переменные, имена (идентификаторы) которых могут быть не только буквами - a, b, X, Y и т.д., но и последовательностью символов вида x1, time, alfa2 и т.д., которые состоят из букв и цифр и начинаются с буквы. Ключевые слова – это множество имен, которые используются в языке для написания операторов и других конструкций. Имена, применяемые пользователем для обозначения конструкция не должны совпадать с ключевыми словами. Список зарезервированных слов и перечень операций языка приведены в таблицах В1 и В2. Соответствующее исходное данное или результат вычисления называется значением переменной. Константы отличаются от переменной тем, что их значения не меняются в ходе выполнения программы. Числа записываются в десятичной системе, вместо запятой ставится точка: 0, -19, 0.27, 3.1415 и т.д.
|
|
К основным типам данных языка Паскаль относятся: вещественный (Real), целочисленный (Integer), логический (Boolean) и литерный (Char). Целые числа и числа с плавающей точкой могут быть представлены в различных формах.
Структура простейшей программы на Паскале приведена в таблице С1. В описательной части задается имя программы, все метки и константы, которые будут использоваться в программе, а также идентификаторы и тип переменных. Главной частью программы является ее исполнительная часть, то есть последовательность инструкций, которую должен выполнить компьютер. Эти инструкции принято называть операторами.
|
|
Более сложные арифметические выражения строятся из операндов (констант и переменных), соединенных знаками арифметических операций. Кроме того, в выражении могут быть использованы круглые скобки и функции . Результатом расчета арифметического выражения является число. При составлении арифметических выражений должны соблюдаться следующие правила:
- два знака арифметических операций не должны стоять рядом;
- при вычислении значений арифметических выражений действуют правила старшинства операций: указатели функций; умножение и деление слева направо; сложение и вычитание слева направо; круглые скобки изменяют этот естественный порядок, то есть старшим действием является действие в скобках.
1.3 Алгоритмы линейной структуры и используемые в них операторы
Алгоритм называется линейным, если все операции в нем выполняются последовательно друг за другом.
|
|
Оператор присваивания позволяет изменить текущее значение переменной. Вид оператора приведен в таблице D1. Вычисляется выражение, стоящее справа от знака ":=" ("присвоить"), полученный результат присваивается переменной, стоящей в левой части оператора. При этом старое значение, хранившееся в ней, безвозвратно пропадает. Например, Р:= 5; (в переменную Р запишется число 5).
Для ввода данных и вывода результатов используются процедуры ввода и вывода (таблица D1). Существуют форматный и бесформатный способы вывода.
1.4 Стандартные математические функции Pascal
Обращение | Тип аргумента | Тип результата | Примечание |
Abs (x) | Real, integer | Тип аргумента | Модуль аргумента |
ArcTan(x) | Real, integer | Real | Арктангенс (значение в радианах) |
Cos(x) | Real, integer | Real | Косинус, угол в радианах |
Exp(x) | Real, integer | Real | Экспонента |
Frac(x) | Real | Real | Дробная часть числа |
Int(x) | Real, integer | Real | Целая часть числа |
Ln(x) | Real, integer | Real | Логарифм натуральный |
Pi | Нет | Real | 3,141592653 |
Sin (x) | Real, integer | Real | Синус, угол в радианах |
Sqr(x) | Real, integer | Тип аргумента | Квадрат аргумента |
Sqrt(x) | Real, integer | Real | Корень квадратный |
Random | Нет | Real | Псевдослучайное число в интервале [0, 1] |
Random(I) | Integer | Integer | Псевдослучайное число в интервале [0, I] |
Round (x) | Real | Integer | Округление до ближайшего целого |
Trunc(x) | Real | Integer | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
1. вычисляются подвыражения, заключенные в скобки;
2. затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
o возведение в степень;
o мультипликативные операции: * , / , div , mod;
o унарные операции: + , - , abs , not;
o аддитивные операции: +, -;
o операции отношения: = , <>, <, >, <=, >=;
o логические операции: and, or, not;
3. операции с одинаковым приоритетом выполняются слева направо.
Практическая часть
Задание 1. Вычислить значения элементарных функций
PROGRAM Znach_Funk; uses crt; var X: Real; { Аргумент } Y: Real; { Аргумент } Z: Integer; { Аргумент } F: Real; { Результат } BEGIN clrscr; Write('Введите не целое значение аргумента:'); ReadLn(X); F:=Abs (X); WriteLn ('Значение функции Abs : ',F:10:2); F:=Sqrt (X); WriteLn ('Значение функции корень: ',F:10:2); F:=Exp (X); WriteLn ('Значение функции Exp : ',F:10:2); F:=Ln (X); WriteLn ('Значение функции Ln : ',F:10:2); { Аргумент тригонометрических функций выражен в радианах } F:=Sin (X); WriteLn ('Значение функции Sin : ',F:10:2); F:=Cos (X); WriteLn ('Значение функции Cos : ',F:10:2); F:=ArcTan (X); WriteLn('Значение функции ArcTg: ',F:10:2); { --------------------------------------------------------} Write ('Введите значение аргумента: '); ReadLn (Y); F:=Exp (Y*Ln(X)); WriteLn ('Значение функции X^Y : ',F:10:2); { --------------------------------------------------------} Write ('Введите значение аргумента типа Integer: '); ReadLn (Z); WriteLn ('Odd (Z) =',Odd (Z))Readkey;
Дата добавления: 2020-11-15; просмотров: 99; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!