Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
М-да... Как Вы понимаете, об засесть за ваши задачки (поди, за целый семестр) - и речи быть не может. Нам, знаете ли, есть чем заняться на досуге.
Всё, чем могу помочь - в качестве примера выложить решение одной из задач, ну а остальные - "по образу и подобию" делайте сами. Или ждите - может быть, какая-нибудь сверхдобрая душа найдется и впряжется в работу. Всего-то и надо, что пару выходных с утра до вечера потратить! Без перерывов, правда. Экие, право, пустяки.
Цитата:
Сообщение от НАталек
3. Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные студентов нужного факультета.
|
Я не очень понял, что в данном случае означает "распечатка", поэтому результаты выводятся на экран и в файлы, а уж с файлами можно делать, что угодно, в том числе и печатать. Пути и имена файлов, разумеется, можно поменять. Кроме того, я из принципа никогда не использую символы кириллицы во избежание проблем с кодировками. Если надо, текстовые вставки заменяйте сами.
Код:
TYPE
Data=Record
Surname:STRING;
Name:STRING;
Patronymic:STRING;
Born:STRING;
Entering:WORD;
Faculty:STRING;
Department:STRING;
Course:BYTE;
Group:STRING;
END;
VAR
i,j,N:INTEGER;
Students:ARRAY[1..100] of DATA;
f:TEXT;
Facult:STRING;
BEGIN
Write('N= ');
ReadLn(N);
For i:=1 to N do
begin
WriteLn('Student N',i,':');
With Students[i] do
begin
WriteLn('Surname (max 11 symbols) (S):');
ReadLn(Surname);
WriteLn('Name (max 11 symbols) (N):');
ReadLn(Name);
WriteLn('Patronymic (max 11 symbols) (P):');
ReadLn(Patronymic);
WriteLn('Born in (e.g. 04.07.1994) (B):');
ReadLn(Born);
WriteLn('Entered the High School (E):');
ReadLn(Entering);
WriteLn('Faculty (max 7 symbols) (F):');
ReadLn(Faculty);
WriteLn('Department (max 5 symbols) (D):');
ReadLn(Department);
WriteLn('Course (1-6) (C):');
ReadLn(Course);
WriteLn('Group (max 5 symbols) (G):');
ReadLn(Group);
end;
WriteLn;
end;
WriteLn(' S N P B E F D C G');
For i:=1 to N do
With Students[i] do
begin
Write(Surname);
for j:=length(Surname)+1 to 11 do Write(' ');
Write(Name);
for j:=length(Name)+1 to 11 do Write(' ');
Write(Patronymic);
for j:=length(Patronymic)+1 to 11 do Write(' ');
Write(' '+Born);
Write(' ',Entering:4);
Write(' ',Faculty);
for j:=length(Faculty)+1 to 7 do Write(' ');
Write(Department);
for j:=length(Department)+1 to 5 do Write(' ');
Write(' ',Course:1,' ');
WriteLn(' '+Group);
end;
Assign(f,'D:\stud.dat');
ReWrite(f);
WriteLn(f,' S N P B E F D C G');
For i:=1 to N do
With Students[i] do
begin
Write(f,Surname);
for j:=length(Surname)+1 to 11 do Write(f,' ');
Write(f,Name);
for j:=length(Name)+1 to 11 do Write(f,' ');
Write(f,Patronymic);
for j:=length(Patronymic)+1 to 11 do Write(f,' ');
Write(f,' '+Born);
Write(f,' ',Entering:4);
Write(f,' ',Faculty);
for j:=length(Faculty)+1 to 7 do Write(f,' ');
Write(f,Department);
for j:=length(Department)+1 to 5 do Write(f,' ');
Write(f,' ',Course:1,' ');
WriteLn(f,' '+Group);
end;
Close(f);
WriteLn('Enter the faculty:');
ReadLn(facult);
WriteLn(' S N P B E F D C G');
For i:=1 to N do
If Students[i].Faculty=Facult then
With Students[i] do
begin
Write(Surname);
for j:=length(Surname)+1 to 11 do Write(' ');
Write(Name);
for j:=length(Name)+1 to 11 do Write(' ');
Write(Patronymic);
for j:=length(Patronymic)+1 to 11 do Write(' ');
Write(' '+Born);
Write(' ',Entering:4);
Write(' ',Faculty);
for j:=length(Faculty)+1 to 7 do Write(' ');
Write(Department);
for j:=length(Department)+1 to 5 do Write(' ');
Write(' ',Course:1,' ');
WriteLn(' '+Group);
end;
Assign(f,'D:\stud_f.dat');
ReWrite(f);
WriteLn(f,' S N P B E F D C G');
For i:=1 to N do
If Students[i].Faculty=Facult then
With Students[i] do
begin
Write(f,Surname);
for j:=length(Surname)+1 to 11 do Write(f,' ');
Write(f,Name);
for j:=length(Name)+1 to 11 do Write(f,' ');
Write(f,Patronymic);
for j:=length(Patronymic)+1 to 11 do Write(f,' ');
Write(f,' '+Born);
Write(f,' ',Entering:4);
Write(f,' ',Faculty);
for j:=length(Faculty)+1 to 7 do Write(f,' ');
Write(f,Department);
for j:=length(Department)+1 to 5 do Write(f,' ');
Write(f,' ',Course:1,' ');
WriteLn(f,' '+Group);
end;
Close(f);
ReadLn;
END.
|