Арифметические операции языка 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 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|