AleksandrovnaIgor
?>

Дано число а. если а > 0 на единицу, иначе уменьшить на 1. проверить алгоритм для а: =3; а: =0; а: =-12

Информатика

Ответы

murza2007
Var
a: integer;
begin
readln(a);
if a > 0 then
inc(a)
else
dec(a);
writeln(a);
end.

Входные данные: 3
Выходные данные: 4

Входные данные: 0
Выходные данные: -1

Входные данные: -12
Выходные данные: -13

P.S. Процедура inc(a) увеличивает a на 1, процедура dec(a) уменьшает a на 1.
Терентьева
Const
  n = 11;

var
  x: array[1..n] of integer;
  i, k, d, s: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  k := 0; s := 0;
  for i := 1 to n do
  begin
    d := Random(11) - 5;
    Write(d:3);
    if (i mod 2) = 0 then begin { четное место }
      if d = 1 then Inc(k);
      x[i] := d
    end
    else begin
      if d < 0 then s := s + d;
      x[i] := sqr(d)
    end
  end;
  Writeln;
  Writeln('Результирующий массив');
  for i := 1 to n do Write(x[i]:3);
  Writeln;
  Writeln('Количество единиц на четных местах равно ', k);
  Writeln('Сумма отрицательных элементов на нечетных местах равна ', s)
end.

Тестовое решение:
Элементы массива
 -3  0 -5  1  5  1 -3 -4  5 -3 -2
Результирующий массив
  9  0 25  1 25  1  9 -4 25 -3  4
Количество единиц на четных местах равно 2
Сумма отрицательных элементов на нечетных местах равна -13
dawlatowajana
1. Современное решение

// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var min:=a.Min;
  a.Transform(x->x<0?x*min:x); a.Println
end.

Пример
n= 15
-34 7 0 -48 4 42 35 14 -47 6 -29 43 46 40 -18
1632 7 0 2304 4 42 35 14 2256 6 1392 43 46 40 864

2. Популярное до сих пор в школах решение на TurboPascal 7.01 (1983г.)

uses Crt;
const
  nn=100;
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  ClrScr;
  Randomize;
  Write('n='); Read(n);
  min:=100;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  for i:=1 to n do
    if a[i]<0 then a[i]:=a[i]*min;
  for i:=1 to n do
    Write(a[i],' ');
  Writeln;
  ReadKey
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано число а. если а > 0 на единицу, иначе уменьшить на 1. проверить алгоритм для а: =3; а: =0; а: =-12
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

kizyaev6651
Iiexota280274
rmitin
roma8
tatiyanabe2013727
Антонович937
nadezhda81
olgakuz00261
alex13izmailov
M10M11M12
cvetyzelen283
char40
kartyshkinaaa
jeep75
Svetlana1877