Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/37: Рейтинг темы: голосов - 37, средняя оценка - 4.62
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
1

Вычислить средний балл группы и распечатать список студентов, имеющих средний балл выше среднего балла группы

15.04.2009, 22:38. Просмотров 6724. Ответов 2
Метки нет (Все метки)

Здраствуйте ещё раз Скажу сразу честно толком не пробывал решать с Записями и в особенности вот эти задачи... если поможите буду очень благодаен!!!
Вот задания:
1) Вычислить средний балл группы и распечатать список студентов, имеющих средний балл выше среднего балла группы...
2) Вычислить средний балл группы в последнюю сессию и распечатать список студентов, имеющих средний балл, равный среднему баллу группы...
3) Опишите запись с именем типа Data, содержащую информацию о сред-
ней температуре в хранилище за 30 дней:
 Номер месяца (тип integer)
 Температура (тип real)
Переменную, определяющую запись, назовите Zamer. Без помощи with При-свойте записи начальное значение: месяц «июль» и температура для первого дня 9,5
4) Опишите запись с именем типа Post, содержащую информацию в почтовой базе данных о подписчиках на газеты и журналы:
 ФИО (тип string)
 Адрес (тип string)
 10 строк с названиями газет и журналов
Переменную, определяющую запись, назовите G. Без помощи with присвойте записи начальное значение: ‘Петров И.В.’,’г.Москва, ул.Горького, 5’,’Московский Комсомолец’,’Спорт’

Добавлено через 9 часов 3 минуты 35 секунд
Ребят кто нить помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2009, 22:38
Ответы с готовыми решениями:

