Задание 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!