Математические функции и константы
В языке Pascal есть ряд констант, к значениям которых можно обращаться без предварительного определения; их называют встроенными (или зарезервированными) константами. Перечислим некоторые из них:
MaxInt – содержит максимально возможное значение для типа Integer (32767);
MaxLongInt – содержит максимально возможное значение для типа LongInt (2147483647);
Встроенные функции:
PI: Real – возвращает число p=3,14159265358;
Odd(A: Integer): Boolean – возвращает true, если А нечётное;
Int(X: Real): Real – возвращает целую часть аргумента;
Round(X: Real): Integer – возвращает результат округления аргумента до ближайшего целого;
Trunc(X: Real): Integer – отбрасывает дробную часть аргумента;
Frac(X: Real): Real – возвращает дробную часть аргумента;
Abs(X: Real): Real – возвращает абсолютное значение аргумента;
Abs(X: Integer): Integer – возвращает абсолютное значение аргумента;
Random(A: Integer): Integer – возвращает случайное целое число из промежутка [0,A);
Sqr(X: Integer): Integer – возвращает квадрат аргумента;
Sqr(X: Real): Real – возвращает квадрат аргумента;
Sqrt(X: Real): Real – возвращает квадратный корень аргумента;
Exp(X: Real): Real – возвращает экспоненту аргумента;
Ln(X: Real): Real – возвращает натуральный логарифм аргумента;
Sin(X: Real): Real – возвращает синус аргумента;
Cos(X: Real): Real – возвращает косинус аргумента;
ArcTan(X: Real): Real – возвращает арктангенс аргумента.
Все перечисленные константы и функции находятся в стандартном модуле System, этот модуль доступен в программе без предварительного подключения.
Для вычисления значений других функций следует пользоваться следующими тождествами, записанными с помощью доступных функций языка Pascal:
ArcSin(x)=ArcTan(x/Sqrt(1-x*x));
ArcCos(x)=PI/2-ArcTan(x/Sqrt(1-x*x));
ArcCtg(x)=PI/2-ArcTan(x);
Logba=Ln(a)/Ln(b);
ax=Exp(x*Ln(a)), где a>0.
Примеры
Пример 1. Разложение целого числа на простые множители.
PROGRAM Primer_1;
Var x,m: Integer;
BEGIN
Write ('Введите целое число. '); ReadLn (x);
WriteLn ('Разложение числа ', x, ' на простые множители');
m:=2;
While m<=x do
If (x MOD m)=0 Then
Begin
Write (' * ',m);
x:=x DIV m;
End else m:=m+1;
END.
Пример 2. Программа, моделирующая калькулятор.
PROGRAM Primer_2;
Var operation: Char; { Символ арифметической операции }
n: Real;
Answer: Real; { Результат вычисления }
BEGIN
Answer:=0; { Вначале обнулим результат }
operation:='+'; { Присвоить '-', '*' или '/' нельзя }
WriteLn ('Вводите арифметическое выражение');
WriteLn ('каждый символ - с новой строки ');
Repeat
ReadLn (n);
Case operation Of
'+': Answer:=Answer + n;
'-': Answer:=Answer - n;
'*': Answer:=Answer * n;
'/': Answer:=Answer / n;
End;
ReadLn (operation);
Until operation = '=';
WriteLn (Answer:5:4);
END.
Пример 3. Найти все простые числа на заданном отрезке
PROGRAM Primer_3;
Var M: Integer; { Нижняя граница отрезка }
N: Integer; { Верхняя граница отрезка }
i,j: Integer; { Параметры циклов }
kl: Integer;
BEGIN
Write ('Введите нижнюю границу отрезка. '); ReadLn (M);
Write ('Введите верхнюю границу отрезка. '); ReadLn (N);
WriteLn ('Все простые числа из отрезка [', M, ' - ', N, ']');
For i:=M To N Do Begin
kl:=0;
For j:=2 To Round (Sqrt(i)) Do If (i MOD j)=0 Then kl:=kl+1;
If kl=0 Then Write (i, ' ');
End;
END.
Порядок выполнения работы
Работа выполняется студентом самостоятельно и состоит из этапов:
1) изучение методических указаний по выполнению лабораторной работы и получение индивидуального задания;
2) составление блок-схемы алгоритма программы;
3) разработка программы;
3) отладка программы;
4) защита лабораторной работы.
Общие требования к программе:
· текст программы представляется в электронном виде и должен включать постановку задачи, сведения об авторе и подробные комментарии;
· названия переменных должны быть логически обоснованны и давать понятие о том, что в них предполагается хранить или обрабатывать;
· программа должна запрашивать входные данные и выводить итоговый результат с пояснениями.
Список заданий
Для выполнения данной лабораторной работы необходимо описать алгоритм поставленной задачи в виде блок-схемы и написать программу на языке Pascal, которая будет реализовывать табулирование функции для заданной системы уравнений на числовом промежутке [a, b] с шагом P. Данные должны выводиться в табличной форме, где каждому значению аргумента соответствует подсчитанное значение функции. Задание необходимо выбрать из табл. 2 согласно номеру варианта.
Таблица 2
Список заданий
№
| Система уравнений
| №
| Система уравнений
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Окончание табл. 2
№
| Система уравнений
| №
| Система уравнений
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Контрольные вопросы
1. Какие типы данных вы знаете?
2. Что такое блок-схема и как она строится?
3. Какие вы знаете символы (блоки), предназначенные для представления алгоритма в виде блок-схемы?
4. Для чего предназначены циклические конструкции?
5. В каких случаях применяется оператор Case?
6. Какого типа данных «переключатель» в операторе Case?
7. Когда применяется цикл For?
8. Какого типа данных должна быть переменная «счетчик» в операторе For?
9. Чему равен шаг изменения переменной «счетчик» в операторе For?
10. В чем отличия между циклами While и Repeat?
11. Какие стандартные математические функции существуют в языке Pascal?
Список рекомендуемой литературы
1. Немнюгин, С.А. Turbo Pascal: программирование на языке высокого уровня / С.А. Немнюгин. – 2-е изд. – СПб.: Питер, 2006. – 544с.
2. Немнюгин, С.А. Turbo Pascal: практикум / С.А. Немнюгин. – 2-е изд. – СПб.: Питер, 2006. – 272с.
3. Фаронов, В.В. TurboPascal: учебное пособие / В.В. Фаронов. – М.: Изд.: ОМД Групп, 2007. – 368с.
4. Иванова, Г.С. Основы программирования: учебник для вузов / Г.С. Иванова. – 3-е изд., испр. – М.: МГТУ им. Н.Э. Баумана, 2004. – 416с.
5. Марченко, А.И. Программирование в среде Turbo Pascal 7.0. / А.И. Марченко, Л.А. Марченко. – М.: Бином Универсал, К.: ЮНИОР, 1997. – 496с.
6. Культин, Н.Б. Turbo Pascal в задачах и примерах / Н.Б. Культин. – СПб.: БХВ-Петербург, 2007. – 256с.
7. Коффман, Э.М. Turbo Pascal / Э.М. Коффман. – 5-е изд. – М.: Вильямс, 2005. – 896с.
Рапаков Г.Г. Программирование на языке Pascal: учебное пособие / Г.Г. Рапаков, С.Ю. Ржеуцкая – СПб.: БХВ-Петербург, 2004. – 480с.
Алгоритмические языки и программирование. Изучение условных и циклических конструкций: методические указания к выполнению лабораторной работы №2 для студентов очной формы обучения специальности 230201 – "Информационные системы и технологии". – Брянск: БГТУ, 2007. - 16 с.
Сергей Михайлович Рощин
Юрий Алексеевич Леонов
Научный редактор Ю.М. Казаков
Редактор издательства Л.И. Афонина
Компьютерный набор С.М. Рощин
Темплан 2007г., п. 459
Подписано в печать Формат 60х84 1/16. Бумага офсетная.
Офсетная печать.
Усл. печ. л. 0,93 Уч. – изд. л. 0,93 Тираж 50 экз. Заказ Бесплатно
|
Брянский государственный технический университет.
Брянск, бульвар 50-летия Октября, 7, тел. 58-82-49.
Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|