Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Програма на бейсике)) / 19 сообщений из 19, страница 1 из 1
05.10.2014, 20:12
    #38767358
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Здравствуйте!!!
Помогите пожалуйста
Мне нужно написать программу для проверки штрих-кода...
Как рассчитать контрольную сумму
1. Сложить цифры, стоящие на четных местах ШК 9+7+0+7+0+1=24
2. Полученную сумму умножить на три 24*3=72
3. Сложить цифры, стоящие на нечетных местах ШК (кроме самой контрольной цифры) 5+9+2+7+1+0=24
4. Сложить числа, полученные в пунктах 2 и 3 72+24=96
5. Отбросить десятки 96-90=6
6. Из числа 10 вычесть полученное в пункте 5 10-6=4
Только это все на Бейсике))
...
Рейтинг: 0 / 0
06.10.2014, 00:37
    #38767425
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
FenomenikМне нужно написать программунапишите, раз нужно.

А вопрос-то в чем?
...
Рейтинг: 0 / 0
06.10.2014, 10:37
    #38767571
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Shocker.Pro,

задача уровня "Школьник", человек не хочет делать ДЗ, человек хочет сидеть на печи и жевать калачи, пока мы за него делаем его задания :)
...
Рейтинг: 0 / 0
06.10.2014, 11:54
    #38767651
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Roman MejtesShocker.Pro,

задача уровня "Школьник", человек не хочет делать ДЗ, человек хочет сидеть на печи и жевать калачи, пока мы за него делаем его задания :)Спасибо, кэп.
...
Рейтинг: 0 / 0
06.10.2014, 12:18
    #38767694
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Я просто плохо знаю.. VB... Помогите с кодом))
...
Рейтинг: 0 / 0
06.10.2014, 12:20
    #38767697
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
...
Рейтинг: 0 / 0
06.10.2014, 12:38
    #38767724
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Я всё понимаю, как сделать что-бы бейсик пересчитувал четные и нечетные числа кроме контрольной))
...
Рейтинг: 0 / 0
06.10.2014, 13:14
    #38767802
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Fenomenik,

Вы хоть какие-то свои попытки выложите сначала. В виде кода. А потом уже можно о помощи говорить. Сейчас это пока что "сделайте за меня", а не помощь.
...
Рейтинг: 0 / 0
06.10.2014, 15:10
    #38767965
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Private Sub Command1_Click()
 Dim nIter As Long, nSum As Long, nSec
    nSec = 0
    Dim z1 As Integer, z2 As Integer, z3 As Integer
    Dim z4 As Integer, z5 As Integer, z6 As Integer
    Dim z7 As Integer, z8 As Integer, z9 As Integer
    Dim z10 As Integer, z11 As Integer, z12 As Integer
    Dim z13 As Integer
    Dim z123 As Integer, nIterZ As Long
    Dim z4max As Integer, z5max As Integer
    Dim z4min As Integer, z5min As Integer
     For z1 = 0 To 9
        For z2 = 0 To 9
            For z3 = 0 To 9
                 For z4 = 0 To 9
                    For z5 = 0 To 9
                        For z6 = 0 To 9
                            For z7 = 0 To 9
                                For z8 = 0 To 9
                                    For z9 = 0 To 9
                                        For z10 = 0 To 9
                                            For z11 = 0 To 9
                                               For z12 = 0 To 9
                                                  For z13 = 0 To 9
                            nIter = nIter + 1
                            If z1 + z2 + z3 = z4 + z5 + z6 + z7 + z8 + z9 + z10 + z11 + z12 + z13 Then
                                nSum = nSum + 1
                            End If
                        Next
                    Next
                Next
            
            Next
        Next
    Next
        Next
           Next
             Next
                Next
                   Next
                      Next
                         Next
End Sub

...
Рейтинг: 0 / 0
06.10.2014, 15:54
    #38768065
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
10 13 итераций. Пожалуй, Солнце погаснет позже, чем выполнится этот код, но не надолго. И с условиями задачи он рядом не валялся.
...
Рейтинг: 0 / 0
06.10.2014, 15:58
    #38768082
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
а как пересчитать все 13 чисел которые вводятся в текстбокс??
...
Рейтинг: 0 / 0
06.10.2014, 16:38
    #38768170
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
А где здесь вообще получение хоть чего-то из текстбока?

В текстбокс вводятся не числа, а текст. Нужно последовательно взять каждый символ из текста, превратить в число и сложить в одну переменную сумму четных, а другую нечетных. А потом сложить их, отбросить и т. д. по списку. Цикл получится всего один.
...
Рейтинг: 0 / 0
06.10.2014, 17:53
    #38768283
