powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Процедуры и функции
20 сообщений из 20, страница 1 из 1
Процедуры и функции
    #36012051
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Распечатать анкетные данные студентов, которые участвовали в олимпиаде по информатике и заработавших не менее 100 баллов. Ввод анкетных данных осуществите в линейный массив в одной подпрограмме, а выборку из списка – в другой.

У меня такое задание и никак не могу с ним справиться. Помогите, пожалуйста. Одна задача до зачета осталась...
...
Рейтинг: 0 / 0
Процедуры и функции
    #36012246
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что не получается то?
и где храниться будут данные не важно?
...
Рейтинг: 0 / 0
Процедуры и функции
    #36012248
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Главное, чтобы массив был в одной подпрограмме,а цикл в другой. Массив я сделала, цикл напишу, но как написать цикл в подпрограмме, чтобы все работало?
...
Рейтинг: 0 / 0
Процедуры и функции
    #36012250
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот массив например. Как написать 2 подпрогамму с циклом?

Private Sub Form_Load()
Dim i As Integer, a(20) As Integer

For i = 0 To 20
a(i) = 80 * Rnd + 60
List1.AddItem a(i)
Next i

End Sub
...
Рейтинг: 0 / 0
Процедуры и функции
    #36012255
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а подпрограмма это отдельно запускаемое приложение или может просто другая форма?))
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013395
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е сначала у меня массив, а потом пишу function (sub) и там делаю выборку
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013467
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а с чем проблема то?
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013693
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoAndSo,

Что Вы называете подпрограммой? Разве в VB есть такое понятие? Есть функции, модули, классы, отдельные EXE, COM....
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013776
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoAndSo,

Используйте Scripting.Dictionary, где Key - номер участника, а Item - его анкета, можно # separated с полем для баллов. В отдельной процедуре заполняйте Dictionary. Затем вызывайте вторую процедуру, которая через Split анализирует Item и если нужное поле содержит число > 100, то посылайте Key в ListBox...
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013797
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вам пишу так, как преподаватель написал.
Я поняла так.
Сначала я пишу массив в Private sub
Потом в Function (или Sub) выбираю тех, у кого балл >= 100
Еще нужно куда-то впихнуть данные о них (она сказала хотя бы фамилии учеников). У меня и в 1 процедуре все работает, а ей надо в нескольких.
Вообщем мне нужно, чтобы в процедуре типа Sub (или function) была написана выборка.
Я уже несколько дней голову ломаю над задачей, а завтра последний день сдачи. Одна задачка осталась.
Просто помогите решить задачу, пожалуйста, я вообще не понимаю эти процедуры и функции как бы не старалась
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013812
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У нас в методичке есть пример решения. Вывести на экран 2 матрицы и нати их сумму элементов:
1. С использованием процедуры типа SUB

Private Sub Form_Load()
Dim A(3, 3) As Integer, S1 As Integer
Dim B(3, 3) As Integer, S2 As Integer
Show
For i = 0 To 3
For j = 0 To 3
A(i, j) = Int(Rnd * 20 - 10)
Picture1.Print A(i, j);
Next j
Picture1.Print
Next i
For i = 0 To 3
For j = 0 To 3
B(i, j) = Int(Rnd * 10 - 2)
Picture2.Print B(i, j);
Next j
Picture2.Print
Next i
SUMMA A, 3, 3, S1
SUMMA B, 3, 3, S2
Text1 = S1
Text2 = S2
End Sub
------------------------------------------------------------------------------------------
Sub SUMMA(A() As Integer, m As Integer, n As Integer, S As Integer)
S = 0
For i = 0 To m
For j = 0 To n
S = S + A(i, j)
Next j
Next i
End Sub


2. C использованием процедуры типа FUNCTION

Private Sub Form_Load()
Dim A(3, 3) As Integer, S1 As Integer
Dim B(3, 3) As Integer, S2 As Integer
Show
For i = 0 To 3
For j = 0 To 3
A(i, j) = Int(Rnd * 20 - 10)
Picture1.Print A(i, j);
Next j
Picture1.Print
Next i
S1 = SUMMA(A, 3, 3)
For i = 0 To 3
For j = 0 To 3
B(i, j) = Int(Rnd * 10 - 2)
Picture2.Print B(i, j);
Next j
Picture2.Print
Next i
S2 = SUMMA(B, 3, 3)
Text1 = S1
Text2 = S2
End Sub
---------------------------------------
Function SUMMA(C, m, n)
SUMMA = 0
For i = 0 To m
For j = 0 To n
SUMMA = SUMMA + C(i, j)
Next j
Next i
End Function


Мне нужно решить мою задачку по типу этой, но я не понимаю как. В методичке только пример есть, но не обьяснено. Сборник задач просто
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013816
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам стоит подумать над тем, чем отличается SUB от FUNCTION =)
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013867
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Konst_One
> вам стоит подумать над тем, чем отличается SUB от FUNCTION =)

Да нет, сначала нужно повыдергивать руки писавшим такой бред и вставить их в (_|_) где им и место !
К сожалению из примера никакого различия не видно, т.к. используется умолчательное ByRef для параметров, типы
объявляются через раз, возвращаемое значение не используеться. Вообщем 1 даже по 12-ти бальной шкале!

И эти люди ещё чему-то учат!
Естественно никто ничего не знает.

