ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Арифметические операции.В языке Pascal используется 6 арифметических операций. арифметическая операция (а=14,b=4) результат - сложение (+) S:=a+b S=18 - вычитание (-) S:=a-b S=10 - умножение (*) S:=a*b S=56 - деление (/) S:=a / b S=3.5 - целочисленное деление S:=a div b S=3 - остаток от целочисленного деления S:=a mod b S=2 Нет возведения в степень. Если степень целая, её заменяют умножением: а3 ↔ S:=a*a*a Для возведения числа в произвольную степень используется следующее соотношение: xy=e ln(x) =eylnx тогда xy=exр(y*ln(x))
Рассмотрим несколько примеров: Заданы два числа. Найдите их сумму. рrogram zadacha2_4; var a,b,s:byte; Begin writeln('введите целое число a '); read(a); write('введите целое число b '); read(b); s:=a+b; writeln('s =',s); End. Проанализируйте полученный результат при a+b>255. Поменяйте тип данных byte на integer. Что получается теперь? Просмотрите, до какой предельной суммы a+b вычисления происходят верно? Установите тип данных longint. Просмотрите суммы.
Заданы два целых числа k и d. Используя только арифметические операции, найдите целую и дробную части от деления k на d. program zadacha2_5; var a,drobn:real; k,d,cel:integer; Begin writeln('введите два числа'); readln(k,d); cel:=k div d; {целочисленное деление} a:=k/d; {обычное деление} drobn:=a-cel; writeln('целая часть - ',cel); writeln('дробная часть - ',drobn); Еnd. Можно ли было в данной программе все переменные определить как integer или как real? Попробуйте и проанализируйте.
Дано трёхзначное число. Чему равны его цифры? program zadacha2_6; var a,с1,с2,с3:integer; Begin writeln('введите трёхзначное число '); readln(a); c1:=a div 100; c2:=(a mod 100) div 10; {или c2:=(a div 10) mod 10;} c3:=a mod 10; writeln('первая цифра -',c1); writeln('вторая цифра -',c2); writeln('третья цифра -',c3); Еnd. Дано действительное число a. Используя только пять операций умножения получить a15. program zadacha2_7; var a,b,c,d,s:longint; Begin writeln('введите число a'); readln(a); b:=a*a; {вторая степень} с:=b*b; {4 степень} d:=c*a; {5 степень} s:=d*d*d; {15 степень} writeln('результат = ',s); Еnd. Вопросы для повторения: 21. Чем отличается операция / от операции div? 22. Есть ли в Pascal операция возведения в степень? 23. Выполняется ли равенство: (264 mod 100) div 10 = (368 div 10) mod 10. 24. Придумайте формулу для нахождения предпоследней цифры числа? 25. Можно ли производить операции mod и div над переменными, которые описаны как real? 26. Как должна быть описана переменная fl, если она вычисляется по формуле fl:=a / b? А как можно описать переменные a и b? 27. Как должна быть описана переменная k, если она вычисляется по формуле k:=a div b? А как нужно описать переменные a и b?
Задания для самостоятельной работы: 7. Задано двухзначное число. Чему равна последняя цифра числа? 8. Задано двухзначное число. Чему равна первая цифра числа? 9. В двухзначное число вписать ноль в середину и получить трехзначное число. 10. Найдите сумму цифр заданного трёхзначного числа. 11. Найдите цифры заданного четырёхзначного числа. 12. Задано пятизначное число. Найдите цифры и сумму цифр пятизначного числа. 13. С начала суток прошло k минут. Определите сколько сейчас часов и минут. 14. Идёт k-ая секунда суток. Определить который сейчас час (в часах, минутах и секундах). 15. Робинзон Крузо провёл на острове f дней. Сколько полных недель он пробыл на острове? 16. Поезд перевозит s тонн груза. Сколько автомобилей грузоподъемностью b тонн (b<<s) он способен заменить? 17. Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить: a) a13 за пять операций; b) a21 за шесть операций; c) a3 и a10 за четыре операции; d) a4 и a12 и a28 за шесть операций.
Составление линейных алгоритмов с использованием основных функций.
Не нашли, что искали? Воспользуйтесь поиском:
|