Занятие 2 Использование операций div и mod. Операции div и mod применяются к целым операндам и в результате их применения формируется результат целого типа: x div y – результатом является целочисленное частное при делении целого x на целое y x mod y – результатом является целочисленный остаток при делении целого x на целое y. Пример1. Var x,y,u,v:integer; Begin Writeln(‘задайте два целых числа’); Readln(x,y); U:=x div y; V:=x mod y; Writeln(‘ При делении’,x,’ на’,y,’ получаем следующие результаты:’); Writeln(‘частное=’,u,’остаток=’,v) End. Контрольные примеры: a) задайте два целых числа 789 10 При делении789 на10 получаем следующие результаты: частное=78 остаток=9 b)задайте два целых числа 78 2 При делении78 на2 получаем следующие результаты: частное=39 остаток=0 d) задайте два целых числа 1258 100 При делении1258 на100 получаем следующие результаты: частное=12 остаток=58 1 Выполните программу при различных значениях входных данных и проверьте правильность результатов. Задания 1.Введите двузначное число. Поменяйте в нем порядок следования цифр (например, измените число 89 на число 98). Выведите исходное и измененное числа. 2. Введите двузначное число. Найдите сумму цифр числа. 3. Введите двузначное число. Проверьте, равна ли 9 цифра в разряде десятков заданного числа. 4. Введите двузначное число. Проверьте, состоит ли число из одинаковых цифр. 5. Введите двузначное число x. Проверьте, делится ли число x на заданное число y. 6. Присвоить целой переменной h первую цифру из дробной части положительного вещественного числа z (так, если z=78.125, то h=1). Условный оператор со сложными логическими выражениями Логические выражения бывают простыми и составными. Простое логическое выражение – это логическая переменная или отношение. Отношение – это два арифметических выражения, между которыми стоит знак операции отношения. Например, x>0 или 2*2=4. Составные логические выражения состоят из простых логических выражений, объединенных логическими операциями (not, and, or, xor). Например, (x>=3) and (x<=5) или 2 (x<3) or (x>5) или not ((x>=3) and (x<=5)) В таблице представлены результаты выполнения всех возможных вариантов логических операций над логическими данными Таблица истинности A B not A A or A A and B xor B B False False True False False False False True True False True True True False False False True True True True False True True False Пример2 Записать логическое выражение для проверки принадлежности значения переменной x одному из интервалов [–10, –5], [–1, 1]. Результат проверки присвоить логической переменной b: b:=(x>=-10)and(x<-5) or (abs(x)<=1) Пример3.Даны два не равных нулю числа x и y. Если оба числа отрицательные, то меньшее из них возвести в квадрат; если числа разного 3 знака, то оба числа увеличить на 1; если оба числа положительные, то большее число разделить пополам. Программа. Var x,y:real; Begin Writeln(‘задайте два числа’); Readln(x,y); Writeln(‘заданные числа: ’,x,’ ‘,y); If (x<0)and(y<0) then //нахождение меньшего и возведение меньшего в квадрат if x<y then x:=x*x else y:=y*y else if( (x>0)and(y<0) )or( (x<0) and(y>0)) then //оба числа увеличить на 1 begin x:=x+1; y:=y+1 end else // большее число разделить пополам if x>y then x:=x/2 else y:=y/2; writeln(‘преобразованные числа: ’,x,’ ‘,y) end. Контрольные примеры: a) задайте два числа 5 7 заданные числа: 5 7 преобразованные числа: 5 3.5 б)задайте два числа 7 5 заданные числа: 7 5 преобразованные числа: 3.5 5 в) задайте два числа -7 -5 заданные числа: -7 -5 преобразованные числа: 49 -5 г) задайте два числа -7 -15 заданные числа: -7 -15 преобразованные числа: -7 225 4 д) задайте два числа -7 5 заданные числа: -7 5 преобразованные числа: -6 6 е) задайте два числа 5 -7 заданные числа: 5 -7 преобразованные числа: 6 -6 Выполните программу при различных значениях входных данных и проверьте правильность результатов. Задания 1. Записать оператор присваивания, с помощью которого логическая переменная f получает значение а) true, если целое число k делится на 7, и false – в противном случае; в) true, если 0<x<1, и false – в противном случае; г) true, если x не принадлежит отрезку [-1,1], и false – в противном случае; д) true, если x лежит вне отрезков [2,5] и [-1,0], и false – в противном случае. 2.Даны три числа. Если они упорядочены по возрастанию, удвоить каждое число, иначе изменить каждое число на обратное. 3. Выяснить, попадает ли точка с заданными координатами в кольцо с координатами центра (0,0) и заданными радиусами r1 и r2. 4.Проверить, могут ли значения переменных a, b, c быть длинами сторон треугольника? 5 Проверить, являются ли заданные значения x и y решением системы двух линейных уравнений с двумя неизвестными. ax by c, dx ey f. 6 Исследовать систему: 5 ax by c, dx ey f. на существование единственного решения. Указание. Система имеет единственное решение, если коэффициенты при соответствующих неизвестных не пропорциональны, т.е. a b или d e ae bd 7. Проверить, имеет ли система: ax by c, dx ey f. единственное решение, или имеет множество решений или не имеет решений . Указание. Система имеет единственное решение, если a b или d e Система имеет бесчисленное множество решений, если a b c d e f Система не имеет решений, если 8. 1 sin x, 1 cos x, y tgx, ctgx, 0, ac bd a b c d e f если 5 x 10 если 10 x 15 если 15 x 20 если 20 x 25 в остальных случаях 9. Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат на плоскости, то переменной k присвоить 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то k присвоить соответственно –1 или –2. В остальных случаях k присвоить номер четверти плоскости, в которой находится точка с заданными координатами. Подобрать данные для проверки всех случаев. 6 a 2 b 2 , если a 2 b 2 1 2 2 2 2 y min a ,b , если a b 1 и a b 10. 2 2 если a 2 b 2 1 и a b a b , Подобрать данные для проверки всех случаев. x 2 a, если x 2 a и x 0 2 если x 2 a и x 0 x a, y 11. 2 если x 2 a и x 0 x a, 2 если x 2 a и x 0 x , Подобрать данные для проверки всех случаев. a b если a 0 и b 0 a b , если a 0 и b 0 y a b, 12. max a, b, если a 0 и b 0 a b , если a 0 и b 0 Подобрать данные для проверки всех случаев. 7