Суббота, 18.05.2024
14:33
Главная
|
Регистрация
|
Вход
Меню сайта
Исходники
Уроки
Олимпиады
Программы
О языке Паскаль
Pascal FAQ
Статьи о Паскале
Книги
Про ЕГЭ
Абитуриенту 2011
Учителю информатики
Видео-уроки
Категории раздела
Исходники
[6]
Уроки
[1]
Олимпиады
[1]
Программы
[5]
Pascal FAQ
[0]
Статьи о Паскале
[4]
Книги
[1]
Наш опрос
Чего не хватает на этом сайте?
Программ
Книг
Спама
Всего хватает
Исходников
Чего то ещё
Результаты
|
Архив опросов
Всего ответов:
19
Отправить смс
Статистика
Онлайн всего:
1
Гостей:
1
Пользователей:
0
Форма входа
Мини-чат
Для добавления необходима авторизация
Главная
»
Статьи
»
Исходники
Записи
В ГИБДД имеется следующая информация об автомобилях и их владельцах:
а) марка машины;
б) номер машины;
в) Фамилия владельца.
Необходимо организовать поиск количества автомобилей определенной марки.
Информацию об автомобилях и их владельцах оформить в виде записей, хранимых в файле.
Ввод данных в запись и сохранение записи в файле
Program N10_1;
Uses Crt;
Const fname='spisok.dat';
{Имя файла, в который будет производиться запись}
Type Person=record
marka:string;
number:string;
familia:string;
end;
Var auto:array[1..5] of person;
i:integer;
h: file of person;
begin
Clrscr;
auto[1].marka:='Мерседес';
auto[1].number:='235';
auto[1].familia:='Иванов';
auto[2].marka:='Мерседес';
auto[2].number:='289';
auto[2].familia:='Петров';
auto[3].marka:='Волга';
auto[3].number:='365';
auto[3].familia:='Сидоров';
auto[4].marka:='Жигули';
auto[4].number:='896';
auto[4].familia:='Кузнецов';
auto[5].marka:='Вольво';
auto[5].number:='957';
auto[5].familia:='Тимофеев';
Assign (h,fname);
{$I-}
reset(h);
If Ioresult<>0 then rewrite(h);
{$I+}
for i:=1 to 5 do begin
write(h,auto[i]);
end;
writeln('Данные занесены в файл ',fname);
write('Нажмите Enter');
readln;
end.
Выполнение задания
Program N10_2;
Uses Crt;
Const fname='spisok.dat';
Type Person=record
marka:string;
number:string;
familia:string;
end;
Var auto:array[1..5] of person;
i,j,l,q:integer;
h: file of person;
s:string;
f:boolean;
begin
Clrscr;
Assign (h,fname);
Reset (h);
i:=0;
While Eof (h) = false do begin
i:=i+1;
Read(h,auto[i]);
end;
Close(h);
writeln('Информация, считанная из файла ',fname);
writeln;
q:=i;
for j:=1 to q do begin
with auto[j] do begin
gotoxy(1,wherey);
write(marka);
gotoxy(15,wherey);
write(number);
gotoxy(20,wherey);
writeln(familia);
end;
end;
writeln;
write('Введите интересующую Вам марку автомобиля: ');
readln(s);
writeln;
l:=0;
for j:=1 to q do begin
with auto[j] do begin
if marka=s then begin
l:=l+1;
gotoxy(1,wherey);
write(number);
gotoxy(10,wherey);
writeln(familia);
end;
end;
end;
writeln('Количество автомобилей данной марки - ',l);
write('Нажмите Enter');
readln;
end.
Дан список изделий, стоимость и количество каждого.
Напечатать таблицу с указанием изделий, изготовленных на сумму от 20000-30000 руб.
Вычислить среднюю стоимость по всем изделиям. При составлении программы использовать модуль.
{Ввод данных в запись и сохранение записи в файле}
Program N1053_1;
Uses Crt,zap;
begin
clrscr;
vvod;
write('Нажмите Enter');
readln;
end.
{Выполнение задания}
Program N1053_2;
Uses Crt,zap;
begin
vivod;
readln;
clrscr;
reshenie;
writeln('Для выхода нажмите Enter');
readln;
end.
{Модуль}
UNIT zap;
INTERFACE
Uses crt;
Const fname='izdelia.dat';
Type lands=record
n:array [1..20] of string; {наименование}
k:array [1..20] of integer; {количество}
s:array [1..20] of real; {цена}
end;
Var t:lands;
i:integer;
h: file of lands;
procedure vvod;
procedure vivod;
procedure reshenie;
IMPLEMENTATION
procedure vvod;
begin
t.n[1]:='Предохранители автоматические ПАР-10';
t.n[2]:='Предохранители автоматические ПАР-16';
t.n[3]:='Предохранители автоматические ПАР-25';
t.n[4]:='Розетка 3-хместная РС10-401';
t.n[5]:='Розетка 3-хместная РС10-836';
t.n[6]:='Розетка 3-хместная РА10-402';
t.n[7]:='Розетка 3-хместная РА10-834';
t.n[8]:='Счетчик электроэнергии ЦЭ 2705';
t.n[9]:='Счетчик электроэнергии ЦЭ 2706';
t.n[10]:='Удлинитель У6,3-201';
t.n[11]:='Удлинитель У6,3-304';
t.n[12]:='Удлинитель У10-429';
t.n[13]:='Удлинитель У10-809';
t.n[14]:='Щиток электрический ЩК-1 и ЩК-2';
t.n[15]:='Весы напольные ВБН 130';
t.n[16]:='Весы настольные ВНБ 5';
t.n[17]:='Чаша для весов';
t.n[18]:='Весы-безмен ВБЦ 10';
t.n[19]:='Глазок дверной ГД-3, ГД-4, ГД-5';
t.n[20]:='Конструкторы для детей';
t.k[1]:=25;
t.k[2]:=10;
t.k[3]:=12;
t.k[4]:=15;
t.k[5]:=31;
t.k[6]:=2;
t.k[7]:=7;
t.k[8]:=13;
t.k[9]:=18;
t.k[10]:=30;
t.k[11]:=14;
t.k[12]:=95;
t.k[13]:=28;
t.k[14]:=36;
t.k[15]:=145;
t.k[16]:=64;
t.k[17]:=74;
t.k[18]:=43;
t.k[19]:=75;
t.k[20]:=1;
t.s[1]:=281.7;
t.s[2]:=146.7;
t.s[3]:=390.6;
t.s[4]:=432.6;
t.s[5]:=582.6;
t.s[6]:=341.5;
t.s[7]:=159.5;
t.s[8]:=587;
t.s[9]:=1240;
t.s[10]:=444;
t.s[11]:=825;
t.s[12]:=1267;
t.s[13]:=120;
t.s[14]:=945.1;
t.s[15]:=1700;
t.s[16]:=236;
t.s[17]:=1284;
t.s[18]:=1221;
t.s[19]:=1100;
t.s[20]:=350;
Assign (h,fname);
{$I-}
reset(h);
If Ioresult<>0 then rewrite(h);
{$I+}
write(h,t);
writeln('Данные занесены в файл ',fname);
end;
procedure vivod;
begin
Clrscr;
Assign (h,fname);
Reset (h);
i:=0;
Read(h,t);
Close(h);
writeln;
writeln('----------------------------------------------------------------');
writeln('| ИЗДЕЛИЕ | КОЛИЧЕСТВО | ЦЕНА |');
writeln('----------------------------------------------------------------');
for i:=1 to 20 do begin
gotoxy(1,wherey);
write('| ',t.n[i]);
gotoxy(40,wherey);
write('| ',t.k[i]:5);
gotoxy(53,wherey);
write('| ',t.s[i]:5:1);
gotoxy(64,wherey);
writeln('|');
end;
writeln('----------------------------------------------------------------');
write('Нажмите Enter');
end;
procedure reshenie;
Var f:boolean;
begin
f:=false;
writeln('СПИСОК ИЗДЕЛИЙ, ИЗГОТОВЛЕННЫХ НА СУММУ ОТ 20000 ДО 30000 РУБ.');
for i:=1 to 20 do begin
if (t.s[i]*t.k[i]>20000) and (t.s[i]*t.k[i]<30000) then f:=true;
if f=true then writeln(t.n[i]);
end;
if f=false then writeln('Изделий, удовлетворяющих данному условию нет.');
writeln;
end;
BEGIN
END.
Разработать программу формирования файла, содержащего сведения о студентах.
Каждый элемент этого файла должен содержать следующие данные: номер группы;
номер в группе по списку; фамилию, имя, отчество; год рождения; оценки за
последнюю сессию.
{Разработать программу формирования файла, содержащего сведения о студентах.
Каждый элемент этого файла должен содержать следующие данные: номер группы;
номер в группе по списку; фамилию, имя, отчество; год рождения; оценки за
последнюю сессию.}
Program Pascal;
Uses crt;
Const fname='students.dat';
n=5; {количество предметов за последнию сессию}
Type st=record
n_group:integer; {номер группы}
n_sp:integer; {номер в группе по списку}
fam:string; {фамилия}
im:string; {имя}
ot:string; {отчество}
god_r:integer; {год рождения}
oc:array [1..n] of integer;{оценки за последнию сессию}
end;
Var t:array[1..30] of st;
i,ch,j:integer;
h: file of st;
begin
write('Введите количество студентов в группе: '); readln(ch);
for i:=1 to ch do begin
writeln('Сведения о ' ,i,' студенте');
write('Номер группы: '); readln(t[i].n_group);
write('Номер в группе по списку: '); readln(t[i].n_sp);
write('Фамилия: '); readln(t[i].fam);
write('Имя: '); readln(t[i].im);
write('Отчество: '); readln(t[i].ot);
write('Год рождения: '); readln(t[i].god_r);
writeln('Оценки за последнию сессию: ');
for j:=1 to n do begin
case j of
1:write('Математика: ');
2:write('Физика: ');
3:write('Химия: ');
4:write('Культурология: ');
5:write('История: ');
end;
readln(t[i].oc[j]);
if not ((t[i].oc[j]>0) and (t[i].oc[j]<=5)) then begin
writeln('Неверно введена оценка! Повторите ввод.');
j:=j-1;
end;
end;
writeln;
end;
Assign (h,fname);
{$I-}
reset(h);
If Ioresult<>0 then rewrite(h);
{$I+}
for i:=1 to ch do write(h,t[i]);
close(h);
writeln('Данные занесены в файл ',fname);
readln;
end.
Составить список учебной группы, включающей 25 человек. Для каждого учащегося указать
дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения.
Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив.
Составить программу, которая обеспечивает ввод полученной информации,
распечатку ее в виде таблицы, а также распечатку информации о отличниках.
Program Pascal;
Uses crt;
type student=record
fio: string;
d_r:1..31; {день рождения}
m_r:1..12; {месяц рождения}
god_r:1965..1975; {год рождения}
god_p:2004..2008; {год поступления}
group:string; {название группы}
ocenki:array[1..3,1..5] of integer; {оценки по трем предметам}
end;
var
s1: array[1..25] of student;
i,j,x:integer;
ch:char;
f:boolean;
begin
clrscr;
for i:=1 to 25 do begin
writeln('Сведения о ',i,' студенте');
with s1[i] do begin
write('ФИО:');readln(fio);
write('Дата рождения: . . г.');
x:=wherex;
gotoxy(x-13,wherey); read(d_r);
gotoxy(x-10,wherey-1); read(m_r);
gotoxy(x-7,wherey-1); read(god_r);
if keypressed then begin
ch:=readkey;
if ch=#0 then ch:=readkey;
end;
write('Год поступления: ');readln(god_p);
write('Группа: ');readln(group);
j:=0;
for i:=god_p to 2008 do begin
j:=j+1;
writeln('Оценки за ',i,' год:');
write('Математика: ');readln(ocenki[1,j]);
write('Информатика: ');readln(ocenki[2,j]);
write('История: ');readln(ocenki[3,j]);
end;
end;
writeln;
end;
writeln('список отличников');
for i:=1 to 25 do begin
with s1[i] do begin
j:=0;
f:=true;
for i:=god_p to 2008 do begin
j:=j+1;
if not((ocenki[1,j]=5) and (ocenki[1,j]=5) and (ocenki[1,j]=5)) then f:=false;
end;
if f=true then writeln(fio,', группа ',group,', год поступления ',god_p);
end;
end;
writeln('Для выхода нажмите Enter');
readln;
end.
Источник:
1
2
3
4
5
Категория:
Исходники
| Добавил:
cyber
(14.02.2010)
Просмотров:
1389
| Рейтинг:
0.0
/
0
Всего комментариев:
0
Имя *:
Email *:
Код *:
Оплаченная реклама
Баннеры
Поиск
Сделать
бесплатный сайт
с
uCoz