Вопросы и задания
1. Найдите все значения натуральных чисел X , Y , Z из интервала от 1 до 10, удовлетворяющих равенству: X2 + У2 = Z2.
program PythagoreanTriples;
var X, Y, Z: integer;
begin writeln('Натуральные числа X, Y, Z, удовлетворяющие X^2 + Y^2 = Z^2:'); for X := 1 to 10 do for Y := 1 to 10 do for Z := 1 to 10 do if X * X + Y * Y = Z * Z then writeln('X = ', X, ', Y = ', Y, ', Z = ', Z); readln; end.
2. Вычислите количество точек с целочисленными координатами, попадающих в круг радиуса R (R > 0) с центром в начале координат.
program PointsInCircle;
var R, X, Y, Count: integer;
begin writeln('Введите радиус круга (R > 0): '); readln(R); Count := 0; for X := -R to R do for Y := -R to R do if X * X + Y * Y <= R * R then Count := Count + 1; writeln('Количество точек в круге радиусом ', R, ': ', Count); readln; end.
3. Старинная задача. Сколько можно купить быков, коров и телят на 100 руб., если в сумме должно быть куплено 100 голов скота, а цена быка — 10 руб., цена коровы — 5 руб., цена теленка — 0,5 руб.?
program BuyingLivestock;
var Bulls, Cows, Calves: integer;
begin writeln('Введите количество денег (в рублях): '); readln(Calves); for Bulls := 1 to 100 do for Cows := 1 to 100 - Bulls do begin Calves := 100 - Bulls - Cows; if Bulls * 10 + Cows * 5 + Calves * 0.5 = 100 then writeln('Быков: ', Bulls, ', Коров: ', Cows, ', Телят: ', Calves); end; readln; end.
4. Чем отличается итерационный цикл от цикла с заданным числом повторений?
Итерационный цикл выполняется до тех пор, пока выполняется определенное условие (например, условие завершения). Цикл с заданным числом повторений выполняется заранее определенное количество раз.
5. Почему для программирования итерационных циклов не используется оператор цикла с параметром?
Оператор цикла с параметром не используется в Pascal, поскольку этот язык не поддерживает такой тип цикла.
6. Запрограммируйте итерационный цикл вычисления функции εх (см. задание 9 из § 21) с точностью г. Сделайте два варианта программы: с циклами While и Repeat. Выполните вычисления для ε = 10-6, х = 2 и сопоставьте полученный результат со значением стандартной функции ехр (х).
7. Составьте программу определения количества четных и нечетных цифр в записи данного натурального числа.
program CountEvenOddDigits;
var Number, Digit, EvenCount, OddCount: integer;
begin writeln('Введите натуральное число: '); readln(Number); EvenCount := 0; OddCount := 0; while Number > 0 do begin Digit := Number mod 10; if Digit mod 2 = 0 then EvenCount := EvenCount + 1 else OddCount := OddCount + 1; Number := Number div 10; end; writeln('Количество четных цифр: ', EvenCount); writeln('Количество нечетных цифр: ', OddCount); readln; end.
8. Составьте программу определения наибольшей цифры в записи данного натурального числа.
program MaxDigit;
var Number, Digit, Max: integer;
begin writeln('Введите натуральное число: '); readln(Number); Max := -1; while Number > 0 do begin Digit := Number mod 10; if Digit > Max then Max := Digit; Number := Number div 10; end; writeln('Наибольшая цифра в числе: ', Max); readln; end.