Страница: 1 | 2 | 3 | 4 |
Вопрос: Что вернется?
Добавлено: 23.07.08 17:00
Автор вопроса: Artyom
Ответы
Всего ответов: 52
Номер ответа: 31
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #31
Добавлено: 24.07.08 20:29
__Pavel__, чтобы "деградировать" до меня, большинству присутствующих несколько лет понадобится без перерыва умные книжки читать. То, чем ты занимаешься, шифрованием нельзя назвать даже по укурке.
Номер ответа: 32
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #32
Добавлено: 24.07.08 20:36
если вы чего-то не можете сделать, то не валите это на других! вопрос был поставлен конкретно:
использовать можете что угодно не только конструкцию if... then... если вы об этом
жду ответ...
Номер ответа: 33
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #33
Добавлено: 24.07.08 20:41
if d_int = 5 then goto metka
Номер ответа: 34
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #34
Добавлено: 24.07.08 20:47
в одной статье я прочитал следующий текст:
yxaxa прав вот правильный ответ на мой вопрос:
Dim d_Int As Integer
For d_1 As Integer = 1 To 100
For d_2 As Integer = 1 To 100
For d_3 As Integer = 1 To 100
For d_4 As Integer = 1 To 100
For d_5 As Integer = 1 To 100
d_Int = d_1 + d_2 + d_3 + d_4 + d_5
if d_int = 5 then goto metka
Next
Next
Next
Next
Next
metka:
'код
End Sub
Номер ответа: 35
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #35
Добавлено: 24.07.08 20:57
Паша, ты как-то раздвоением личности стал страдать?
#27:
#32:
жду ответ...
Путаешься в показаниях!!!
Я уже показал как ее решить с помощью If/EndIf
А вот как вообще без условного оператора If (и попробуй доказать что где-то здесь есть ошибка! Порву сразу!)
На выбор:
Dim d_Int As Integer
For d_1 As Integer = 1 To 100
For d_2 As Integer = 1 To 100
For d_3 As Integer = 1 To 100
For d_4 As Integer = 1 To 100
For d_5 As Integer = 1 To 100
d_Int = d_1 + d_2 + d_3 + d_4 + d_5
GoTo Ex
Next
Next
Next
Next
Next
Ex:
'код
End Sub
Try
Dim d_Int As Integer
For d_1 As Integer = 1 To 100
For d_2 As Integer = 1 To 100
For d_3 As Integer = 1 To 100
For d_4 As Integer = 1 To 100
For d_5 As Integer = 1 To 100
d_Int = d_1 + d_2 + d_3 + d_4 + d_5
Throw New Exception
Next
Next
Next
Next
Next
Catch ex As Exception
'код
End Try
End Sub
Try
Dim d_Int As Integer
For d_1 As Integer = 1 To 100
For d_2 As Integer = 1 To 100
For d_3 As Integer = 1 To 100
For d_4 As Integer = 1 To 100
For d_5 As Integer = 1 To 100
d_Int = d_1 + d_2 + d_3 + d_4 + d_5
Throw New Exception
Next
Next
Next
Next
Next
Finally
'код
End Try
End Sub
Try
Dim d_Int As Integer
For d_1 As Integer = 1 To 100
For d_2 As Integer = 1 To 100
For d_3 As Integer = 1 To 100
For d_4 As Integer = 1 To 100
For d_5 As Integer = 1 To 100
d_Int = d_1 + d_2 + d_3 + d_4 + d_5
Return
Next
Next
Next
Next
Next
Finally
'код
End Try
End Sub
Номер ответа: 36
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #36
Добавлено: 24.07.08 20:58
О боже, __Pavel__!
Какая экспрессия, какой слог!
Уникальное красивое решение с оператором GoTo!
Я же чуть выше показал как обойтись вообще без условного оператора! Учись!
Номер ответа: 37
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #37
Добавлено: 24.07.08 21:04
Продолжаем вопросы.
__Pavel__, внимание! Я ожидаю что ты первый правильно ответишь на все вопросы
6. Итак, имеем следующий код:
For i = Int64.MinValue To Int64.MaxValue
Value = Value + 1
If Value >= 100 Then Value = 0
Next
Console.WriteLine(Value)
Что выведется в консоль? (не запускать Visual Studio я сказал! Думаем головой, потом запускаем
7. Продолжение задачи номер 6.
Имеем несколько циклов. Циклы одинаковые, разные только типы данных.
Задача: сказать, какой из приведенных кусков кода выдаст в консоль наибольшее число!
Очень важно - коды запускать нельзя. Иначе вы автоматически дисквалифицируетесь!
7.1
For i = Byte.MinValue To Byte.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.2
For i = SByte.MinValue To SByte.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.3
For i = Int16.MinValue To Int16.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.4
For i = UInt16.MinValue To UInt16.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.5
For i = Int32.MinValue To Int32.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.6
For i = UInt32.MinValue To UInt32.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.7
For i = Int64.MinValue To Int64.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
7.8
For i = UInt64.MinValue To UInt64.MaxValue
Value = Value + 1
Next
Console.WriteLine(Value)
Пожалуйста, подумайте перед тем как отвечать, и тебя, Павел, это в первую очередь касается!
Ты может быть подумал, что поскольку byte самое маленькое число то оно занимает мало место следоательно результат будет больше - это подвох Подумай хорошенько
Номер ответа: 38
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #38
Добавлено: 25.07.08 01:05
я не путаюсь... я имел ввиду что можно использовать только ОДНУ конструкцию, больше ограничений я не ставил!
насчет вопросов:
хм... интересно, особенно то что я увидел открыв студию!
хотя если подсчитать правильно мои ответы верны! я их не написал, т.к. все равно их можно считать неверными )
Номер ответа: 39
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #39
Добавлено: 25.07.08 01:17
Четче формулируй пожалуйста.
С друзьями за пивом можно позволять себе вольности, а здесь где у каждого второго за плечами Гарванд, нужно быть внимательнее.
А что же ты там такого увидел, поделись с нами
Ответы? Какие ответы, я их почему-то не вижу...
Пожалуйста, почитай условия задач 6 и 7 и выдай нам свои ответы
Номер ответа: 40
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #40
Добавлено: 25.07.08 01:36
первая мысль как только я увидел задание №6 - это "сюда бы Sharp'а он бы в миг все в уме посчитал бы!" )
6) = d_max64 - ((d_max64 \ 100) * 100) = 7
7) = 7.7 и 7.8
... а вообще все эти коды выводят одно - ОШИБКУ!
Номер ответа: 41
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #41
Добавлено: 25.07.08 01:49
Пожалуйста, поясните, не совсем понятно и обоснуйте...
Обоснуйте ваш ответ, пожалуйста.
Как это выводят ошибку? Павел, вы что, не послушались меня и все-таки запустили Visual Studio? Ну что ж, я разочарован!!!
Чтобы поднять себя в моих глазах, пожалуйста, поясните нам что же это за магическая ошибка и почему она происходит?
Номер ответа: 42
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #42
Добавлено: 25.07.08 01:59
я подумал, потом проверил... все как вы сказали
Пожалуйста, поясните, не совсем понятно и обоснуйте...
а что тут не понятного? только не говорите что ВАМ нужно это объяснять!!!
Обоснуйте ваш ответ, пожалуйста.
а что тут объяснять-то?
For i = Int64.MinValue To Int64.MaxValue
For i = -9223372036854775808 To 9223372036854775807
For i = UInt64.MinValue To UInt64.MaxValue
For i = 0 To 18446744073709551615
-(-9223372036854775808)+9223372036854775807=18446744073709551615 т.е. эти циклы равны, а значит и ответы тоже!
Номер ответа: 43
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #43
Добавлено: 25.07.08 06:16
А чорт его знает, что там вернется.
Номер ответа: 44
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #44
Добавлено: 25.07.08 06:19
Ну 3,4,5 - Это примитивно, там сразу вернется 1, до "Return 2" даже
дело не дойдет.
А вот Brand задачку задал, да...
Я отвечу так: такого вида код я не допущу, потому что я пишу только
такой код, о котором точно знаю, как он будет выполнен.
По той же причине я не использую недокументированные API,
глючноработающие API (которые работают не так, как должны), и прочие
хаки. Себе дороже.
Номер ответа: 45
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #45
Добавлено: 25.07.08 06:40
Поразмышлял за завтраком... Думаю, по пункту 1 вернутся 2.
Сначала выполнится Return 1, потом пойдёт в блок Finally, там
выолнится Return 2, и этот Return видимо победит.
В пункте 2 я всё еще в непонятках. Вообще такой синтаксис "Hel = 2" -
это пережиток советской системы, и его в нормальном коде быть не
должно.