066536 / 56, 119, 316А, 367
.doc
Задача №56
Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
program p56;
uses Crt;
var
a, b, c: integer;
x, y: integer;
begin
ClrScr;
writeln('введите ребра кирпича');
write('a-? '); readln(a);
write('b-? '); readln(b);
write('c-? '); readln(c);
writeln('введите стороны отверстия');
write('x-? '); readln(x);
write('y-? '); readln(y);
if ((x>=a) and (y>=b)) or ((x>=b) and (y>=a)) then
writeln('пролезет стороной a и b');
if ((x>=a) and (y>=c)) or ((x>=c) and (y>=a)) then
writeln('пролезет стороной a и c');
if ((x>=b) and (y>=c)) or ((x>=c) and (y>=b)) then
writeln('пролезет стороной b и c');
ReadKey;
end.
Пример
Рис. 1 блок-схема алгоритма
Задача №119
Вычислить бесконечную сумму с заданной точностью
program p119;
uses Crt;
{------------область переменных---------------}
var
eps: real;
i: byte;
{*******ввод информации********}
procedure VvodInfo;
begin
write('введите точность вычисления ');
readln(eps);
end;
{*******Значение функции*********}
procedure Func;
var
s4et4ik, fact: integer;
tmp_1, tmp_2: real;
vr: real;
begin
tmp_1:=-1;
tmp_2:=-0.5;
i:=2;
fact:=2;
while eps <= abs(tmp_1-tmp_2) do
begin
tmp_1:=tmp_2;
inc(i);
fact:=fact*i;
vr:=1/fact;
if i mod 2 = 1 then
vr:=-fact;
tmp_2:=tmp_2+vr;
end;
writeln('значение функции ', tmp_2:5:2);
end;
{*******начало основной программы*******}
begin
ClrScr;
VvodInfo;
Func;
ReadKey;
end.
Пример
Рис.2 блок-схема алгоритма
Задача №316
Даны натуральное число n, символы S,….,S. Будем рассматривать слова, образованные символами, входящими последовательность S,….., S, считая при этом, что количество символов в каждом слове не превосходит 15.
а) Найти какое-нибудь слово, оканчивающееся буквой (если таких слов нет, то сообщить об этом).
program p316;
uses Crt, Strings;
var
str: string;
i, j, z: byte;
n: byte;
begin
ClrScr;
write('введите длину строки n ');
readln(n);
writeln('введите строку ');
readln(str);
for i:=1 to n do
if (str[i] = ' ') and (str[i-1] = 'd') then
begin
j:=i-1;
while (str[j] <> ' ') and (j <> 1) do
j:=j-1;
writeln('slovo okan4ivajuhee na d');
for z:=j to i-1 do
write(str[z]);
break;
end;
ReadKey;
end.
Пример
Рис.3 блок-схема алгоритма
program p367;
uses Crt;
var
a: array [1..3] of integer;
b: array [1..3,1..3] of integer;
i, j: byte;
begin
ClrScr;
writeln('введите три элемента массива А');
write('a[1]-? '); readln(a[1]);
write('a[2]-? '); readln(a[2]);
write('a[3]-? '); readln(a[3]);
writeln;
writeln('массив B');
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
b[i,j]:=a[i]-3*a[j];
write(b[i,j]:4);
end;
writeln;
end;
ReadKey;
end.
Пример
Рис.4 блок-схема алгоритма