Слайд 1Арифметические операции с целыми числами. Переменные целого типа.
Слайд 2В Паскале допускается диапазон целых чисел от -32768 до 32767
Переменные,
принимающие целые значения, записываются в разделе описаний с указанием типа integer (целый).
Например: var a, b, c, a1, b34, nomb: integer;
Слайд 3. Арифметические операции с целыми числами и переменными целого типа в
языке Паскаль
Слайд 4Операции отношения или сравнения
Слайд 6Правила использования операций AND и OR (Таблица истинности)
Слайд 7
Операция a div b осуществляет целочисленное деление целого a на целое
b.
Дробная часть при этом отбрасывается.
Остаток от деления a на b.
a_mod_b
Слайд 8Пример 2.
Найти разность между трехзначным числом и числом, составленным из тех
же цифр, но взятых в обратном порядке
Слайд 9Способ первый
Для определения цифры сотен делим данное число на 100
и остаток отбрасываем, т. е. выполняем целочисленное деление.
Для определения цифры десятков надо из данного числа вычесть сотни, результат разделить на 10 и остаток отбросить.
Для определения цифры единиц надо из данного числа вычесть сотни и десятки. Для записи числа теми же цифрами в обратном порядке, умножим цифру единиц на 100, сложим с цифрой десятков, умноженной на 10 и с цифрой сотен.
Далее из заданного числа вычитаем полученное новое. Например, для числа 342. Выполним целочисленное деление числа на 100, получим цифру сотен:
342 div 100 = 3;
вычитаем из 342 сотни 3*100 и результат делим на 10 - получим цифру десятков:
(342 - 3*100) div 10 = 4;
наконец, вычитаем из заданного числа сотни и десятки, получаем цифру единиц:
342 - 3*100 - 4*10 = 2.
Для записи числа в обратном порядке, умножаем цифру единиц 2 на 100 и складываем с цифрой десятков, умноженных на 10 (4*10) и прибавляем цифру сотен 3. Получим новое число, записанное теми же цифрами, но в обратном порядке:
2100 + 410 + 3 = 243.
Вычитаем: 342 - 243 = 99.
Слайд 10Программа
Program Problem1;
var
a, s, d, e,
b, r : integer;
begin
write('Введите трехзначное число '); readln(a);
s := a div 100;
d := (a - s*100) div 10;
e := a - s*100 - d*10;
b := e*100 + d*10 + s;
r := a - b;
writeln('Искомая разность равна ', r)
end.
Слайд 11 Комментарии
Комментарии - это тексты, объясняющие программу, но не влияющие на
ее исполнение. Это различные объяснения, заголовки отдельных частей программы и т.д. Компьютер печатает комментарии вместе с текстом программы, но, выполняя программу, игнорирует их. Программа выполняется так, словно комментариев нет.
Слайд 12
Program bid;
{Программа определения большего из
двух чисел}
{автор программы Иванов Александр Петрович}
{программа составлена 12.10.1993}
{программа доработана 20.10.1993}
{программа протестирована 20.10.1993}
Слайд 132. В описаниях переменных указывается назначение переменных:
var
a,{первое число}
b,{второе число}
c,{их наибольший общий делитель} ...
Слайд 143. Объясняются действия, смысл и назначение которых непонятны:
c := a
mod b {остаток от деления a на b}
d := b*b - 4*a*c {вычисление дискриминанта квад. ур-я}
Слайд 15Program Problem;
var
a, c, s, d,
e, b, r : integer;
begin
write('Введите трехзначное число '); readln(a);
c := a; {Запоминается первоначальное число}
e := a mod 10; (* Цифра единиц *)
a := a div 10;
d := a mod 10; (* Цифра десятков *)
s := a div 10; (* Цифра сотен *)
b := e*100 + d*10 + s;
(* Число, записан. в обратном пор. *)
r := c - b; (* Разность чисел *)
writeln('Искомая разность равна ', r)
end.
Слайд 16Задание
1. Введите эти две программы в компьютер и выполните. Измените вторую
программу так, чтобы для определения цифр трехзначного числа надо было бы делить только на 10 (в приведенных программах используется деление на 100 и на 10).
2. Применяя этот способ, составьте программу, которая подсчитывает сумму и произведение цифр введенного четырехзначного числа.