Показать сообщение отдельно
Старый 07.05.2010, 11:58   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070