четверг, 24 ноября 2011 г.

Примеры решения задач с блок-схемами

Задача № 1: Вычислить периметр и площадь треугольника с заданными сторонами.
program tr;
uses crt;
var a,b,c,p,S, Pr: real;
begin
clrscr;
repeat;
write('a:');
readln(a);
write('b:');
readln(b);
write('c:');
readln (c);
if c>abs(a+b) then
writeln('это не треугольник! повторите ввод');
until c<abs(a+b);
Pr:=a+b+c;
writeln ('Периметр=',Pr:0:2);
Pr:=Pr/2;
S:=sqrt(Pr*(Pr-a)*(Pr-b)*(Pr-c));
Writeln ('Площадь=',S:0:2);
gotoxy(24,25);
write('Для выхода нажмите Enter...');
readln;
end.

Результат выполнения:

Задача № 2: Постановка задачи: Составить блок – схему и написать программу, вычисляющую функцию Y при заданном значении аргумента:
program raz1;
uses crt;
var
y,a,z,b:integer;
begin
clrscr;
write ('a:'); readln (a);
write ('z:'); readln(z);
write ('b:'); readln(b);
if z<=(-10) then y:=a*z+b
else if (z>(-10)) and (z<1) then y:=a*sqr(z)+b*z
     else if z>=1 then y:=z*sqr(z);
writeln;
writeln ('y=',y);
gotoxy(24,25);
write('Для выхода нажмите Enter...');
readln;
end.


Результат выполнения:
Задача № 3: Даны три числа. Вычислить корень квадратный из положительных чисел и возвести в третью степень отрицательные числа.
program omg;
uses crt;
var
mas: array [1..3] of real;
i:integer;
begin
clrscr;
writeln ('Введите 3 числа');
for i:=1 to 3 do
readln (mas[i]);
for i:=1 to 3 do begin
                 if mas[i]>0 then mas[i]:=sqrt(mas[i]);
                 if mas[i]<0 then mas[i]:=sqr(mas[i])*mas[i]
                 end;
for i:=1 to 3 do writeln(i,'-ое число:', mas[i]:2:1);
gotoxy(24,25);Для выхода нажмите Enter')
readln;
end.

Результат выполнения:
Задача № 4: В магазине продаются 7 книг разных авторов и разной цены. Составить программу вывода сообщения об авторе, название и цены книги, в зависимости от введённого порядкового номера книги.

program den;
uses crt;
var n:integer;
begin
clrscr;
writeln ('Введите номер книги от 1 до 7:');
readln(n);
case n of
1: writeln('Толстой "Война и мир" цена: 250 руб.');
2: writeln('Ахматова "Лирика" цена, 150 руб.');
3: writeln('Цветаева "Сборник стихотворений" цена: 100 рус.');
4: writeln('Пушкин А.С. "Руслан и Людмила" цена: 210 руб.');
5: writeln('Фет "Сборник стихотворений" цена: 175 руб.');
6: writeln('Есенин "Поэма" цена, 120 руб.');
7: writeln('Шолохов "Нахаленок" цена: 410 руб.');
else writeln ('Книги нет!');
end;
readln;
end.

Результат выполнения:

Задача № 5: Составить блок-схему и программу вычисления значений функций f(x) на отрезке [a,b] в точках x:=x+h , где h- шаг цикла, с последующим выводом таблицы значений:
f(x)=5Sin(3x-П/2)
xЄ[-2П;0], h=П/4
program tab;
uses crt;
label opa;
var a,b:integer;
i:byte;
y,x,h:real;
begin
clrscr;
opa: write ('a=');
readln (a);
write('b=');
readln(b);
h:=Pi/4;
begin
if (a<b) and (h>0) then
   else begin writeln('Ошибка');
   goto opa;
   end;
end;
for i:=1 to trunc((b-a)/h) do
begin
x:=-2*Pi;
while x<=0 do begin
       x:=x+h;
       y:=5*sin(3*x-Pi/2);
       writeln('Значение F(x) при x=',x:4:3,'=',y:4:3);
       end;
end;
readln;
end.

Результат выполнения:
Задача № 6: Составить программу вычисления площади кольца по значениям внутреннего и внешнего радиусов, используя подпрограмму вычисления площади круга (2 варианта: с процедурой и с функцией).
Вариант 1: с процедурой
uses crt;
var R1,r,S:real;
procedure summ(R1,r:real);
begin
 S:=pi*(R1*R1-r*r);
 Writeln('Сумма=', S:0:2);
end;
begin
clrscr;
write ('Введите внешний радиус R=');
readln(R1);
write ('Введите внутренний радиус r=');
readln(r);
summ(R1,r);
readln
end.

Вариант 2 - с функцией
program krug2;
uses crt;
var R1,r,S:real;
Function Sum(R1,r:real):real;
begin
S:=Pi*(R1*R1-r*r);
Writeln('Сумма=',S:0:2);
end;
begin
clrscr;
write ('Введите R=');
readln (R1);
write ('Введите r=');
readln(r);
Sum(R1,r);
readln
end.
Результат выполнения:






















Комментариев нет:

Отправить комментарий