Aldiyar0708
06.04.2023 23:29

Как мне сделать так, чтобы можно было в proc3 и proc 4 узнать ввёл пользователь данные или нет. Если данные не введены, то вывести "введите данные".
program k3;
uses crt;
var n:byte; s,d:real; a,b:real; m:smallint;

procedure proc1 (var a:real; b:real);
begin
writeln ('vvedite nizhnuu graniczu intervala');
readln (a);
writeln ('vvedite verhnuu graniczu intervala');
readln (b);
end;

procedure proc2 (var m:smallint);
begin
writeln ('vvidite chislo razbienii');
readln (m);
end;

procedure proc3 (var s:real);
var i:integer; h,x:real;
begin
writeln ('vi ne vveli granicy intervala i chislo razbienii');
proc1 (a,b);
proc2 (m);
h:=(b-a)/m;
x:=a+h/2;
for i:=1 to m do
begin
s:=s+(2*x*x*x+(-2)*x*x+3*x-11);
x:=x+h;
end;
s:=s*h;
writeln ('s= ',s);
readln ();
end;

procedure proc4 (var d:real);
var p:real;
begin
proc3 (s);
p:=(2*((b*b*b*b)/4)+(-2)*((b*b*b)/3)+3*(b*b)/2-11*b)-(2*((a*a*a*a)/4)+(-2)*((a*a*a)/3)+3*(a*a)/2-11*a);
d:=(p-s)/p;
writeln ('d= ',d);
readln ();
end;

begin
repeat
clrscr;
writeln ('granicy intervala - 1');
writeln ('chislo razbienii - 2');
writeln ('integeral - 3');
writeln ('pogreshnost - 4');
writeln ('exit - 0');
write ('select program: ');
readln (n);
case n of
1:proc1 (a,b);
2:proc2 (m);
3:proc3 (s);
4:proc4 (d);
end;
until n=0;
readln (); end.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ksyushaivleva
18.03.2020 13:05
Var A,R:integer;
Begin
WriteLn('Выберите тип единицы измерения времени: 1 - секунда, 2 - минута, 3 - час, 4 - сутки, 0 - выход.');
ReadLn(R);
While R<>0 do
   Begin
   Write('Введите значение этой единицы времени: ');
   ReadLn(A);
   Case R of
   1:WriteLn(A,' сек = ',(A/60):0:3,' мин = ',(A/3600):0:3,' ч = ',(A/86400):0:3,' сут');
   2:WriteLn(A,' мин = ',(A/60):0:3,' ч = ',(A/1440):0:3,' сут = ',A*60,' сек');
   3:WriteLn(A,' ч = ',(A/24):0:3,' сут = ',A*3600,' сек = ',A*60,' мин');
   4:WriteLn(A,' сут = ',A*24,' ч = ',A*1440,' мин = ',A*86400,' сек');
   End;
   WriteLn;
   WriteLn('Выберите тип единицы измерения времени: 1 - секунда, 2 - минута, 3 - час, 4 - сутки, 0 - выход.');
   ReadLn(R);
   End;
End.
0,0(0 оценок)
Ответ:
NastyaKoryak
27.10.2022 06:59
Var
S:string;
k,i:integer;
Begin
k:=0;
WriteLn('Введите строку');
ReadLn(S);
For i:= 1 to Length(S) do
    if S[i] = '.' then k:=k+1;
WriteLn('Количество точек в строке: ',k)
End.

Var
S,S1:string;
i:integer;
Begin
WriteLn('Введите строку');
ReadLn(S);
S1:='';
For i:= 1 to Length(S)-1 do
    Begin
    if S[i] <> ' ' then S1:=S1+S[i];
    if (S[i] = ' ')and(S[i+1] <> ' ') then S1:=S1+S[i];
    End;
S:='';
if S1[1] = ' ' then
   For i:= 2 to Length(S1) do
       S:=S+S1[i]
else
   For i:= 1 to Length(S1) do
       S:=S+S1[i];
WriteLn(S);
End.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота