Пожалуйста, помогите. Нужно решить в Pascal ABC, тремя способами: с помощью операторов...

0 голосов
21 просмотров

Пожалуйста, помогите. Нужно решить в Pascal ABC, тремя способами: с помощью операторов for, while и repeat.


image

Информатика (740 баллов) | 21 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

//Pascal ABC.NET v3.0 сборка 1111

//for
Var
  x:integer;
begin
 for x:=-3 to 8 do
  begin;
   if x>5 then writeln('y=(',x,')',18*x);
   if (2<=x) and (x<=5) then writeln('y=(',x,')',9*x+10);<br>   if x<2 then writeln('y=(',x,')',-12*x);<br>  end;
end.

//while

Var
  x:integer;
begin
x:=-3;
 while x<>9 do
  begin;
   if x>5 then writeln('y=(',x,')',18*x);
   if (2<=x) and (x<=5) then writeln('y=(',x,')',9*x+10);<br>   if x<2 then writeln('y=(',x,')',-12*x);<br>   inc(x);
  end;
end.

//repeat
Var
  x:integer;
begin
x:=-3;
 repeat
   if x>5 then writeln('y=(',x,')',18*x);
   if (2<=x) and (x<=5) then writeln('y=(',x,')',9*x+10);<br>   if x<2 then writeln('y=(',x,')',-12*x);<br>   inc(x);
 until x=9;
end.

(38.6k баллов)
0

Огромное спасибо

0 голосов

// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
function y(x:integer):integer;
begin
  if x>5 then Result:=18*x
  else
    if x<2 then Result:=-12*x<br>    else Result:=9*x+10
end;

begin
  Writeln('for');
  for var i:=-3 to 8 do Writeln(i:2,y(i):5);
  Writeln('while');
  var i:=-3;
  while i<=8 do begin Writeln(i:2,y(i):5); Inc(i) end;<br>  Writeln('repeat');
  i:=-3;
  repeat Writeln(i:2,y(i):5); Inc(i) until i>8;
end.

Результат выполнения программы:
for
-3   36
-2   24
-1   12
 0    0
 1  -12
 2   28
 3   37
 4   46
 5   55
 6  108
 7  126
 8  144
while
-3   36
-2   24
-1   12
 0    0
 1  -12
 2   28
 3   37
 4   46
 5   55
 6  108
 7  126
 8  144
repeat
-3   36
-2   24
-1   12
 0    0
 1  -12
 2   28
 3   37
 4   46
 5   55
 6  108
 7  126
 8  144

(142k баллов)
0

Огромное спасибо

0

Пожалуйста