Задание 2
Сначала переводим число в 10 систему счисления (фото 1 под 1)) т.к. получается очень большая дробная часть число полностью не выписывала (красные цифры это значение букв на которое надо умножать) сможете выписать весь ответ с фото 4
Далее уже получившееся число переводим из 10 системы счисления в 7 отдельно целую и дробную части (фото 1 под2)) дробную часть написала частично расчеты можете продолжить самостоятельно (полный ответ на рисунке 3)
аналогично с переводом в 17 и 22 системы
Задание 3
1-10)0 1 2 3 4 5 6 7 8 9 A
11-20) B C D E F G H I J K
21-30) 10 11 12 13 14 15 16 17 18 19
31-40) 1A 1B 1C 1D 1E 1F 1G 1H 1I 1J
41-50) 1K 20 21 22 23 24 25 26 27 28
51-60) 29 2A 2B 2C 2D 2E 2F 2G 2H 2I
61-70) 2J 2K 30 31 32 33 34 35 36 37
Внимание! Если программа не работает, обновите версию!
type
Uch=record
fam,nam:string;
ball:integer
end;
begin
var U:=new Uch[40];
// Ввод данных (до 40), окончание- пустой ввод
var i:=0;
repeat
var a:=ReadlnString('Ученик '+(i+1).ToString+':').ToWords;
if a.Count=0 then break;
U[i].fam:=a[0]; U[i].nam:=a[1]; U[i].ball:=integer.Parse(a[2]);
i+=1
until i=40;
SetLength(U,i); // массив отрегулирован под реальное кол-во
// поиск
Writeln('1 - поиск по фамилии и имени;');
Writeln('2 - поиск по оценке;');
Writeln('3 - поиск учеников с лучшей оценкой;');
Writeln('иной символ - завершение');
repeat
var c:=ReadlnChar('Ваш выбор:');
case c of
'1':begin
var s:=ReadlnString('Фамилия и имя:').ToWords;
var found:=false;
for var j:=0 to U.Length-1 do
if (U[j].fam=s[0]) and (U[j].nam=s[1]) then begin
Writeln('Отметка ',U[j].ball);
found:=true;
break
end;
if not found then Writeln('Нет такого ученика')
end;
'2':begin
var k:=ReadlnInteger('Оценка:');
var found:=false;
for var j:=0 to U.Length-1 do
if U[j].ball=k then begin
Writeln(U[j].fam,' ',U[j].nam);
found:=true;
end;
if not found then Writeln('Нет такого ученика')
end;
'3':begin
var m:=U.Select(x->x.ball).Max;
for var j:=0 to U.Length-1 do
if U[j].ball=m then Writeln(U[j].fam,' ',U[j].nam);
end;
else break
end;
until false;
приходите еще!')
end.
Пример
Ученик 1: Иванов Петр 4
Ученик 2: Петров Иван 5
Ученик 3: Висечкин Николай 3
Ученик 4: Зотова Марина 4
Ученик 5: Любимов Павел 5
Ученик 6: Козлова Елена 4
Ученик 7:
1 - поиск по фамилии и имени;
2 - поиск по оценке;
3 - поиск учеников с лучшей оценкой;
иной символ - завершение
Ваш выбор: 3
Петров Иван
Любимов Павел
Ваш выбор: *
приходите еще!