lsyrbu
?>

Определите значение переменной а после исполнения данного алгоритма. a: =20 b: =а/4-2 а: =а-b*3 в ответе укажите одно число - значение переменной а.

Информатика

Ответы

Fedorov1283
a:=20 - в переменную a записывается значение 20
b:=а/4-2 в переменную b записывается значение 20/4-2=5-2=3
а:=а-b*3 в переменную а записывается значение 20-3*3=20-9=11
ответ: 11
POMILEVAVladimirovna269
Значение переменной а после алгоритма равно 11
osipov1984osipov
Const
  n1 = 20;
  m1 = 20;

var
  a: array[1..n1, 1..m1] of integer;
  b: array[1..m1] of integer;
  i, j, m, n: integer;

begin
  Write('Введите через пробел число строк и столбцов массива: ');
  Readln(n, m);
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      a[i, j] := Random(101) - 50;
      Write(a[i, j]:4)
    end;
    Writeln
  end;
  Writeln('Сформированный массив');
  for j := 1 to m do
  begin
    i := 1;
    while (i <= n) and (a[i, j] >= 0) do i := i + 1;
    if i <= n then b[j] := a[i, j] else b[j] := -99;
    Write(b[j]:4)
  end;
  Writeln
end.

Тестовое решение:
Введите через пробел число строк и столбцов массива: 3 10
Исходный массив
 -11 -18 -42 -22  -9   2  21  15  40  -3
   4  -5  40 -13 -44 -37  43  47   1 -39
  20  50  21 -18 -10   6  12 -10  43 -37
Сформированный массив
 -11 -18 -42 -22  -9 -37 -99 -10 -99  -3
mvinogradov6
В Вашем варианте после while необходимо писать begin, а после Writeln - end. Но само по себе решение некрасивое.
Вот Вам еще два на выбор.

1. Без массива

var
  s,n:integer;
begin
  Write('Введите сумму: '); Read(s);
  n:=s div 5000;
  if n>0 then begin
    Writeln('Банкнот "5000" всего: ',n);
    s:=s mod 5000
    end;
  n:=s div 1000;
  if n>0 then begin
    Writeln('Банкнот "1000" всего: ',n);
    s:=s mod 1000
    end;
  n:=s div 500;
  if n>0 then begin
    Writeln('Банкнот "500" всего: ',n);
    s:=s mod 500
    end;
  n:=s div 100;
  if n>0 then begin
    Writeln('Банкнот "100" всего: ',n);
    s:=s mod 100
    end;
  n:=s div 50;
  if n>0 then begin
    Writeln('Банкнот "50" всего: ',n);
    s:=s mod 50
    end;
  n:=s div 10;
  if n>0 then begin
    Writeln('Банкнот "10" всего: ',n);
    s:=s mod 10
    end;
  if s>0 then Writeln('Недоплачено: ',s)
end.

Пример:
Введите сумму: 162504
Банкнот "5000" всего: 32
Банкнот "1000" всего: 2
Банкнот "500" всего: 1
Недоплачено: 4

2. С массивом

const
  k:array[1..6] of integer=(5000,1000,500,100,50,10);
var
  s,n,i:integer;
begin
  Write('Введите сумму: '); Read(s);
  for i:=1 to 6 do begin
    n:=s div k[i];
    if n>0 then begin
      Writeln('Банкнот "',k[i],'" всего: ',n);
      s:=s mod k[i]
      end
    end;
  if s>0 then Writeln('Недоплачено: ',s)
end.

Пример
Введите сумму: 15470
Банкнот "5000" всего: 3
Банкнот "100" всего: 4
Банкнот "50" всего: 1
Банкнот "10" всего: 2

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

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

Определите значение переменной а после исполнения данного алгоритма. a: =20 b: =а/4-2 а: =а-b*3 в ответе укажите одно число - значение переменной а.
Ваше имя (никнейм)*
Email*
Комментарий*