сравнение переменных
|
|
Matrix252005 |
Дата: Ср, 23.05.2012, 18:10 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Ребята, что Вы ерундой занимаетесь???? Все можно и оператор IF...THEN...ENDIF прекрасно работает!!!! Можно написать так:
If x > 10 And x < 20 Then x = 40 EndIf
Можно так: If x > 10 And x < 20 Then x = 40
Можно так: If x > 10 And x < 20 Then x = 40 : Goto Label1
В последнем случае, после выполнения условия, программа перейдет на метку...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
anatol |
Дата: Ср, 23.05.2012, 21:16 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Quote (Matrix252005) Ребята, что Вы ерундой занимаетесь???? А вот и не занимаемся, тем более ерундой А поговорить? Если серьезно, то все упирается в правила написания программ, в принципиальности написания и повторения соответственно мануалу, а также одной из ключевых функциональностей языка - операции цикла и ветвления в программах
|
|
|
|
rvstar |
Дата: Пт, 25.05.2012, 16:44 | Сообщение # 18 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
Quote (Matrix252005) Нельзя, если условие проверки не выполнится куда идти? как это - куда идти???? Далее по программе
|
|
|
|
Matrix252005 |
Дата: Пт, 25.05.2012, 16:57 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Quote (rvstar) Quote (Matrix252005) Нельзя, если условие проверки не выполнится куда идти?
как это - куда идти???? Далее по программе rvstar, я что то не вижу, чтобы я об этом писал!!!!! Конечно простите меня, зрение у меня не ахти, но не до такой же степени...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
rvstar |
Дата: Сб, 26.05.2012, 00:34 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
Прошу прощения, я вышесказанное адресовал anatol
|
|
|
|
anatol |
Дата: Сб, 26.05.2012, 10:08 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Quote (rvstar) я вышесказанное адресовал anatol Вот так невнимательность и приводит к "Помогите" Quote IF (x>10) THEN IF (x<20) THEN quit Если подпрограмма quit будет сразу после этого выражения? Ладно закончим. Уже читающим мало информации. У меня амбиций нет - сам учусь. И через через что сам проходил на те мысли стараюсь натолкнуть остальных. Простите, что не даю готовых решений - лучше один раз направить, чем всю жизнь подсказывать. Да и свое решение слаще. С уважением ко всем форумчанам - Анатолий.
Сообщение отредактировал
anatol - Сб, 26.05.2012, 10:10
|
|
|
|
rvstar |
Дата: Сб, 26.05.2012, 12:45 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
Quote (anatol) Если подпрограмма quit будет сразу после этого выражения? quit это не подпрограмма, это метка. А где она будет, должен решить автор программы. Не сочтите за занудство
Сообщение отредактировал
rvstar - Сб, 26.05.2012, 12:51
|
|
|
|
dimitriy-bc |
Дата: Чт, 14.06.2012, 23:42 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
Всем доброго времени суток. Столкнулся с такой проблемой. Сравнение, записанное в одной строке
If INDICATOR > 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0
не работает, а записанное блоком,
If INDICATOR >= 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0 EndIf
все прекрасно.
Сообщение отредактировал
dimitriy-bc - Чт, 14.06.2012, 23:44
|
|
|
|
mikhail09p |
Дата: Пт, 15.06.2012, 00:19 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Quote (dimitriy-bc) Всем доброго времени суток. Столкнулся с такой проблемой. Сравнение, записанное в одной строке
If INDICATOR > 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0
не работает Должно заработать, если закончить ENDIF
|
|
|
|
retas |
Дата: Пт, 15.06.2012, 00:21 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
445
Замечания:
±
На сайте с 10.09.2007
Статус:
Offline
|
Наверное нужно так
If INDICATOR > 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0 (после Else может быть нужно EndIf
|
|
|
|
dimitriy-bc |
Дата: Пт, 15.06.2012, 01:14 | Сообщение # 26 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
Всем доброго времени суток. Столкнулся с такой проблемой. Сравнение, записанное в одной строке If INDICATOR > 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0
не работает, а записанное блоком, If INDICATOR >= 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0 EndIf
все прекрасно. Проблема в том, что CYFRA_2 не обнуляется.
Сообщение отредактировал
dimitriy-bc - Пт, 15.06.2012, 01:18
|
|
|
|
Matrix252005 |
Дата: Пт, 15.06.2012, 09:47 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток.
dimitriy-bc, а Вы пробовали в протеусе проверять по шагово???
Quote (dimitriy-bc) ...не работает, а записанное блоком... Я тоже это уже заметил и поэтому так не делаю!!! Только в тех случаях, когда идет просто условие без "иначе"... И кстати и Вам советую так не писать (все в одну строчку) читать и построчно проверять хуже!!!!
Если это не военная технология, выложите весь проект, посмотрим "где собака порылась..."
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
dimitriy-bc |
Дата: Вс, 17.06.2012, 09:02 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
Matrix252005, доброго времени суток. Программа абсолютно сырая, на бейсике я только учусь. Любую критику приму с благодарностью. Добавлено (16.06.2012, 09:56) --------------------------------------------- Всем доброго времени суток. mikhail09p, и retas, спасибо за ответы. Получилась белиберда с моими сообщениями. Написал первое, оно пропало. Написал второе с коррекцией. Сегодня обнаружил, что первое сообщение есть и даже с ответами. Сейчас попробую ваши рекомендации. Добавлено (17.06.2012, 09:02) --------------------------------------------- Всем доброго времени суток. У меня компилируются и полноценно работают только два варианта ‘1) If INDICATOR >= 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) Else CYFRA_2 = 0 EndIf ‘2) If INDICATOR >= 10 Then CYFRA_3 = INDICATOR / 10: INDICATOR = INDICATOR - ( CYFRA_3 * 10 ) Else CYFRA_3 = 0 EndIf
|
|
|
|
retas |
Дата: Вс, 17.06.2012, 20:29 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
445
Замечания:
±
На сайте с 10.09.2007
Статус:
Offline
|
Если посмотреть в сторону материала от terrarus http://terrarus.ucoz.ru/proton_plus_ide/index.html , то выходит что и первый ваш пример должен бы работать добавив двоеточие перед Else, т.е.
If INDICATOR > 100 Then CYFRA_2 = INDICATOR / 100: INDICATOR = INDICATOR - ( CYFRA_2 * 100 ) :Else CYFRA_2 = 0 .
|
|
|
|
dimitriy-bc |
Дата: Пн, 18.06.2012, 01:41 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
retas, я пробовал. Протон выдает ошибку.
|
|
|
|