to SoAndSo
Сходи хоть сюда и почитай о
функциях и
процедурах


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013868
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть вы и знаете и разобрались, а я не могу, поэтому и прошу помощи. По-моему, если вы в силах помочь, то можно это сделать, а не улыбаться или смеяться над теми, кто не понимает. Я же халяву ищу, я пыталась решить, но не могу.
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013897
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: Konst_One
> вам стоит подумать над тем, чем отличается SUB от FUNCTION =)

Да нет, сначала нужно повыдергивать руки писавшим такой бред и вставить их в (_|_) где им и место !
К сожалению из примера никакого различия не видно, т.к. используется умолчательное ByRef для параметров, типы
объявляются через раз, возвращаемое значение не используеться. Вообщем 1 даже по 12-ти бальной шкале!

И эти люди ещё чему-то учат!
Естественно никто ничего не знает.

to SoAndSo
Сходи хоть сюда и почитай о
функциях и
процедурах



+1

ByRef по-умолчанию. примеры конечно ни о чём. Автор напиши сам как понимаешь и не мучайся. function должна возвращать массив. sub возвращает массив по byref через один из параметров он и IN и OUT как-бы
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013905
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сделала так, что все в 1 программе работает, но преподаватель сказала "Смотри в условие, там надо в разных подпрограммах. Смотри в методичку!". Мне надо решить по аналогии, иначе она не примет. Я уже сегодня сдавала свой вариант, ей не устроил.
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013922
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бедные школьники =)
препод явно не в себе
...
Рейтинг: 0 / 0
Процедуры и функции
    #36013951
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Konst_One
> бедные школьники =)
> препод явно не в себе

Когда я вижу ТАКИЕ задания мне хочется пойти к преподу и здать ему экзамен на глазах всего класса, дабы он хоть немного
сам научился.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Процедуры и функции
    #36014230
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я написала программу, как теперь сделать так, чтобы:
1. баллы, которые я прописала после фамилии брались из массива ( а то она скажет измени массив и прога не будет работать)
2. чтобы sub работал не по click а как и надо отдельной подпрограммой.
Хотя может я вообще все неправильно сделала, не понимаю я эти программы

Private Type spisok
fam As String
bal As Integer

End Type
Dim fam(7) As String
Dim bal(7) As Integer

Private Sub Form_Load()
Show
Dim i As Integer, A(7) As Variant, fam As Variant, bal As Integer

For i = 0 To 7
A(i) = Int(70 * Rnd + 60)
List1.AddItem A(i)
Next i

For i = 0 To 7
If A(i) >= 100 Then
List2.AddItem A(i)
End If
Next i

End Sub
Private Sub Command1_Click()
Dim A(7) As spisok, fam As String

For i = 0 To 7
A(0).fam = "Иванов": A(1).fam = "Петров": A(2).fam = "Сидоров"
A(3).fam = "Попов": A(4).fam = "Козлов": A(5).fam = "Баранов"
A(6).fam = "Мышкин": A(7).fam = "Кошкин"

A(0).bal = 109: A(1).bal = 97: A(2).bal = 100
A(3).bal = 80: A(4).bal = 81: A(5).bal = 114
A(6).bal = 60: A(7).bal = 113

Next i

For i = 0 To 7
If A(i).bal >= 100 Then
List3.AddItem A(i).fam
End If

Next i
End Sub
...
Рейтинг: 0 / 0
Процедуры и функции
    #36014457
SoAndSo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решила! :) Может быть кому-нибудь понадобится:

Private Type spisok
fam As String
bal As Integer
im As String
kl As Integer
End Type
Dim A(11) As spisok

Sub vvod()

A(0).fam = "Смирнов": A(1).fam = "Андреева": A(2).fam = "Михайлов"
A(3).fam = "Попова": A(4).fam = "Беляев": A(5).fam = "Морозова"
A(6).fam = "Иванов": A(7).fam = "Петрова": A(8).fam = "Ильин"
A(9).fam = "Титова": A(10).fam = "Алексеев": A(11).fam = "Матвеева"

A(0).im = "Александр": A(1).im = "Мария": A(2).im = "Алексей"
A(3).im = "Ольга": A(4).im = "Семен": A(5).im = "Карина"
A(6).im = "Максим": A(7).im = "Лариса": A(8).im = "Степан"
A(9).im = "Светалана": A(10).im = "Павел": A(11).im = "Юлия"

A(0).kl = "11": A(1).kl = "10": A(2).kl = "11"
A(3).kl = "10": A(4).kl = "11": A(5).kl = "10"
A(6).kl = "11": A(7).kl = "10": A(8).kl = "11"
A(9).kl = "10": A(10).kl = "11": A(11).kl = "10"

For i = 0 To 11
A(i).bal = Int(80 * Rnd + 60)
Next i

End Sub

Private Sub Command1_Click()
vvod
For i = 0 To 11
List1.AddItem A(i).bal

If A(i).bal >= 100 Then
List2.AddItem A(i).bal
End If
If A(i).bal >= 100 Then
List3.AddItem A(i).im
End If
If A(i).bal >= 100 Then
List4.AddItem A(i).fam
End If
If A(i).bal >= 100 Then
List5.AddItem A(i).kl
End If
Next i

End Sub
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Процедуры и функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]