powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ВАЖНО: Найти ошибку в задаче VB
22 сообщений из 22, страница 1 из 1
ВАЖНО: Найти ошибку в задаче VB
    #36632534
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста найти ошибку!!!!
1/Нужно вычислить среднее арифметическое S элементов массива b1, b2...,b8, удовлетворяющих условию 0<=bi<=1. Если таких элементов нет - то считать S=0. При решении надо не только накапливать сумму элементов, удовлетворяющих заданному условию, но и подсчитывать их количество по формуле n=n+1.

Private Sub Form_Load()
Dim s(1 To 8) As Single, b As Single, n As Integer
Show
For i = 1 To 8
s(i) = Rnd * 10
If s(i) >= 0 And s(i) <= 1 Then b = b + s(i): n = n + 1
Print s(i)
Next
If Not n = 0 Then b = b / n
MsgBox b
End Sub

2/ Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии и имена и подсчитать общее число жителей, родившихся после 1990 года. Ввод списка населения осуществить в линейный массив в одной подпрограмме, а выборку из списка – в другой.

Модератор: Тема перенесена из форума "Вакансии".
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632553
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то все покоцалось. Перепост.

liziaПомогите пожалуйста найти ошибку!!!!
1/Нужно вычислить среднее арифметическое S элементов массива b1, b2...,b8, удовлетворяющих условию 0<=bi<=1. Если таких элементов нет - то считать S=0. При решении надо не только накапливать сумму элементов, удовлетворяющих заданному условию, но и подсчитывать их количество по формуле n=n+1.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
Dim s( 1  To  8 ) As Single, b As Single, n As Integer
Show
For i =  1  To  8 
 s(i) = Rnd *  10 
    If s(i) >=  0  And s(i) <=  1  Then b = b + s(i): n = n +  1 
    Print s(i)
Next
If Not n =  0  Then b = b / n
MsgBox b
End Sub

2/ Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии и имена и подсчитать общее число жителей, родившихся после 1990 года. Ввод списка населения осуществить в линейный массив в одной подпрограмме, а выборку из списка – в другой.
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632567
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По первому пункту. А в чем ошибка? На первый взгляд все правильно....

По второму пункту. Вы хотите, чтобы мы за вас все сделали?
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632839
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в первой задаче он просто на форме ничего не выводит, а должен выводить массив) А по второй я прошу вас помочь решить!у меня вообще ничего не получаеся!ПОЖАЛУЙСТА))
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632851
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaв первой задаче он просто на форме ничего не выводит, а должен выводить массив)

Все выводит. Просто не надо это пихать в Form_Load. А то он выводит, а потом стирает. Сделайте кнопку на форме и все в нее положите.
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632853
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaДаны результаты переписи населения

Ну и где, кому и как они даны?
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632879
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одну командную кнопку что ли?)
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632887
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaОдну командную кнопку что ли?)

Можно десять. Смысл в том, чтобы вызывать вашу программу тогда, когда форма уже появилась на экране. Во время работы Form_Load этого еще не произошло.