Маслов Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Fenomenik
Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Private Sub Command1_Click()
 Dim nIter As Long, nSum As Long, nSec
    nSec = 0
    Dim z1 As Integer, z2 As Integer, z3 As Integer
    Dim z4 As Integer, z5 As Integer, z6 As Integer
    Dim z7 As Integer, z8 As Integer, z9 As Integer
    Dim z10 As Integer, z11 As Integer, z12 As Integer
    Dim z13 As Integer
    Dim z123 As Integer, nIterZ As Long
    Dim z4max As Integer, z5max As Integer
    Dim z4min As Integer, z5min As Integer
     For z1 = 0 To 9
        For z2 = 0 To 9
            For z3 = 0 To 9
                 For z4 = 0 To 9
                    For z5 = 0 To 9
                        For z6 = 0 To 9
                            For z7 = 0 To 9
                                For z8 = 0 To 9
                                    For z9 = 0 To 9
                                        For z10 = 0 To 9
                                            For z11 = 0 To 9
                                               For z12 = 0 To 9
                                                  For z13 = 0 To 9
                            nIter = nIter + 1
                            If z1 + z2 + z3 = z4 + z5 + z6 + z7 + z8 + z9 + z10 + z11 + z12 + z13 Then
                                nSum = nSum + 1
                            End If
                        Next
                    Next
                Next
            
            Next
        Next
    Next
        Next
           Next
             Next
                Next
                   Next
                      Next
                         Next
End Sub



Иногда, мне, кажется, что и правду говорит бизнес: "Программисты - это тупые кодеры, обслуживающий персонал и ничего более", но с другйо стороны, если бизнес пишет такой код...
...
Рейтинг: 0 / 0
06.10.2014, 22:33
    #38768507
Fenomenik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Код: 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.
Private Sub Command1_Click()
Dim z1 As Single, Y As Integer, z2 As Single, z3 As Single, z4 As Single
Dim z5 As Single, z6 As Single, z7 As Single, z8 As Single, z9 As Single
Dim z10 As Single, z11 As Single, z12 As Single, z13 As Single
Dim X As Double, m As Integer, n As Integer
     z1 = Val(Text1)
     z2 = Val(Text1)
     z3 = Val(Text1)
     z4 = Val(Text1)
     z5 = Val(Text1)
     z6 = Val(Text1)
     z7 = Val(Text1)
     z8 = Val(Text1)
     z9 = Val(Text1)
     z10 = Val(Text1)
     z11 = Val(Text1)
     z12 = Val(Text1)
     z13 = Val(Text1)
     
    
    Y = Val(z2) + Val(z4) + Val(z6) + Val(z8) + Val(z10) + Val(z12)
    X = Y * 3
    m = Val(z1) + Val(z3) + Val(z5) + Val(z7) + Val(z9) + Val(z11)
    n = X + m

    
     Text2.Text = (X)
     
    
End Sub

Ребята посмотрите всеровно не получаеться...
...
Рейтинг: 0 / 0
07.10.2014, 00:01
    #38768543
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Fenomenik,

Код: vbnet
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.
Public Function CheckBar(Bar As String) As Integer
'находит по первым 12 цифрам тринадцатую (контрольную сумму)
'вход - первые 12 символов штрих - кода EAN13
'выход - контрольная сумма
    Dim cod(12)
    Dim c
    Dim s
    Dim i As Integer
    If Len(Trim(Bar)) <> 12 Then
   MsgBox "Штрих код должен содержать 12 цифр", vbCritical
    
    Else
       s = 0
        For i = 1 To 12
       c = Mid(Bar, i, 1)
       s = s + IIf(i Mod 2 = 0, c * 3, c)
        Next
       s = s Mod 10
      If s = 0 Then s = 10
       CheckBar = 10 - s
    End If
End Function
'##################################################################
Private Sub Кнопка0_Click()
'пример вызова в кнопке
'вход - 460709909031 (первые 12 символов штрих-кода чая)
'выход - 6 (контрольная сумма)
MsgBox CheckBar("460709909031")
End Sub
...
Рейтинг: 0 / 0
07.10.2014, 08:14
    #38768641
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
vmag,

Хоть и верно по сути, но не по заданному алгоритму, последовательность шагов не соблюдена.
...
Рейтинг: 0 / 0
07.10.2014, 09:50
    #38768707
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Antonariyпоследовательность шагов не соблюдена.

Доступ к каждому числу строки как:

Cint(Mid(Bar),i,1) где i номер позиции в строке, соответственно пункт 1 будет таким:

Cint(Mid(Bar),2,1) + Cint(Mid(Bar),4,1) + Cint(Mid(Bar),6,1) + Cint(Mid(Bar),8,1) + Cint(Mid(Bar),10,1) + Cint(Mid(Bar),12,1)

а дальше флаг в руки и соблюдайте последовательность шагов....
...
Рейтинг: 0 / 0
07.10.2014, 10:15
    #38768735
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
vmagAntonariyпоследовательность шагов не соблюдена.

Доступ к каждому числу строки как:

Cint(Mid(Bar),i,1) где i номер позиции в строке, соответственно пункт 1 будет таким:

Cint(Mid(Bar),2,1) + Cint(Mid(Bar),4,1) + Cint(Mid(Bar),6,1) + Cint(Mid(Bar),8,1) + Cint(Mid(Bar),10,1) + Cint(Mid(Bar),12,1)

а дальше флаг в руки и соблюдайте последовательность шагов....Другое дело. Если ТС предоставит преподу эту соплю, препод ему сразу поверит
...
Рейтинг: 0 / 0
08.10.2014, 11:04
    #38770062
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Програма на бейсике))
Маслов Андрейесли бизнес пишет такой код...Это не он пишет - это я пишу в том примере
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Програма на бейсике)) / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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