Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 29

Напечатать список группы и средний балл каждого студента

28.06.2015, 19:26. Показов 3035. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прощу помочь с задачей. Дела плохи,а завтра сдавать( Пожалуйста помогите
Пробовала,но совсем не получается

Задача:
Задан список группы и пять оценок каждого студента.Фамилии от оценок и оценки друг от друга отделены символом *.Напечатать список группы и средний балл каждого студента.
Умоляю!!!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2015, 19:26
Ответы с готовыми решениями:

Напечатать список студентов средний балл которых меньше 4
Вроде правильно все, но почему-то не работает. заранее спасибо!) Private Type typeStudent StudentFIO As String Mark(1 To 4) As...

Вычислить размер стипендии, если известен средний балл студента
Вычислить размер стипендии, если известен средний балл студента. Тема:(Разработка простейших разветвляющихся алгоритмов) Я студент,...

Средний балл
Добрый день, не могу решить никак задачу. Имеется средний балл 9,5. Числа этого среднего балла 9 и 10 ((9+10)/2)). Нужно чтобы средний балл...

15
28.06.2015, 19:56

Не по теме:

Цитата Сообщение от Dashamath Посмотреть сообщение
завтра сдавать
Вспомнилось про стрекозу.
Попрыгунья Стрекоза
Лето красное пропела;
Оглянуться не успела,
Как зима катит в глаза.
Цитата Сообщение от Dashamath Посмотреть сообщение
Пробовала,но совсем не получается
Где код попыток, которые не удались?

0
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 29
28.06.2015, 20:04  [ТС]
Я не знаю как из всего списка выделить именно оценки и найти средний бал. Допустим через Split. И что дальше делать?
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
28.06.2015, 20:43
Допустим через Split
Ну, ладно. Допустим через Split в sArr(). Допустим, что список в одну строку, начинается со студентофф и пробелов нет.

Циклом по массиву
- для отделения студентофф от оценок заводишь булеву переменную и на каждом шаге делаешь bStu = Not bStu
- студентофф собираешь в строку sStu & sArr(i) & vbCrLf
- оценки суммируешь lBall = lBall + sArr(i)

Среднее - рассказывать как считать?
.

Добавлено через 11 минут
Отставить "на каждом шаге делаешь bStu = Not bStu" - я не увидел 5 оценок на каждого и посчитал средний балл по группе.