Ок, список есть. Что именно у вас не получается?
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632905
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поняла!Спасибо) у меня не получаеся ни линейный массив, ни выборка из списка!я вообще не понимаю как делать..((
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36632907
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaя вообще не понимаю как делать..((

Берете карандаш и бумажку и рисуете алгоритм простыми человеческими словами.

Ну или хотя бы подробно последовательность действий, позволяющую добиться нужного результата.

А потом будем переводить на VBA
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634762
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2/ Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии и имена и подсчитать общее число жителей, родившихся после 1990 года. Ввод списка населения осуществить в линейный массив в одной подпрограмме, а выборку из списка – в другой.
Вот что получилось. В ЧЕМ ОШИБКА?ПОМОГИТЕ ПОЖАЛУЙСТА!

Private Sub Command1_Click()
perepis
End Sub
Private Sub perepis()
Call Vvod
Call Vibor
End Sub
Private Sub Vibor()
For i = 1 To 5
If a(i).fam = god > 1990 Then

Picture2.Print a(i).fam; a(i).god
End If
Next i
End Sub

Private Sub Vvod()
fam As String
god As Integer
Dim fam(1 To 5) As String
Dim god(1 To 5) As Integer
Show
Dim a(1 To 5) As Integer
Dim fam As String, god As Integer
For i = 1 To 5
a(i).fam = InputBox("Èâàíîâ Èâàí", "Ïåòðîâ Ïåòÿ", "Ñèäîðîâà Ëàðèñà", "Ñèíèöûí Ñåíÿ", "Ïàê Êàòÿ")
a(i).god = InputBox("1990", "1991", "1992", "1993", "1989")
Picture1.Print a(i).fam; a(i).god;
Picture1.Print
Next i
End Sub
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634769
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте тэги для оформления кода.

Код: plaintext
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.
Private Sub Command1_Click()
perepis
End Sub
Private Sub perepis()
Call Vvod
Call Vibor
End Sub
Private Sub Vibor()
For i =  1  To  5 
If a(i).fam = god >  1990  Then

Picture2.Print a(i).fam; a(i).god
End If
Next i
End Sub

Private Sub Vvod()
fam As String
god As Integer
Dim fam( 1  To  5 ) As String
Dim god( 1  To  5 ) As Integer
Show
Dim a( 1  To  5 ) As Integer
Dim fam As String, god As Integer
For i =  1  To  5 
a(i).fam = InputBox("Èâàíîâ Èâàí", "Ïåòðîâ Ïåòÿ", "Ñèäîðîâà Ëàðèñà", "Ñèíèöûí Ñåíÿ", "Ïàê Êàòÿ")
a(i).god = InputBox("1990", "1991", "1992", "1993", "1989")
Picture1.Print a(i).fam; a(i).god;
Picture1.Print
Next i
End Sub
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634780
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы понимаете, что тут написано?
Код: plaintext
a(i).god = InputBox("1990", "1991", "1992", "1993", "1989")
Откуда вы взяли такой синтаксис?
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634788
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
fam As String
Dim fam( 1  To  5 ) As String
Dim fam As String

А этими тремя строками вы что хотели сказать?
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634792
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое тэги??
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634799
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaчто такое тэги??
Нажмите "Цитировать" на моем сообщении и вы увидите, как оно оформлено. Прочтите правила - там это написано.
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634821
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Command1_Click()
perepis
End Sub
Private Sub perepis()
Call Vvod
Call Vibor
End Sub

Это единственный правильный код. Все остальное - каша и бред и игнорирование синтаксиса. Что вы хотели сказать например конструкцией a(i).fam? В общем, как я уже говорил - надо написать сначала алгоритм
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634836
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы нашли в чем у меня ошибка??
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634839
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaвы нашли в чем у меня ошибка??

См. выше. Я нашел, в чем у вас нет ошибок.
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634844
lizia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да это должно быть правильно!нас так учат! Кашу эту писать. Условие правильно написано If a(i).fam = god > 1990 Then. как правильно скажите уже!!!
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634845
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Используйте Option Explicit
2) Запускайте программу с помощью Ctrl+F5 (вместо F5) или из меню Start With Full Compile вместо Start. При возникновении ошибки жмите кнопку Debug.

Выполнив эти два пункта разберитесь с теми ошибками, которые вам выдаст сам VB.
...
Рейтинг: 0 / 0
ВАЖНО: Найти ошибку в задаче VB
    #36634847
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liziaда это должно быть правильно!нас так учат! Кашу эту писать. Условие правильно написано If a(i).fam = god > 1990 Then. как правильно скажите уже!!!

Не верю!
Фото методички или страницы учебника в качестве доказательства плиз.

Не вас так учат, а вы так учитесь. Лекции посещать надо хотя бы иногда.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ВАЖНО: Найти ошибку в задаче VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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