Вычислить средний балл группы и вывести на экран список студентов имеющих средний балл выше среднего балла группы
Написал задачку, а она как то не робит(( Нуждаюсь в опытном совете.... Вот условие задачи:...

Для студентов заданной группы, имеющие средний балл, больший 4.5, вывести фамилию и средний балл
Для студентов заданной группы,имеющие средний балл,больший 4.5,вывести фамилию,имя,отчество и...

Задача на записи.Вычистить средний балл группы и распечатать список студентов, фамилии которых начинаются на букву А
Ввести сведения о восьми студентах :фамилия , год рождения , рейтинг по предметам :алгоритмизация ,...

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

2
Модератор
61682 / 46177 / 31857
Регистрация: 18.05.2008
Сообщений: 111,340
20.04.2009, 21:26 2
Лучший ответ Сообщение было отмечено КЭиБ как решение

Решение

№1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
program sred_bal;
uses crt;
type Tstud=record{тип запись-студенты}
           fam:string[15];{фамилия}
           ocn:array[1..4]of byte;{4 оценки}
           srb:real;{ср. балл}
           end;
var sp:array[1..50] of Tstud;{массив записей}
    n,i,k,j,t:byte;
    srg:real;{средний по группе}
    c:char;{символ окончания ввода}
begin
clrscr;
writeln('Введите данные о студентах, окончание ввода Esc:');
n:=0;srg:=0;
repeat
n:=n+1;
writeln('Студент',n);
write('  Фамилия: ');readln(sp[n].fam);
writeln('  Оценки:');
sp[n].srb:=0;
for j:=1 to 4 do
  begin
    repeat
    write('     Оценка ',j,'=');
    readln(sp[n].ocn[j]);
    until sp[n].ocn[j] in [2..5];
    sp[n].srb:=sp[n].srb+sp[n].ocn[j]/4;{считаем ср. балл каждого}
  end;
srg:=srg+sp[n].srb;{суммируем их}
c:=readkey;{ожидаем нажатия клавиши}
until c=#27;{если Esc- заканчиваем}
srg:=srg/n;{считаем средний по группе}
clrscr;{очищаем экран и выводим общий список}
writeln('  Общий список студентов':40);
writeln;
writeln('-----------------------------------------------------------------');
writeln('|   Фамилия   |Оценка 1|Оценка 2|Оценка 3|Оценка 4| Средний балл|');
writeln('-----------------------------------------------------------------');
for i:=1 to n do
  begin
    write('| ',sp[i].fam);
    for j:=1 to 4 do
     begin
      gotoXY(15+9*(j-1),whereY);
      write('|    ',sp[i].ocn[j]);
     end;
    gotoXY(51,whereY);
    write('|',sp[i].srb:8:2);
    gotoXY(65,whereY);
    write('|');
    writeln;
  end;
writeln('-----------------------------------------------------------------');
readln;
clrscr;{очищаем экран и выводи со ср. баллом выше среднего}
writeln('Список студентов, чей средний балл выше среднего:');
writeln('(средний балл=':30,srg:0:2,')');
writeln;
writeln('-----------------------------------------------------------------');
writeln('|   Фамилия   |Оценка 1|Оценка 2|Оценка 3|Оценка 4| Средний балл|');
writeln('-----------------------------------------------------------------');
for i:=1 to n do
if sp[i].srb>srg then {если больше, выводим}
  begin
   write('| ',sp[i].fam);
    for j:=1 to 4 do
     begin
      gotoXY(15+9*(j-1),whereY);
      write('|    ',sp[i].ocn[j]);
     end;
    gotoXY(51,whereY);
    write('|',sp[i].srb:8:2);
    gotoXY(65,whereY);
    write('|');
    writeln;
  end;
writeln('-----------------------------------------------------------------');
readln
end.
Добавлено через 3 минуты 36 секунд
Что-то больше на вторую похоже получилось. Надо только переписать строку
if sp[i].srb>srg then {если больше, выводим} так
if abs(sp[i].srb-srg)<0.001 then {если почти равны(вещественные числа строго равны не бывают), выводим}

Добавлено через 12 минут 37 секунд
Первая так будет выглядеть.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
program sred_bal_1;
uses crt;
type Tstud=record
           fam:string[15];
           srb:real;
           end;
var sp:array[1..50] of Tstud;
    n,i,k,j,t:byte;
    srg:real;
    c:char;
begin
clrscr;
writeln('Введите данные о студентах, окончание ввода Esc:');
n:=0;srg:=0;
repeat
n:=n+1;
writeln(' Студент',i);
write('   Фамилия: ');readln(sp[n].fam);
write('   Средний балл:');readln(sp[n].srb);
srg:=srg+sp[n].srb;
c:=readkey;
until c=#27;
srg:=srg/n;
clrscr;
writeln('  Общий список студентов');
writeln;
writeln('---------------------------');
writeln('|   Фамилия | Средний балл|');
writeln('---------------------------');
for i:=1 to n  do
  begin
    write('| ',sp[i].fam);
    gotoXY(13,whereY);
    write('|     ',sp[i].srb:0:2);
    gotoXY(27,whereY);
    write('|');
    writeln;
  end;
writeln('---------------------------');
readln;
clrscr;
writeln('  Список студентов, чей средний балл выше среднего:');
writeln('(средний балл=':30,srg:0:2,')');
writeln;
writeln('---------------------------');
writeln('|   Фамилия | Средний балл|');
writeln('---------------------------');
for i:=1 to n  do
if sp[i].srb>srg then
  begin
    write('| ',sp[i].fam);
    gotoXY(13,whereY);
    write('|     ',sp[i].srb:0:2);
    gotoXY(27,whereY);
    write('|');
    writeln;
  end;
writeln('---------------------------');
readln
end.
2
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
20.04.2009, 21:33  [ТС] 3
Спасибо большое тебе друг! ты мнеочень помог!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2009, 21:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычислить средний балл учеников школы, а потом максимальный средний балл из разных школ
Нужно ввести фамилию, номер школы, балл и вычислить средний балл учеников школы, а потом выразить...

Средний балл группы
Написать программу в паскале: Создать массив с двух записей на два поля разместить в динамической...

Вывести информацию о студентах, имеющих средний балл выше 3
Файлы: *Файл содержит итоги контрольного срока, каждая запись которого содержит поля: Фамилия...

Определить число студентов, не имеющих "двоек", и средний экзаменационный балл каждого студента.
Ребят, помогите пожалуйста. Одну задачку сделал вторую не получается, на форуме похожих не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.