Class02:
Простейшие программы
3.1. Что будет напечатано программой
program SQRprog;
var b, c, d:real;
begin
read(b,c); d:=sqrt(sqr(b)-4*c);
writeln('x1=',(-b+d)/2,'x2=',(-b-d)/2)
end.
если в качестве исходных данных заданы числа 1.0 и -2.0?
3.2. Написать программу, которая вводит два вещественных числа, вычисляет
и печатает коэффициенты приведенного квадратного уравнения, корнями
которого являются эти числа.
3.3. Что будет напечатано программой
program less;
var x : real;
t : boolean;
begin
read(x); t:=x < round(x);
read(x); t:=t and (x < trunc(x));
writeln(t)
end.
если для ввода заданы числа 1.5 и -0.8?
3.4. Написать программу, которая печатает true, если три заданных целых числа одинаковую четность.
3.6. Ответить на следующие вопросы:
a) почему параметрами процедуры ввода Read могут быть
только переменные, а не числа или выражения (x+1)?
в) если в качестве исходных данных задано пять чисел, то можно
ли ввести пятое из них, не вводя первые четыре?
3.7. Что будет напечатано программой
program aba;
var a,b : integer;
begin
read(a,b,a); writeln(a,b,a)
end.
если для ввода заданы числа 1,2 и 3?
3.8. Имеется программа
program PRINT;
var x : integer;
begin
x:=2; writeln('x+1')
end.
Что она напечатает: 3 или x+1?
3.9. Когда процедура вывода writeln(x1,...,xn) осуществляет перевод строки:
до печати первого параметра x1 или после печати последнего параметра xn?
3.10. Нарисовать расположение чисел, напечатанных следующей последовательностью процедур:
write(1); write(2,3); writeln(4); write(5,6);
writeln; writeln(7,8).
3.11. Программа program DEGREE;
const e = 2.71828;
var e2 : real;
begin
e2:=e*e; writeln(e,e2,e*e2,e2*e2)
end.
печатает первые четыре степени числа е. Какие изменения надо внести в программу, чтобы она печатала первые четыре
степени числа ¶?
3.15. Найти ошибки в каждой из следующих программ.
a) program A;
const d = 5;
begin
d:=sqr(d);
writeln('d**2=',d)
end.
б) program B;
const k = true;
var x : real;
begin
read(x);
writeln(ord(x)=k)
end.
в) program C;
var a,b,c : integer;
begin
read(a,b);
writeln((a+b+c)/3)
end.
г) program D;
var x : real;
begin
read(x);
y:=sqrt(x)+1;
writeln(y)
end.
д) program E;
const B=2.5; var a,b,c:real;
begin read(a,c); writeln(a*c > b) end.
3.16. Найти ошибки в следующей программе:
program MISTAKES
const ¶ = 3.14159;
var a,b : integer;
begin
read(A); d:=odd(¶*0) and b > a;
writeln(d)
end.
3.18. Написать программы для решения следующих задач:
в) вычислить дробную часть среднего геометрического трех заданных
положительных чисел;
д) вычислить длину окружности, площадь круга и объем шара заданного радиуса;
е) вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов.
3.19. Написать программы, которые печатают true или false в зависимости от
того, выполняются или нет указанные условия:
в) определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.
г) определить, равен ли квадрат заданного трехзначного числа кубу
суммы цифр этого числа;
з) даны координаты (целые числа: 1..8) двух полей шахматной доски. Определить, может ли конь за один ход перейти с одного
поля на другое.