В файл записать информацию о сотрудниках некоторого предприятия: фамилия, домашний адрес, телефон, образование, оклад. Напечатать список сотрудников, имеющих высшее образование.
Решение
Программа для записи информации в файл
type z=record
f:string[20];
adres:string[30];
tel:string[15];
obraz:string[20];
oklad:real;
end;
var F:file of z;
sotr:array [1..3] of z;
i,n:integer;
begin
writeln;
write('Vvedite kol-vo zapisej o sotrudnikakh=');
readln(n);
assign(F,'c:\sotrudniki');
rewrite(f);
writeln('Vvedite svedeniya o sotrudnikakh');
for i:=1 to n do begin
write('Familija:');
readln(sotr[i].f);
write('Adres:');
readln(sotr[i].adres);
write('Telefon:');
readln(sotr[i].tel);
write('Obrazovanie:');
readln(sotr[i].obraz);
write('Oklad:');
readln(sotr[i].oklad);
write(F,sotr[i]);
writeln('----------------');
end;
Close(F);
end.
Программа для печати списка
type z=record
f:string[20];
adres:string[30];
tel:string[15];
obraz:string[20];
oklad:real;
end;
var F:file of z;
sotr:z;
i:integer;
s:integer;
begin
assign(F,'c:\sotrudniki');
reset(f);
writeln;
writeln;
writeln('Spisok sotrudnikov s vishim obrazovaniem ');
while not Eof(f) do
begin
read(F,sotr);
if sotr.obraz='vishee' then
writeln(sotr.f);
end;
Close(F);
readln;
end.
Данные позаимствованы на сайте
среда, 24 февраля 2010 г.
суббота, 20 февраля 2010 г.
Стуктуры и классы
Домашнее задание:
Составить массив из пяти записей следующей структуры:
Фамилия президента;
Страна;
Возраст;
Годовой доход;
Марка любимого автомобиля.
Рассортировать массив в алфавитном порядке по фамилии президентов и вывести информацию на экран.
Подсказка
Описать структуру подобно как в задаче на уроке.
Type
worker=record
surname:string[15];
year:word
end;
В описании структуры массива указать тип элемента записи, такого же типа должна быть переменная х. В процедуре сортировки в операторе if a[j-1]'>'a[j] then нужно указать уточненное имя поля. if a[j-1].surname'>'a[j].surname then, где surname - имя поля для хранения фамилии президента.
Type
ar=array[1..100] of real;
Var
a:ar;
n:integer;
Procedure BubbleSort(n:integer;Var a:ar);
Var
i,j:integer;
x:real;
Begin
For i:=2 to n do
For j:=n downto i do
if a[j-1]'>'a[j] then
Begin
x:=a[j-1];
a[j-1]:=a[j];
a[j]:=x
end
End;
РЕШЕНИЕ Д/З
Program n1;
type
prisedent=record
surname:string[30];{фамилия президента}
country:string[30];{страна}
year:word; {возраст}
doxod:longint; {годовой доход}
machine:string[30]; {марка любимого автомобиля}
end;
om=array[1..5]of prisedent;{массив записей}
var
a:om;
x:prisedent;{переменная для обмена}
i,j:integer;
begin
for i:=1 to 5 do
with a[i] do
begin {заполнение полей записи с клавиатуры}
readln(surname);
readln(country);
readln(year);
readln(doxod);
readln(machine);
end;
{Сортировка массива из 5 записей}
for i:=2 to 5 do
for j:=5 downto i do
with a[j-1] do {использовали оператор присоединения для a[j-1]}
if surname'>'a[j].surname then
begin
x:=a[j];
a[j]:=a[j-1];
a[j-1]:=x;
end;
for i:=1 to 5 do
writeln('prisedent',a[i].surname,a[i].country:20);
end.
Составить массив из пяти записей следующей структуры:
Фамилия президента;
Страна;
Возраст;
Годовой доход;
Марка любимого автомобиля.
Рассортировать массив в алфавитном порядке по фамилии президентов и вывести информацию на экран.
Подсказка
Описать структуру подобно как в задаче на уроке.
Type
worker=record
surname:string[15];
year:word
end;
В описании структуры массива указать тип элемента записи, такого же типа должна быть переменная х. В процедуре сортировки в операторе if a[j-1]'>'a[j] then нужно указать уточненное имя поля. if a[j-1].surname'>'a[j].surname then, где surname - имя поля для хранения фамилии президента.
Type
ar=array[1..100] of real;
Var
a:ar;
n:integer;
Procedure BubbleSort(n:integer;Var a:ar);
Var
i,j:integer;
x:real;
Begin
For i:=2 to n do
For j:=n downto i do
if a[j-1]'>'a[j] then
Begin
x:=a[j-1];
a[j-1]:=a[j];
a[j]:=x
end
End;
РЕШЕНИЕ Д/З
Program n1;
type
prisedent=record
surname:string[30];{фамилия президента}
country:string[30];{страна}
year:word; {возраст}
doxod:longint; {годовой доход}
machine:string[30]; {марка любимого автомобиля}
end;
om=array[1..5]of prisedent;{массив записей}
var
a:om;
x:prisedent;{переменная для обмена}
i,j:integer;
begin
for i:=1 to 5 do
with a[i] do
begin {заполнение полей записи с клавиатуры}
readln(surname);
readln(country);
readln(year);
readln(doxod);
readln(machine);
end;
{Сортировка массива из 5 записей}
for i:=2 to 5 do
for j:=5 downto i do
with a[j-1] do {использовали оператор присоединения для a[j-1]}
if surname'>'a[j].surname then
begin
x:=a[j];
a[j]:=a[j-1];
a[j-1]:=x;
end;
for i:=1 to 5 do
writeln('prisedent',a[i].surname,a[i].country:20);
end.
Подписаться на:
Сообщения (Atom)
