Дневник nut.
| |
Сергеевич | Дата: Вторник, 2013-01-22, 6:29 PM | Сообщение # 286 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 8770
Репутация: 912
Замечания: 0%
Статус: Offline
Город: Санкт-Петербург
| Цитата (KaDeaT) А кстати у вас что, основ программирования нет разве? Нет. Только в школе паскаль немного давали.Добавлено (2013-01-22, 6:29 PM) ---------------------------------------------
Цитата (KaDeaT) Вот явное подтверждение тезису, что если человеку действительно что-то нужно, то он это освоит. =))) Вообще компьютерные игры достаточно сильно прошлись по моему образованию. Например дофига английских слов я узнал именно из полурусифицированных версий.
Вышечка
|
|
| |
nut | Дата: Вторник, 2013-01-22, 6:37 PM | Сообщение # 287 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| do xmod2 while xmod2=0 if xmod2=o then что-то я запуталась)
Но тут по идее не нужен цикл...т.к. мы всего один раз делим число на 2, и после этого сразу делаем вывод: если остатка нет, то число делится нацело и хлеб есть; Если остаток есть, то число нацело не делится и хлеба нет. Поэтому я не знаю, что писать после WHILE... Бред получается
x WHILE хmod2<>0 DO BEGIN xmod2 WRITELN(); END.
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 7:16 PM | Сообщение # 288 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Цитата (nut) WHILE хmod2<>0 DO BEGIN xmod2 WRITELN(); END.
теперь построчно опиши как эта конструкция работает по-твоему.=)
Обучение программированию
|
|
| |
nut | Дата: Вторник, 2013-01-22, 7:24 PM | Сообщение # 289 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| Цитата (KaDeaT) теперь построчно опиши как эта конструкция работает по-твоему.=) до тех пор, пока число делится на 2 с остатком нужно делить дальше на 2 и брать остаток и вывести какое-то НЕЧТО
знаю, бред сумасшедшего просто таким способом не могу решить задачу, т.к. тут нет цикла
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 7:28 PM | Сообщение # 290 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| теперь представим что ты компьютер. берем х =1. Оно не делится без остатка на два, значит цикл не выполняется. Программа заканчивается, так и не начавшись. =))) А нам по идее надо еще проверить 2,3 и 4.
Следовательно, условие выхода из цикла должно быть другое. Кажется ну-ка напиши как вообще цикл работает while do. =)
Обучение программированию
|
|
| |
nut | Дата: Вторник, 2013-01-22, 7:44 PM | Сообщение # 291 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| Если кратко, то как-то так "До тех пор, пока выполняется условие, выполнять какое-то действие" Но у нас нет этого условия. Поэтому нельзя решить. Вот.)
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 7:45 PM | Сообщение # 292 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| nut, как это нет? мы разве не знаем что магазина всего четыре? =))
Обучение программированию
|
|
| |
nut | Дата: Вторник, 2013-01-22, 7:50 PM | Сообщение # 293 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| WHILE x>0 and x<4 DO BEGIN xmod2 IF xmod2=0 then write 'хлеб есть' else write 'хлеба нет' END.
а можно ввести переменную? WHILE x>0 and x<4 DO BEGIN k:=xmod2 IF k=0 then write 'хлеб есть' else write 'хлеба нет' END.
тогда все просто))
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
Сообщение отредактировал nut - Вторник, 2013-01-22, 8:13 PM |
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 7:53 PM | Сообщение # 294 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| опять ты лишнее проверяешь. х>0 .
Обучение программированию
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 7:53 PM | Сообщение # 295 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| Цитата (nut) xmod2 xmod2=0 это зачем? или к чему это?
Обучение программированию
|
|
| |
nut | Дата: Вторник, 2013-01-22, 8:13 PM | Сообщение # 296 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| Цитата (KaDeaT) опять ты лишнее проверяешь. х>0 . ну просто ты подразумеваешь, что х болье нуля. А если введут меньше...Тогда будет ошибка!!!
Цитата (KaDeaT) это зачем? или к чему это? это опечатка. Там один раз...Исправила!
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 8:24 PM | Сообщение # 297 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| вот так правильно
Цитата (nut) WHILE x>0 and x<4 DO BEGIN k:=xmod2 IF k=0 then write 'хлеб есть' else write 'хлеба нет' END.
а вот так неправильно. Цитата (nut) WHILE x>0 and x<4 DO BEGIN xmod2 IF xmod2=0 then write 'хлеб есть' else write 'хлеба нет' END.
Если хочешь без переменной то вот так надо
WHILE x>0 and x<4 DO BEGIN IF xmod2=0 then write 'хлеб есть' else write 'хлеба нет' END.
Обучение программированию
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 8:30 PM | Сообщение # 298 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| nut, если я тебе явно говорю, что х от 1 до 4, то значит никто не введет меньше.=)) Ты решай то, что предложено. =))) В заданиях область значений допустимых оговаривается.
Давай теперь усложним задачу. количество магазинов наперед неизвестно. Будем считать что их огроменный список (причем их адреса могут быть как положительными так и отрицательными. Условие наличия хлеба точно такое же. При этом будем считать что, -х это адрес магазина (х+1). В конце списка магазинов стоит 0. Давай теперь перепиши свою программу. =))
Обучение программированию
|
|
| |
nut | Дата: Вторник, 2013-01-22, 8:32 PM | Сообщение # 299 |
Доцент
Группа: Проверенные
Сообщений: 663
Репутация: 82
Замечания: 0%
Статус: Offline
| Цитата (KaDeaT) Если хочешь без переменной то вот так надо WHILE x>0 and x<4 DO BEGIN IF xmod2=0 then write 'хлеб есть' else write 'хлеба нет' END.
ааа, я думала, что сначала должен начать вычислять "BEGIN xmod2 ", а потом уже условие "IF xmod2=0 then write 'хлеб есть' "....хотя мне казалось это странным)
Спасибо большое за отличный пример с хлебом Кажется, я начала разбираться
ЕГЭ2013: РМФ:272 РМИ:281 Дневник:/forum/72-37475-1 МФТИ ФИВТ, 1 курс
|
|
| |
KaDeaT | Дата: Вторник, 2013-01-22, 8:41 PM | Сообщение # 300 |
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Замечания: 0%
Статус: Offline
| ты зачем это объединяешь? begin он сам по себе, а вычисления сами по себе. ))
Учти, что я не проверяю нюансы синтаксиса. Приучайся писать сразу и правильно, как раз и внимательность потренируешь. =)
Переделывай программу =)
Обучение программированию
|
|
| |
|
|
|