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

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

28.06.2015, 19:26. Показов 3001. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru