Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Математика


Ответ
 
Опции темы Опции просмотра
Старый 07.05.2010, 01:37   #1 (permalink)
НАталек
Новичок
 
Регистрация: 07.05.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Помогите решить или я умру.

Помогите плиз задачи решить.От этого зависит годовая оценка
Пожалуйста,вы же такие умные все

1. Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные студентов, получивших одну оценку 3 за все время обучения.

2. Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать список студентов, фамилии которых начинаются на буквы Б и В, и их оценки за последнюю сессию.

3. Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные студентов нужного факультета.

4. Составьте список группы спортсменов, занимающихся легкой атлетикой, включающей N человек. Для каждого спортсмена укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам:
o бег 100м,
o бег 3000м,
o прыжки в высоту,
o прыжки в длину,
o прыжки с шестом,
o метание ядра,
o метание копья,
o метание диска.

5.дана информация об оценках класса по физике, информатике, математике отсортировать записи по улучшению результата(дано несколько человек и у них оценки и вывести самого умного его оценки и по понижению результата).
НАталек вне форума   Ответить с цитированием

Старый 07.05.2010, 01:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Эти темы ждут, пока вы их прочитаете

Помогите решить мою проблему
Помогите решить что полетело
Помогите решить проблему с XP

Старый 07.05.2010, 01:40   #2 (permalink)
НАталек
Новичок
 
Регистрация: 07.05.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

программа - Pascal
НАталек вне форума   Ответить с цитированием
Старый 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 вне форума   Ответить с цитированием
Старый 09.05.2010, 02:07   #4 (permalink)
НАталек
Новичок
 
Регистрация: 07.05.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S спасибо огромное,остальные сделала , не могу только 5.
Может попробуете решить её?
НАталек вне форума   Ответить с цитированием
Старый 09.05.2010, 10:18   #5 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

Ну вот и молодец, что доделали. Дам вам подсказку - в 5ой задаче надо найти среднее арифметическое оценок каждого ученика, и сортировать именно по этому значению. Ну а самого умного вывести труда не составит
MrSTEP вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 09.05.2010, 10:55   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от НАталек Посмотреть сообщение
Vladimir_S спасибо огромное,остальные сделала , не могу только 5.
Может попробуете решить её?
Как-то так:
Код:
TYPE
 Data=Record
  Surname:STRING;
  Results:ARRAY[1..3] of BYTE;
 END;
VAR
 i,j,N:INTEGER;
 Pupils:ARRAY[1..20] of DATA;
 Sum_Res,Order:ARRAY[1..20] of BYTE;
 SR:BYTE;
BEGIN
 Write('N= ');
 ReadLn(N);
 For i:=1 to N do
  begin
   WriteLn('Pupil N',i,':');
   With Pupils[i] do
    begin
     WriteLn('Surname (max 15 symbols) (S):');
     ReadLn(Surname);
     WriteLn('Result in physics (P):');
     ReadLn(Results[1]);
     WriteLn('Result in informatics (I):');
     ReadLn(Results[2]);
     WriteLn('Result in mathematics (M):');
     ReadLn(Results[3]);
    end;
   WriteLn;
  end;

 WriteLn('Basic:');
 WriteLn('  S                  P      I      M');
 For i:=1 to N do
  With Pupils[i] do
   begin
    Write(Surname);
    for j:=length(Surname)+1 to 15 do Write(' ');
    for j:=1 to 3 do
     Write('      ',Results[j]);
    WriteLn;
   end;
 WriteLn;

 For i:=1 to N do
  begin
   Order[i]:=i;
   Sum_Res[i]:=0;
   for j:=1 to 3 do
    Sum_Res[i]:=Sum_Res[i]+Pupils[i].Results[j];
  end;

  For j:=N-1 downto 1 do
   for i:=1 to j do
    if Sum_Res[i]<Sum_Res[i+1] then
     begin
      SR:=Sum_Res[i];
      Sum_Res[i]:=Sum_Res[i+1];
      Sum_Res[i+1]:=SR;
      SR:=Order[i];
      Order[i]:=Order[i+1];
      Order[i+1]:=SR;
     end;

 WriteLn('Ordered:');
 WriteLn('  S                  P      I      M');
 For i:=1 to N do
  With Pupils[Order[i]] do
   begin
    Write(Surname);
    for j:=length(Surname)+1 to 15 do Write(' ');
    for j:=1 to 3 do
     Write('      ',Results[j]);
    WriteLn;
   end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.05.2010, 10:57   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от MrSTEP Посмотреть сообщение
Ну вот и молодец, что доделали. Дам вам подсказку - в 5ой задаче надо найти среднее арифметическое оценок каждого ученика, и сортировать именно по этому значению. Ну а самого умного вывести труда не составит
Не обязательно среднее арифметическое. Можно (как у меня) сортировать по сумме. Благо количество предметов - константа.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.05.2010, 11:29   #8 (permalink)
Артём
votum separatum
 
Аватар для Артём
 
Регистрация: 05.05.2008
Сообщений: 14,603
Записей в дневнике: 52
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 18619
По умолчанию

Только не умирайте.
Артём вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:12.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.