Сделай Сам Свою Работу на 5

Арифметические операции языка Turbo Pascal

ЗНАК ВЫРАЖЕНИЕ ТИП ОПЕРАЦИИ ТИП РЕЗУЛЬТАТА ОПЕРАЦИЯ
+   A+B R, R I, I I, R; R, I R I R СЛОЖЕНИЕ
_   A – B R, R I, I I, R; R, I R I R ВЫЧИТАНИЕ
*   A*B R, R I, I I, R; R, I R I R УМНОЖЕНИЕ
/   A/B R, R I, I I, R; R, I R R R ДЕЛЕНИЕ
DIV A div B I, I I ЦЕЛОЕ ДЕЛЕНИЕ
MOD A mod B I, I I ОСТАТОК ОТ ЦЕЛОГО ДЕЛЕНИЯ

 

К арифметическим величинам могут быть применены стандартные функции Паскаля, описания которых содержатся в таблица 4.

Таблица 4

Стандартные математические функции языка Turbo Pascal

Обращение Функция Тип результата
Frac(x) Дробная часть х R
Int(x) Целое R
Ln(x) Натуральный логарифм R
Pi Постоянная величина π R
Abs(x) Абсолютное значение (модуль числа) R ИЛИ I
Arctan(x) Арктангес х R
Cos(x) Косинус х R
Exp(x) е - экспанента R
Random Случайное число от 0 до 1 R
Random(n) Случайное число от 0 до n I
Odd(x) True , если х – нечетное False , если х – четное  
Sin(x) Синус х –( в радианах) R
Sqr(x) Квадрат аргумента I ИЛИ R
Sqrt(x) Квадратный корень R
Trunc(x) Ближайшее целое, не превышающие аргумент по модулю (отсекание дробной части числа x) I
Round(x) Округление до ближайшего целого аргумента I

 

Остальные часто встречающиеся функции (тангенс, арксинус и т.д.) моделируются из уже определенных с помощью известных математических соотношений:

Определенную проблему представляет возведение X в степень n. Если значение степени n – целое положительное число, то можно n раз перемножить X (что дает более точный результат и при целом n предпочтительнее) или воспользоваться формулой,:

которая программируется с помощью стандартных функций на языке Паскаль:

Ø exp(n*ln(x)) – для положительного X;

Ø -exp(n*ln(abs(x))) – для отрицательного X.

Эту же формулу можно использовать для возведения X в дробную степень n, где n - обыкновенная правильная дробь вида k/l, а знаменатель l нечетный. Если знаменатель l четный, это означает извлечение корня четной степени, следовательно есть ограничения на выполнение операции.



При возведении числа X в отрицательную степень n следует помнить, что

Таким образом, для программирования выражения, содержащего возведение в степень, надо внимательно проанализировать значения, которые могут принимать X и n, так как в некоторых случаях возведение X в степень n невыполнимо.

Для вычисления логарифма с основанием a используем: loga(x) = ln(x)/ln(a)

 

 

2. Выполните следующие упражнения:

Задания уровня 1

Упражнение 1. Вычислить месячные выплаты m по займу в s рублей на n лет под процент p. Вычисления выполняются по формулам:

1. Наберите текст программы:

Program Zaim; кю

Var

m, s, p, r, n, a, d: real;

rub, kop: integer; {Целая и дробная часть числа (рубли и копейки)}

Begin

writeln ('Введите заем, процент и количество лет в одной строке');

readln (s, p, n);

r:=p/ 100;

a:=exp (ln(1+r)*n); {Вычисление степени числа через логарифм}

m:=(s*r*a)/(12*(a-1));

m:=trunc (100*m+0.5)/ 100; {Округление до копейки}

d:=m*n*12 - s;{Общая прибыль}

writeln;

rub:=round (s*100) div 100;{Преобразование числа в денежный формат (выделения руб.и коп.)}

kop:= round (s*100) mod 100;

write ('Взято ', rub, 'руб.', kop, 'коп.');

write ('под ', p:5:2, '% на ', n:5:2, 'лет');

writeln;

rub:=round (m*100) div 100; {Преобразование числа в денежный формат (выделения руб.и коп.)}

kop:= round (m*100) mod 100;

writeln ('Месячная выплата = ', rub, 'руб.', kop, 'коп.');

rub:=round (d*100) div 100; {Преобразование числа в денежный формат (выделения руб.и коп.)}

kop:= round (d*100) mod 100;

writeln ('Общая прибыль= ', rub, 'руб.', kop, 'коп.')

End.

 

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске: <F2> A:\P2PR1

Упражнение 2. Вычислить сумму цифр трехзначного числа.

1. Наберите текст программы:

Program chislo;

Var

i, first, second, third, sum: integer;

Begin

write ('Введите целое трехзначное число: ');

readln (i);

first := i div 100; {Выделение первой цифры числа}

second := i div 10 mod 10; {Выделение второй цифры числа}

third := i mod 10; {Выделение третьей цифры числа}

sum := first + second + third;

writeln ('Сумма цифр числа ', 100*first+10*second + third, '=', sum)

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске: <F2> A:\P2PR2

Упражнение 3. Перевести английские названия дней недели на русский язык

1. Наберите текст программы:

Program WEEK;

type days=(mon, tue, wed, thu, fri, sat, sun)

Var

d : days;

Begin

for d:=mon to sun do

Case d of

mon: writeln(′понедельник′);

tue: writeln(′вторник′);

wed: writeln(′среда′);

thu: writeln(′четверг′);

fri: writeln(′пятница′);

sat: writeln(′суббота′);

sun: writeln (′воскресенье′);

End

End.

 

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске: <F2> A:\P2PR3

 

3. Выполнить самостоятельно:

Задания уровня 2

1. Вычислить произведение цифр трехзначного числа. Сохраните как P2PR4

2. Заданы длины трех сторон треугольника a, b, c. Вычислить периметр и площадь треугольника по формуле Герона Сохраните как P2PR5

Задания уровня 3

3. Вычислить значение выражения по формуле (все переменные принимают действительные значения):

 

Сохраните как P2PR6, P2PR7, P2PR8

4.Вычислить арифметические выражения. При этом выбрать такую форму записи, чтобы количество «медленных» операций (умножение, деление) было сведено к минимуму. Вычисления всех трех выражений произвести в одной программе:

Сохраните как P2PR9, P2PR10, P2PR11

 

 

4. Окончание работы:

1. Сохранить созданные программы.

2. Подготовить ответы на контрольные вопросы.

3. Показать работу преподавателю.

4. Завершить работу TURBO PASCAL.

Контрольные вопросы:

1. Какие типы данных в Turbo Pascal вы знаете?

2. Как описываются целый, вещественный, логический и символьный типы данных?

3. Как задается перечислимый тип данных?

4. В каких случаях удобно использовать интервальный тип данных?

 


ПРАКТИЧЕСКАЯ РАБОТА №3



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.