Иллюстрированный самоучитель по Turbo Pascal для начинающих

Решения (задачи 105-130)

Задача 124

{ Приближенное var
a,b: real;
dx: real;
s: real; n: integer; x: real; y1,y2: real;
i: integer;
вычисление интеграла методом трапеций }
{ границы отрезка }
{ приращение аргумента (величина интервала)}
{ приближенное значение интеграла} { количество интервалов } { аргумент }
{ значение функции в начале и в конце интервала }
begin
writeln('Приближенное вычисление интеграла1);
write('Нижняя граница отрезка › ');
readln(a);
write('Верхняя граница отрезка › ');
readln(b);
write('Приращение аргумента › ');
readln(dx);
n: = Round((b-a)/dx);
x: =a;
s: = 0;
for i: = l to n do
begin
y1: = 5*x*x-x+2; { значение ф-и в начале интервала }
x: = x+dx;
у2: = 5*х*х-х+2; { значение ф-и в конце интервала }
s: = s+(yl+y2)*dx/2; end;
writeln('Значение интеграла: ',8:9:3);
writeln ('Для завершения работы программы нажмите Enter');
readln; end.

Задача 126

{ Преобразование десятичного числа в двоичное } var
dec: integer; { десятичное число }
v: integer; { вес формируемого разряда }
i: integer; { номер формируемого разряда } begin
writeln('Преобразование десятичного числа в двоичное');
writeln('Введите целое число от 0 до 255 и нажмите ', 'Enter');
write(' › ');
readln(dec);
write('Десятичному числу ',dec,' соответствует двоичное ');
v: = 128; { вес старшего (восьмого) разряда)
for i: = l to 8 do
in
if dec >= v then begin
write('1');
dec: = dec-v; end else write('0');
v: = Round(v/2); { вес следующего разряда в два раза меньше }
end;
readln; end.

Задача 127

(Программа проверяет знание таблицы умножения }
uses Crt;
var
numb1, numb2:integer; { Первое и второе число }
res:integer; (Результат умножения первого числа на второе }
otv:integer; { Ответ испытуемого }
kol:integer; { Количество правильных ответов }
i:integer;
begin
ClrScr; { очистить экран }
writeln(' *** Проверка знания таблицы умножения ***);
writeln(' После примера введите ответ и нажмите Enter.');
writeln;
kol: = 0; (правильных ответов)
Randomize; (инициализация генератора случайных чисел }
for i: = l to 10 do { 10 примеров }
begin
numb1: = Random(9)+ 1;
numb2: = Random(9)+1;
res: = numbl * numb2;
write(' (,numbl,'x',numb2,'=');
readln(otv);
if otv=res
then
kol: = kol+l else begin
writeln(' Вы ошиблись! ',numbl,'*',numb2,'=',res);
end; end;
writeln(' Правильных ответов:',kol); write(' Ваша оценка: '); case kol of
10: writelnС51); 9.8: writeln('4'); 7.6: writeln('3'); 0..5:writeln('2'); end;
writeln(' Для завершения работы с программой нажмите Enter');
readln; end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.