Программа в Паскале. Даны фамилии 10 сотрудников и зарплаты каждого. Вывести фамилию сотрудника с наименьшей зарплатой

Ответы

Ответ дал: vladmor
0
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
const
  n = 10;
type
  tabel = record
    f: string[20];
    money: integer;
  end;

var
  a: array[1..n] of tabel;
  i, min, imin: integer;

begin
  min := a[1].money;imin := 1;
  for i := 1 to n do begin
    write('Введите Фамилию ',i,' сотрудника : ');
    readln(a[i].f);
    write(a[i].f,' получает :');
    readln(a[i].money);
    if a[i].money < min then begin
      min := a[i].money;imin := i;
    end;
  end;
  writeln(a[imin].f, ' получает меньше всех ');
end.

Тестовое решение:
Введите Фамилию 1 сотрудника : Иванов
Иванов получает :15000
Введите Фамилию 2 сотрудника : Петров
Петров получает :12000
Введите Фамилию 3 сотрудника : Сидоров
Сидоров получает :30000
Введите Фамилию 4 сотрудника : Железнов
Железнов получает :75000
Введите Фамилию 5 сотрудника : Греков
Греков получает :23000
Введите Фамилию 6 сотрудника : Смирнов
Смирнов получает :34000
Введите Фамилию 7 сотрудника : Сурков
Сурков получает :27000
Введите Фамилию 8 сотрудника : Водный
Водный получает :14000
Введите Фамилию 9 сотрудника : Беляев
Беляев получает :33000
Введите Фамилию 10 сотрудника : Жуков
Жуков получает :17000
Петров получает меньше всех

Ответ дал: Аноним
0
Теоретически могу допустить, что где-то преподается "додревняя" версия Паскаля, где вместо строк используются массивы символов, т.е. array[1..n] of char
Ответ дал: Аноним
0
Но это идеи точно из прошлого века (не фигурально) - первые ДОС-компиляторы.
Ответ дал: vladmor
0
Как я понял, учитель не особо не напрягал детей по базовым понятиям, а задания придумал (или скачал за неимением времени) которые для решения требуют несколько больших познаний в предмете.
Ответ дал: vladmor
0
*не особо напрягал*
Ответ дал: Аноним
0
И это еще один довод в пользу изучения сразу самых мощных возможностей языка.
Ответ дал: Аноним
0
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
const
  n=10;
 
type
  Sot=record
  fam:string;
  zp:integer;
  end;  

begin
  var Sotr:=new Sot[n];
  Writeln('Вводите фамилию и через пробел зарплату');
  for var i:=0 to n-1 do begin
    var s:=ReadlnString(i+1+':');
    var ms:=s.Split;
    (Sotr[i].fam,Sotr[i].zp):=(ms[0],StrToInt(ms[1]));
    end;
  var r:=Sotr.OrderBy(x->x.zp).First;
  WritelnFormat('{0} получает всего лишь {1}',r.fam,r.zp)
end.

Тестовое решение:
Вводите фамилию и через пробел зарплату
1: Иванов 32000
2: Петров 28000
3: Козлов 34000
4: Сидорова 41400
5: Пупкин 30000
6: Кузьмина 36000
7: Васечкин 29700
8: Бененсон 32500
9: Паутова 41000
10: Ромашкин 36400
Петров получает всего лишь 28000


Вас заинтересует