Решения (задачи 105-130)
Задача 120
(Преобразование десятичного числа в двоичное } 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 begin if dec >= v then begin write('1'); dec: = dec-v; end else write('0'); v: = Round(v/2); { вес следующего разряда в два раза } { меньше веса текущего разряда } end; readln; end.
Задача 121
{ Выводит на экран квадрат Пифагора – таблицу умножения. } var i,j: integer; { номер строки и столбца таблицы } р: integer; { произведение i на j } begin write('':4); { левая верхняя клетка таблицы } for j: = l to 10 do { первая строка – номера столбцов } write(j:4); writeln; for i: = l to 10 do 101 begin write(i:4); { номер строки } for j: = l to 10 do { строка таблицы } write(i*j:4); writeln; end; readln; { чтобы результат не исчезал с экрана } end.
Задача 122
{ Вычисление суммы ряда 1-1/3 + 1/5-1/7 +… } var х: real; { член ряда } n: integer; { количество суммируемых членов } summ: real; { частичная сумма } i: integer; { счетчик циклов } begin writeln('Вычисление суммы ряда 1-1/3 + 1/5-1/7 +…'); write('Введите кол-во суммируемых членов ряда › '); readln(п); summ: = 0; for i: = 1 to n do begin x: = l/(2*i – 1); if (i mod 2) = 0 then x: = – l*x; summ: = summ+x; end; writeln('Сумма ряда: ',summ:8:6); writeln('Значение pi/4 ',pi/4:8:6); { pi – именованная константа } readln; end.
Задача 123
{ Приближенное вычисление интеграла методом прямоугольников } var a,b: real; { границы отрезка } dx: real; (приращение аргумента (величина интервала) real; { приближенное значение интеграла} n: integer; { количество интервалов } х: real; { аргумент } у: real; { значение функции в начале интервала } 1: integer; begin writeln('Приближенное вычисление интеграла'); 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 y: = 5*x*x-x+2; { значение функции в начале интервала } s: = s+y*dx; x: = x+dx; end; writeln{'Значение интеграла: *,s:9:3); writeln('Для завершения работы программы нажмите Enter'); readln; end.