Напишите пожалуйста задачу в паскале ALGO

0 голосов
52 просмотров

Напишите пожалуйста задачу в паскале ALGO


image

Информатика | 52 просмотров
0

То, о чем Вы пишете - это обучение для профильных классов. Там не станут изучать АЛГО. А остальным как раз нужно умение пользоваться "большими блоками", а не кирпичиками. Когда задача ребенка построить из кубиков домик, не нужно его заставлять сначала изготавливать кубики.

0

что до Вашего "...научиться писать реализацию..." - начните с библиотечных функций. Запрограммируйте функцию квадратного корня, тригонометрию, логарифм... а потом поговорим, надо ли это, кому и зачем. Я когда-то, да, программировал и корень квадратный. На микропроцессоре и в бинарном коде, даже без ассемблера. И знаю, о чем говорю. Но я тогда уже работал программистом, а не был школьником, у которого информатика раз в неделю 45 минут.

0

я программировал не квадратный корень, а корень н-й степени из а, если что....

0

Нетушки! Именно квадратный и только на четырех действиях арифметики. Если что.

0

Причем, чтобы давал точность необходимую о всем диапазоне представления чисел с плавающей точной одинарной и двойной точности.

0

И вот так, на собственных библиотеках и программируйте. Будете настоящим "суровым программером"

0

Но не надо это все школьникам предлагать, 99% которых даже ЕГЭ по информатике сдавать не собираются.

0

:thumbup:

0

Вот Вы бы лучше, чем достоинством меряться, человеку помогли программу написать....

0

Вот Вы бы лучше мне не давали советов, а за собой следили)

Дан 1 ответ
0 голосов
Правильный ответ

Написано и отлажено на FreePascal

program test;
uses
crt;

const
require = 18;

type
arr = array of byte;
fios= array of string;

var
phis, math, russ, eng, tot : arr;
fio : fios;
num: byte;
i, j, k : byte;
st, t : string;
val, key : byte;
p, m, r, f : byte;


begin
write('How many peoples: ');
readln(num);
writeln;
setLength(fio, num);
setLength(phis, num);
setLength(math, num);
setLength(russ, num);
setLength(eng, num);
setLength(tot, num);
for i:=0 to num-1 do
begin
writeln('People ', i+1);
write('F.I.O.: ');
readln(fio[i]);
write('Phis: ');
readln(phis[i]);
write('Math: ');
readln(math[i]);
write('Russ: ');
readln(russ[i]);
write('Eng: ');
readln(eng[i]);
tot[i] := phis[i]+math[i]+russ[i]+eng[i];
writeln;
end;
writeln;

writeln(' V E D O M O S T');
writeln('---------------------------------------------------------------');
writeln('| F. I. O. | Phis | Math | Russ | Eng | Total |');
writeln('---------------------------------------------------------------');
for i:=0 to num-1 do
begin
st := '| ' + fio[i];
j:= length(st);
if j<17 then<br> for k:=1 to 17-j do st:=st+' ';
st:=st+'|';
str(phis[i], t);
st := st + ' ' + t + ' |';
str(math[i], t);
st := st + ' ' + t + ' |';
str(russ[i], t);
st := st + ' ' + t + ' |';
str(eng[i], t);
st := st + ' ' + t + ' |';
str(tot[i], t);
st := st + ' ' + t + ' |';
writeln(st);
end;
writeln('---------------------------------------------------------------');

for i:=0 to num-1 do
begin
val:=tot[i];
st:=fio[i];
p:=phis[i];
m:=math[i];
r:=russ[i];
f:=eng[i];
key:=i;
for j:=i+1 to num-1 do
if tot[key] if key<>i then
begin
tot[i] := tot[key];
tot[key] := val;
fio[i] := fio[key];
fio[key] := st;
phis[i] := phis[key];
phis[key] := p;
math[i] := math[key];
math[key] := m;
russ[i] := russ[key];
russ[key] := r;
eng[i] := eng[key];
eng[key] := f;
end;
end;

writeln;

writeln(' Sorted vedomost by total balls');
writeln('---------------------------------------------------------------');
writeln('| F. I. O. | Phis | Math | Russ | Eng | Total |');
writeln('---------------------------------------------------------------');
for i:=0 to num-1 do
begin
st := '| ' + fio[i];
j:= length(st);
if j<17 then<br> for k:=1 to 17-j do st:=st+' ';
st:=st+'|';
str(phis[i], t);
st := st + ' ' + t + ' |';
str(math[i], t);
st := st + ' ' + t + ' |';
str(russ[i], t);
st := st + ' ' + t + ' |';
str(eng[i], t);
st := st + ' ' + t + ' |';
str(tot[i], t);
st := st + ' ' + t + ' |';
writeln(st);
end;
writeln('---------------------------------------------------------------');

writeln;
writeln(' Spisok postupifshih studentov');
writeln('---------------------------');
writeln('| F. I. O. | Total |');
writeln('---------------------------');
for i:=0 to num-1 do
begin
if tot[i] >= require then
begin
st := '| ' + fio[i];
j:= length(st);
if j<17 then<br> for k:=1 to 17-j do st:=st+' ';
st:=st+'|';
str(tot[i], t);
st := st + ' ' + t + ' |';
writeln(st);
writeln('---------------------------');
end;
end;
end.

(1.7k баллов)
0

При выводе шапок нужно проставить необходимое количество пробелов, т.к. сайт "лишние" пробелы зарезал. А файл не смог прицепить из программы под Andoid, sorry....

0

Все понимаю, кроме одного: какого, простите, рожна давать ответ на FPS, если просят на АЛГО?