Программный код одного человека, сильно отличается от кода другого. Это связано
не только с тем, что у них разная квалификация, но и из психологических
предпосылок, так как порой одну и ту же задачу можно решить разными способами,
то всё зависит от предпочтений самого программиста, у каждого есть свои любимые
методы, свои подходы. Понятно, почему не принимает учитель задачи решенные
одинаково или чуть изменённые. И наоборот, вы уже заметили, справившись
с задачей, применяешь её основы для решения ряда, казалось бы, совсем не
похожих заданий.
Создать файл, содержащий сведения о количестве деталей, изготовленным
за неделю. Каждая запись содержит поля – фамилия мастера, количество деталей, изготовленных им ежедневно в течение 5-дневной
недели, т.е. раздельно – в понедельник, вторник и т.д. . Количество записей –
произвольное.
Б. Написать программу, выдающую на печать следующую информацию: фамилию мастера
и общее количество деталей, собранное им за неделю; фамилию мастера, собравшего
наибольшее число изделий, и день, когда он достиг наивысшей производительности
труда.
program pr;
uses crt;
type
sbor=record
sname:string;
day:array[1..5] of word;
all:longint;
end;
var
i,j:integer;
n,max,maxday:word;
sbord:array[1..1000] of sbor;
f:text;
Nedelia:array[1..5]
of string; // днинедели
begin
Nedelia[1]:='Понедельник';
Nedelia[2]:='Вторник';
Nedelia[3]:='Среду';
Nedelia[4]:='Четверг';
Nedelia[5]:='Пятницу';
clrscr;
assign(f,'input.txt');
rewrite(f);
write('Кол-восборщиков:
');readln(n);
for i:=1 to
n do begin
write('Введите
фамилию мастера: ');
readln(sbord[i].sname);
sbord[i].all:=0;
write(f,sbord[i].sname);
for j:=1 to 5do begin
write('Кол-водеталейза ',Nedelia[j],' день: ');
readln(sbord[i].day[j]);
sbord[i].all:=sbord[i].all+sbord[i].day[j];
write(f,sbord[i].day[j]);
end;
write(f,sbord[i].all);
clrscr;
end;
max:=1;
writeln('Ф.И.О
итого за неделю ');
for i:=1 to n do
begin
writeln(sbord[i].sname:20,'
',sbord[i].all:15);
if sbord[i].all>sbord[max].all then
max:=i;
end;
maxday:=1;
for i:=1 to 5 do if sbord[max].day[i]>sbord[max].day[maxday]then maxday:=i;
№1.Дан файл вещественных чисел. Поменять в нем местами минимальный и максимальный элементы. uses crt; var f:file of real; x,min,max:real; n,i,imin,imax:integer; begin randomize; write('Кол-во элементов файла='); readln(n); writeln('Исходный файл'); assign(f,'file26.real'); rewrite(f); for i:=1 to n do begin x:=random*10; write(f,x); write(x:0:2,' '); end; close(f); reset(f); read(f,x); imin:=0; imax:=0; max:=x; min:=x; for i:=1 to filesize(f)-1 do begin read(f,x); if x>max then begin max:=x; imax:=i; end else if x<min then begin min:=x; imin:=i; end; end; writeln; writeln('Min=',min:0:2,' index=',imin); writeln('Max=',max:0:2,' index=',imax); seek(f,imin); write(f,max); seek(f,imax); write(f,min); close(f); writeln('Файл после обмена мин и макс'); reset(f); while not eof(f) do begin read(f,x); write(x:0:2,' '); end; close(f); rea
uses crt; var f:file of real; x,min,max:real; n,i,imin,imax:integer; begin randomize; write('Кол-во элементов файла='); readln(n); writeln('Исходный файл'); assign(f,'file.real'); rewrite(f); for i:=1 to n do begin x:=random*10; write(f,x); write(x:0:2,' '); end; close(f); reset(f); read(f,x); imin:=0; imax:=0; max:=x; min:=x; for i:=1 to filesize(f)-1 do begin read(f,x); if x>max then begin max:=x; imax:=i; end else if x<min then begin min:=x; imin:=i; end; end; writeln; writeln('Min=',min:0:2,' index=',imin); writeln('Max=',max:0:2,' index=',imax); seek(f,imin); write(f,max); seek(f,imax); write(f,min); close(f); writeln('Файл после обмена мин и макс'); reset(f); while not eof(f) do begin read(f,x); write(x:0:2,' '); end; close(f); readln; end.
uses crt; var a: array[1..10] of real; f:file of real; b,min,max:real; i,k,l:integer; begin writeln('Ââåäèòå èñõîäíûé ôàéë'); assign(f,'privet'); rewrite(f); for i:=1 to 10 do begin for i := 1 to 10 do begin readln (a[i]); write( f, a[i]); end; write(f,b); write(b:0:1,' '); end; close(f); reset(f); read(f,b); k:=0; l:=0; max:=b; min:=b; for i:=1 to filesize(f)-1 do begin read(f,b); if b>max then begin max:=b; l:=i; end else if b<min then begin min:=b; k:=i; end; end; seek(f,k); write(f,max); seek(f,l); write(f,min); close(f); reset(f); while not eof(f) do begin read(f,b); write(b:0:1,' '); end; close(f); readln; end.
program dz; var t:text; min, max, i, n, i2, i3, c:integer; f:array [1 .. 100] of integer; begin assign(t, 'C:\Users\111\Desktop\Новая папка\input.txt'); rewrite(t); writeln('Введите кол-во чисел'); readln(n); for i:=1 to n do begin f[i]:=random(50); write(t, f[i], ' '); end; close(t); reset(t); writeln('Massiv'); for i:=1 to n do begin write(f[i], ' '); end; writeln(); min:=f[i]; for i:=1 to n do begin if f[i]<min then min:=f[i]; end; max:=f[i]; for i:=1 to n do begin
if f[i]>max then max:=f[i]; end; writeln('Максимальное и минимльное числа: ', min, ' ', max); for i:=1 to n do begin if min=f[i] then i2:=i; end; for i:=1 to n do begin if max=f[i] then i3:=i; end; writeln('Индексы: ', i2, ' ', i3); c:=f[i2]; f[i2]:=f[i3]; f[i3]:=c; writeln('New massiv: '); for i:=1 to n do begin write(f[i], ' '); end; end.