Отделяй их через IsNumeric(sArr(i)
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
28.06.2015, 20:48
Visual Basic
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
Private Sub Command1_Click()
Const n = 10
Dim s(n)
Cls
For i = 1 To n
s(i) = "FIO" & i & "*" & vbTab
For j = 1 To 5
 s(i) = s(i) & Int(Rnd * 4) + 2 & "*"
Next j
Next i
'=========================
For i = 1 To n
s(i) = Mid(s(i), 1, Len(s(i)) - 1)
 
s1 = Mid(s(i), InStr(1, s(i), "*") + 1)
a = Split(s1, "*")
c = 0
For j = 0 To 4
c = c + Val(a(j))
Next j
If c > 0 Then c = c / 5
s2 = s(i) & vbTab & " ср.балл   " & c
 
Print s2
Next i
 
End Sub
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
28.06.2015, 21:37
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Dashamath,
Извини, не закончил мысль. Студентки отвлекли.
Visual Basic
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
Sub sb_StuBall()
Dim lSum&
Dim i%
Dim sStr$, sStu$, sArr$()
 
    sStr = "Stu_1*1*2*3*4*5*Stu_2*1*2*3*4*5*Stu_3*1*2*3*4*5*Stu_4*1*2*3*4*5"
 
    sStr = sStr & "*" ' обязательно добавляем финальную *, если ее нет
    sArr = Split(sStr, "*")
 
    For i = LBound(sArr) To UBound(sArr)
        Select Case IsNumeric(sArr(i))
            Case True
                lSum = lSum + sArr(i)
            Case False
                sStu = sStu & " - " & (lSum / 5) & vbCrLf & sArr(i)
                lSum = 0
        End Select
    Next
    lSum = 0
 
    sStu = Mid(sStu, Len(" - " & (lSum / 5) & vbCrLf) + 1)' отрезаем ненужное начало ...
    ' ... длиной с наш разделитель - копируем код просто, чтобы не вычислять - сколько отрезать
 
    Debug.Print sStu
    Stop
End Sub
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
28.06.2015, 21:45
Цитата Сообщение от Dashamath Посмотреть сообщение
Задан список группы и пять оценок каждого студента
а не строка
Цитата Сообщение от MinaAM Посмотреть сообщение
sStr = "Stu_1*1*2*3*4*5*Stu_2*1*2*3*4*5*Stu_3*1 *2*3*4*5*Stu_4*1*2*3*4*5"
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
28.06.2015, 21:56
gaw,

s2 = s(i) & vbTab & " ср.балл " & c
Фамилии разной длины. Бессмысленно табулировать.

Да и в ТЗ про табуляцию - ни слова.
s(i) = "FIO" & i & "*" & vbTab
.

Добавлено через 6 минут
gaw,
"Задан список группы и пять оценок каждого студента"
Где здесь ключевое слово, определяющее построение списка?

Ну, сделаем для страховки:
sStr = Replace(sStr, vbCr, "")
sStr = Replace(sStr, vbLf, "")
sStr = Replace(sStr, vbCrLf, "")

Похуже, но можно и в цикле это отфильтровать:
Case vbCr, vbLf, vbCrLf
Case Else

Не?
.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
28.06.2015, 22:00
да суть ведь в том, что бы загнать список в массив а дальше не вопрос
ведь дан список - это мб и в файле и базе и еще там где
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
28.06.2015, 22:12
Цитата Сообщение от gaw
да суть ведь в том, что бы загнать список в массив а дальше не вопрос
ведь дан список - это мб и в файле и базе и еще там где
Ну, ты прочитал "список", по-человечески :) Видимо, и препод этот список мог составлять так же. Т.е. декларируемый разделитель может оказаться совсем даже не им - будет не хватать звезд в окончании строк. Заменить концы строк предварительно на звезды. Лишние - убрать. Ну, чо изгаляться над высосанной из пальца задачей...
0
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 29
29.06.2015, 13:31  [ТС]
Препод сказал список задан так: Иванов*5*4*3*4*5*Петров*4*5*4*3*5 и т.д
Как отсюда вытащить оценки для среднего балла?
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
29.06.2015, 13:36
Dashamath,

Ты тему читаешь?
0
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 29
29.06.2015, 14:07  [ТС]
Читаю,конечно
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
29.06.2015, 14:10
Dashamath,
код выше видишь?
0
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 29
29.06.2015, 14:32  [ТС]
Немного не поняла фрагмент
sStu = Mid(sStu, Len(" - " & (lSum / 5) & vbCrLf) + 1)'
что тут происходит?
0
2 / 2 / 2
Регистрация: 27.06.2015
Сообщений: 38
29.06.2015, 14:39
Там же комментарий в коде... Я не знаю, как другими словами это сказать.
Попробуй, закомменти эту строку, и увидишь.

Добавлено через 2 минуты
У нас цикл начинается со студента. если в конец мы добавили фантомный разделитель, то спереди его нет. Вот туда и попадает вычислление несуществующего прежде среднего. Чтобы не контролировать эти исключения - начало и конец - в каждом цикле, легче сразу добавить сзади фантом *, и отрезать лишнее спереди. У-ф-фффф...

Добавлено через 1 минуту
* легче сразу добавить сзади фантом *, и отрезать лишнее спереди
до начала цикла добавить сзади фантом *, а после окончания цикла - отрезать лишнее спереди
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2015, 14:39
Помогаю со студенческими работами здесь

Представить на экране список группы и средний балл каждого студента
Данный список группы и по пять оценок каждого студента. Фамилии от оценок и оценки друг от друга отделяются символом «*». Представить на...

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

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

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл
Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл.

Определите средний балл каждого и студента и группы в целом
Известны оценки каждого из 20 студентов группы по двенадцати предметам. Определите средний балл каждого и студента и группы в целом.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru