Решения (задачи 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.