От чтобы вы мне решить кроссворд.А именно 8 и 9 во Если что, эти во про excel 8) Встроенный алгоритм обработки данныхв excel) 9) Набор данных, описывающий изменение одной величины.(в excel)
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadLines('input.txt').Select(s->s.ToWords). Select(w->(w[0]+' '+w[1], (w[2].ToInteger+w[3].ToInteger+w[4].ToInteger)/3)).ToArray; var max:=s.Max(fb->fb[1]); s.Where(fb->fb[1]=max).Select(fb->fb[0]).Println(NewLine) end.
2. Школьное решение в стиле "TurboPascal 1983г"
const n=50; // максимум лучших учеников var f:Text; i,p,pa,b,sum,max:integer; sb:real; s,fio:string; flag:boolean; a:array[1..n] of string; begin Assign(f,'input.txt'); Reset(f); max:=0; pa:=1; while not Eof(f) do begin Readln(f,s); fio:=''; flag:=true; for i:=1 to Length(s) do if s[i]<>' ' then fio:=fio+s[i] else if flag then begin fio:=fio+' '; flag:=false end else break; p:=Length(fio)+2; sum:=0; for i:=1 to 3 do begin b:=Ord(s[p])-Ord('0'); sum:=sum+b; p:=p+2 end; if sum>max then begin a[1]:=fio; pa:=2; max:=sum end else if sum=max then begin a[pa]:=fio; pa:=pa+1 end; end; Close(f); for i:=1 to pa-1 do Writeln(a[i]); end.
3. Пример выполнения
Исходные данные (файл во вложении) Иванов И.И. 4 5 4 Сидорова С.С. 5 3 4 Петров П.П. 5 5 4 Козлов К.К. 3 3 5 Васечкин В.В. 4 4 4 Сорокина С.С. 5 5 4 Тарасова Т.Т. 5 4 5
Результат Петров П.П. Сорокина С.С. Тарасова Т.Т.
Предвижу возражение, что современное решение "непонятно". А что, школьное понятнее? Текст в 42 строчки понятнее чем в 5 строк? (я выкинул из обоих текстов по одному begin и end, окаймляющие программу). Что дольше писать и отлаживать? Где больше ошибок можно сделать? В конце-концов, что проще изучить с нуля - программирование в 5 строк или в 42? Вот и вопрос - для чего в школах массово изучают такое несуразное программирование?
Anatolevich1506
06.11.2022
Function V(h,r:real):real; Begin result:=1/3*Pi*r*r*h // ABC, ABC.net // V:=1/3*Pi*r*r*h // Turbo, Free End;
Function SPP(h,r:real):real; Begin result:=Pi*r*(R+Sqrt(r*r+h*h)); End;
Var h,r,V0,S,SumS,SumV:real;
Begin Write('h1 = ');ReadLn(h); Write('r1 = ');ReadLn(r); V0:=V(h,r); SumV:=V0;
WriteLn('Sum V = ',SumV); WriteLn('Sum S = ',SumS); End.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
От чтобы вы мне решить кроссворд.А именно 8 и 9 во Если что, эти во про excel 8) Встроенный алгоритм обработки данныхв excel) 9) Набор данных, описывающий изменение одной величины.(в excel)
8) функция
9) ряд