Как найти средний балл паскаль

0 / 0 / 0

Регистрация: 11.01.2013

Сообщений: 5

1

Определить средний балл и подсчитать количество удовлетворительных, хороших и отличных оценок

12.01.2013, 09:28. Показов 17838. Ответов 2


Студворк — интернет-сервис помощи студентам

ввести оценки студента по 5 экзаменам. Определить средний балл и подсчитать кол-во удовлетворительных, хороших и отличных оценок. Написать название предмета, если есть неуд



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

12.01.2013, 09:28

Ответы с готовыми решениями:

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

Определить, каких оценок получено больше: хороших и отличных
Здравствуйте,нужна помощь с программой,здесь программа почти готова,но не хватает в ней того,чтобы…

Определить средний балл оценок по физике, количество студентов с оценкой 5 по информатике, математике и вывести сведения
Поля структуры:
Фамилия
Группа
Физика
Информатика
История

Условие задачи:
Определить…

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл (объединение (union))
Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Вычислить средний…

2

SirThomasHoffma

0 / 0 / 1

Регистрация: 13.12.2012

Сообщений: 4

12.01.2013, 10:53

2

Лучший ответ Сообщение было отмечено Maxim86 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program ocenki;
var a:array [1..100] of integer;
l,k,n,i,sr:integer;
begin
sr:=0;
for i:=1 to 5 do read(a[i]);
for i:=1 to 5 do sr:=(sr+a[i]) div 5;
for i:=1 to 5 do begin if (a[i]=3) then inc(l);
                             if (a[i]=4) then inc(k);
                             if (a[i]=5) then inc(n);end;
writeln('средний бал=',' ',sr);
writeln('кол-во удовлетворительных=',' ',l);
writeln('кол-во хороших=',' ',k);
writeln('кол-во отличных=',' ',n);
end.

Добавлено через 8 минут
забыл добавить, где подсчитывается средний балл, убери div 5, введи новую переменную – присвой ей значение sr div 5, выводи эту переменную.

Добавлено через 1 минуту
тьфу, задание не дочитал – это списки, можешь забить на этот код



0



buzzefall

0 / 0 / 2

Регистрация: 02.12.2012

Сообщений: 17

12.01.2013, 12:03

3

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
Program student;
const n=5;
type stat = record predmet:string; ball:integer; end;
var  stats:array[1..n]of stat;
     k,i,j:integer;
     sred:real;
Begin
  For i:=1 to n do
      begin
         writeln('Введите название предмета...');
         readln(stats[i].predmet);
         Writeln('...теперь оценку за него.');
         readln(stats[i].ball);
         sred:=sred+stats[i].ball;
      end;
  for i:=1 to n do
      begin
          write(i,'.',stats[i].predmet,' - ');
          write(stats[i].ball);
          if   stats[i].ball<3 then writeln(' (Неуд.)')
          else writeln;
      end;
  for j:=3 to 5 do
      begin
        k:=0; //Кол-во оценок
        for i:=1 to n do
            if stats[i].ball=j then
               k:=k+1;
        case j of
         3: writeln('Оценок "Удовл.": ',k);
         4: writeln('Оценок "Хорошо": ',k);
         5: writeln('Оценок "Отлично": ',k);
        end;
      end;
  sred:=sred/n;
  writeln('Средний балл - ',sred:0:2);// :0:2 для того, чтобы 2 цифры только после запятой писались, иначе будет жопа
  readln;
End.



0



Формулировка задачи:

Дан целочисленный массив из 30 элементов.Элементы могут принимать значения от 0 до 100 – баллы, полученные на ЕГЭ . Опишите на русском языке или на одном из языков программирования алгоритм, который выводит средний балл учащихся , сдавших экзамен( получивших оценку более 20 баллов) . Гарантируется что хотя бы одни ученик успешно сдал экзамен.

код паскаль

не ужели некто не может написать ответ

Код к задаче: «Вывести средний балл учащихся, сдавших экзамен»

textual

const
  N = 5;
 
var
  A: array[1..N] of integer;
  i, k: integer;
  s: real;
 
begin
  k := 0;
  for i := 1 to n do 
  begin
    readln(A[i]);
    if a[i] > 20 then 
    begin
      s := s + A[i];
      k := k + 1;
    end;
  end;
  
  if k > 0 then 
    writeln('Средний балл сдавших: ', s / k:0:3)
  else writeln('Никто из учащихся экзамен не сдал')
end.

Полезно ли:

7   голосов , оценка 4.429 из 5



Знаток

(458),
закрыт



4 года назад

johnsilver

Просветленный

(22275)


6 лет назад

ну то что программа не работает к “новому” (какому новому?) паскалю отношения не имеет.
но и работать тут нечему особо. Если исправить ошибку, то ввод работает верно. а считать тут ничего не считается

Альфа(САМЕЦ)Знаток (458)

6 лет назад

На старом компьютере, программа работала, там старый паскаль. На моем компьютере, самый свежий паскаль – выдает ошибку. И тут я не понял если честно

Кублен

Оракул

(95405)


6 лет назад

