Лекция 3.Арифметические операции автор: Садовский Ефим Моисеевич 1. Повторение. Типы переменных величин, операторы ввода и вывода.2. Математические функции в Паскале. Функция | Назначение | Пример вызова | Результат | abs(число) | абсолютное значение числа (модуль) | abs(-3.5) | +3.5 | pi число | пи | pi 3.141592... | | cos(угол) | косинус угла(рад.) | cos(pi) | -1 | sin(угол) | синус угла (рад.) | sin(pi) | 0 | frac(число) | дробная часть числа | frac(3.5) | 0.5 | int(число) | целая часть числа | int(3.5) | 3.0 | round(число) | округлить число | round(3.5) | 4 | odd(число) | проверка нечетности | odd(3) | True | sqr(число) | квадрат числа | sqr(2.0) | 4.0 | sqrt(число) | квадратный корень | sqrt(25.0) | 5.0 | Дополнение | randomize | генерирование несовпадения случайных чисел («перетасовать карты») | randomize | | random(число) | «случайное» число | random(10) | Целое число от 0 до 9 | div (только с целыми числами - Integer) | целая часть от деления | 11 div 3 | 3 | mod (только с целыми числами - Integer) | остаток от деления | 11 mod 3 | 2 | В принципе div и mod к функциям отнести нельзя, это скорее математические действия (как и сложение, вычитание, умножение и деление), но пусть они будут в этой табличке. Div и Mod работают только с целыми числами и с переменными целых типов. К сожалению в Паскале (кроме версии PascalABC) нет функции возведения Х в степень Y. В этом случае можно использовать циклы (об этом позже), а можно для положительного Х воспользоваться следующей формулой: xy можно записать так: exp(y*ln(x)). 3. Запись математических выражений в языке ПАСКАЛЬ. Пример: Составьте программу, вычисляющую выражение:
Запишем программу вычисления значения Y. При описании переменных заметим, что у нас 2 аргумента (справа в выражении X и Z) и один результат (Y).
program formula;
var x,y,z:real;
begin
write('Введите Х=');
readln(x);
write('Введите Z=');
readln(z);
y:=(5*sqrt(25*x*x+2)-abs(6*x*х))/(3*z+sqrt(x+1));
writeln('Y=',y);
end. ОБРАТИТЕ ВНИМАНИЕ, что в записи математического выражения количество открытых скобок должно совпадать с количеством закрытых. ОБРАТИТЕ ВНИМАНИЕ, что в математике используется сокращенная запись некоторых действий, например, 5X. На компьютерном языке пишем полностью: 5*X. СОВЕТ: При записи на языке программирования дроби и числитель и знаменатель берутся в скобки.Попробуйте самостоятельно записать математическое выражение на компьютерном языке: Проверьте свой ответ: y:=(sqrt(25*x+2*abs(x))+15)/(x*х*х-2);
Задачи для самостоятельного решения. 1. Составьте программу вычисления значения выражения:
2. Составьте программу, которая вычисляет целую часть от деления a на b и находит остаток от деления b на а. 3. Дед Мороз готовит новогодние сладкие подарки. Снеговик доставил ему два сорта самых вкусных конфет по N кг. Каждая конфета первого сорта весит в два раза меньше, чем конфета второго сорта, а конфет второго сорта в килограмме ровно M. Сколько подарков сможет составить Дед Мороз, если каждому малышу он должен положить по T конфет. Сколько конфет останется? 4. Из пункта А вышел пешеход со скоростью V1 км/ч. Через время T за ним выехал автомобиль со скоростью V2 км/ч. (V2>V1). Через сколько времени автомобиль догонит пешехода? К О Н С П Е К Т
1. Математические функции в Паскале. Функция | Назначение | Пример вызова | Результат | abs(число) | абсолютное значение числа (модуль) | abs(-3.5) | +3.5 | pi число | пи | pi 3.141592... | | cos(угол) | косинус угла(рад.) | cos(pi) | -1 | sin(угол) | синус угла (рад.) | sin(pi) | 0 | frac(число) | дробная часть числа | frac(3.5) | 0.5 | int(число) | целая часть числа | int(3.5) | 3.0 | round(число) | округлить число | round(3.5) | 4 | odd(число) | проверка нечетности | odd(3) | True | sqr(число) | квадрат числа | sqr(2.0) | 4.0 | sqrt(число) | квадратный корень | sqrt(25.0) | 5.0 | Дополнение | randomize | генерирование несовпадения случайных чисел («перетасовать карты») | randomize | | random(число) | «случайное» число | random(10) | Целое число от 0 до 9 | div (только с целыми числами - Integer) | целая часть от деления | 11 div 3 | 3 | mod (только с целыми числами - Integer) | остаток от деления | 11 mod 3 | 2 |
2. Пример: Составьте программу, вычисляющую выражение:
program formula;
var x,y,z:real;
begin
write('Введите Х=');
readln(x);
write('Введите Z=');
readln(z);
y:=(5*sqrt(25*x*x+2)-abs(6*x*х))/(3*z+sqrt(x+1));
writeln('Y=',y);
end.
|