вот немного переделал, остальное сам
Program Ocenka;
Uses
crt;
Type
Ocn=Record
name,surname:String[10];
s1,s2,s3,s4:1..5;
End;
Type
OcArray=Array[1..5] of Ocn;
Var
Mas1:OcArray;
i,n,a:Integer;
Procedure Vvod(Var Mas:OcArray;n:integer);
Begin
For i:=1 to n do
with Mas[i] do
Begin
Writeln(‘uchenik ‘,i,’–> ‘);
write(‘fam : ‘);
Readln(surname);
write(‘ima : ‘);
Readln(name);
Write(‘ocenki : ‘);
readln(s1,s2,s3,s4);
End;
End;
Procedure Vivod( Mas:OcArray);
var i,j:integer;
Begin
for i:=1 to n do
with Mas[i] do
writeln(name:10,s1:3,s2:3,s3:3,s4:3);
End;
Begin
ClrScr;
write(‘n= ‘); readln(n);
Vvod(Mas1,n);
Vivod(Mas1);
Readln;
End.

Альфа(САМЕЦ)Знаток (458)

6 лет назад

Program PUNKT;
var a: array[1..50] of integer;
var b: array[1..50] of integer;
i,minA,minB,n:integer;
begin
writeln (‘1 этап’);
write (‘Введите размер массива: ‘);
readln (n);
randomize;
minA:=30;
minB:=30;
for i:=1 to n do
begin
A[i]:=random(31);
write(A[i]:4);
if A[i]<minA then minA:=A[i];
end;
writeln;
for i:=1 to n do
begin
B[i]:=random(31);
write(B[i]:4);
if B[i] minB then writeln(‘ min (A) > min(B)’)
else writeln(‘ min (A) < min(B)’);
A[1]:=B[n];
B[1]:=A[n];

writeln (‘3 этап’);
for i:=1 to n do
write(A[i]:4);
writeln;
for

Перейти к содержанию

Определить студентов с баллом выше среднего

Просмотров 6.6к. Обновлено 15 октября 2021

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

В программе надо создать тип структуры с полями для имени и фамилии студента и балла. После этого создать массив структур, где каждый элемент массива — это информация об одном студенте.

Алгоритм будет таков:

  1. Запросить количество студентов.
  2. Выполнить цикл записи информации о студентах в поля структур, находящихся в массиве. При этом необходимо суммировать баллы в отдельную переменную.
  3. Вычислить средний балл, разделив полученную сумму баллов на количество студентов.
  4. Выполнить цикл прохода по массиву структур. Если значение поля балла очередного студента больше найденного среднего, то вывести на экран значение поля его фамилии и имени.

Pascal


type
studs = record
sname: string[50];
eval: integer;
end;
var
arr_studs: array[1..15] of studs;
sum: integer;
average: real;
i,n: byte;
begin
write('Количество студентов: ');
readln(n);
sum := 0;
for i:=1 to n do
with arr_studs[i] do begin
write(i,'-й студент: ');
readln(sname);
write('Балл: ');
readln(eval);
sum := sum + eval;
end;
average := sum / n;
writeln;
writeln('Средний балл: ', average:2:0, '. Студенты с баллом выше среднего:');
for i:=1 to n do
if arr_studs[i].eval > average then
writeln(arr_studs[i].sname);
end.



Количество студентов: 10
1-й студент: Иванов Иван
Балл: 63
2-й студент: Илюшин Илья
Балл: 74
3-й студент: Петров Петр
Балл: 32
4-й студент: Митин Дмитрий
Балл: 50
5-й студент: Настина Настя
Балл: 95
6-й студент: Родионов Родион
Балл: 84
7-й студент: Сергеев Сергей
Балл: 68
8-й студент: Женин Женя
Балл: 72
9-й студент: Кристинина Кристина
Балл: 45
10-й студент: Владов Влад
Балл: 75

Средний балл: 66. Студенты с баллом выше среднего:
Илюшин Илья
Настина Настя
Родионов Родион
Сергеев Сергей
Женин Женя
Владов Влад

Язык Си


#include < stdio.h>

struct studs {
char fname[20];
char lname[20];
int point;
};

main() {
struct studs arr[15], *a;
int sum, i, n;
float average;
printf("Количество студентов: ");
scanf("%d",&n);
sum = 0;
for (i=0, a=arr; i< n; i++, a++) {
printf("%d-й студент: ", i+1);
scanf("%s%s",a->fname,a->lname);
printf("Балл: ");
scanf("%d",&(a->point));
sum += a->point;
}
average = sum / n;
printf("Средний балл: %.0f. Студенты с баллом выше среднего:n", average);
for (i=0, a=arr; i< n; i++, a++)
if (a->point > average)
printf("%s %sn", a->fname, a->lname);
}

Python


studs = {}
n = int(input("Количество студентов: "))
s = 0
for i in range(n):
sname = input(str(i+1) + "-й студент: ")
point = int(input("Балл: "))
studs[sname] = point
s += point

avrg = s / n
print("nСредний балл: %.0f. Студенты с баллом выше среднего:" % avrg)
for i in studs:
if studs[i] > avrg:
print(i)



  • 0




Нужно написать программу на Pascal.Программа должна посчитать среднюю оценку ученика.Например: «Введите ваши оценки: 54454»,программа должна вывести: «Ваш средний балл: 4,4».Человек может вводить сколько угодно значений

  • Комментариев (0)



  • 0


Var marks:string; i,m,c,s,k:integer;
begin
write(‘Введите ваши оценки: ‘);
readln(marks);
s:=0; k:=0;
for i:=1 to length(marks) do
 if marks[i] in [‘2’..’5′]
  then begin val(marks[i],m,c); s:=s+m; k:=k+1 end;
writeln(‘Ваш средний балл: ‘,s/k);
end.

Пример:
Введите ваши оценки: 54454
Ваш средний балл: 4.4

  • Комментариев (0)

Добавить комментарий