Оператор case, Простой вопрос, на который я так и не нашёл нигде ответа. |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Оператор case, Простой вопрос, на который я так и не нашёл нигде ответа. |
Mactraher |
7.12.2011 15:24
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Как, с помощью оператора case, сделать выбор процедуры?
То есть вроде case x of 1:procedure 1; 2:procedure 2; но так, что б работало=\ |
TarasBer |
7.12.2011 15:29
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
case x of
1:procedure1; 2:procedure2; end; -------------------- |
Mactraher |
8.12.2011 2:21
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Я ему так и заявляю, а он в ответ мне выдаёт s42.radikal.ru/i095/1112/09/e3640221233f.jpg
|
IUnknown |
8.12.2011 2:45
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Ты не так заявляешь. Надо описать процедуры (все) перед основной программой, а не внутри нее. А потом - просто вызывать по имени внутри Case...
|
Mactraher |
8.12.2011 9:12
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Кажется понял, спасибо.
|
Mactraher |
9.12.2011 12:47
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Хотелось бы ещё узнать, как вызывается процедура?
http://s44.radikal.ru/i103/1112/57/df39e4930c2a.jpg Вверху обведён мой вариант вызова, внизу - сама процедура. |
TarasBer |
9.12.2011 14:20
Сообщение
#7
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
1: begin Lab(m,n,k); end;
(короче надо непременно передать три параметра, потому что ты процедуру объявил как принимающую три параметра). Добавлено через 9 мин. Или ты хотел, чтобы переменные a,b,y были локальными в процедуре Lab и не являлись параметрами? Тогда ты не правильно описал процедуру. Надо было так:
-------------------- |
Mactraher |
9.12.2011 14:30
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
1: begin Lab(m,n,k); end; (короче надо непременно передать три параметра, потому что ты процедуру объявил как принимающую три параметра). Мне приходится их вводить и в начале всей программы, а использование глобальных переменных в этом случае запрещено. Возможно ли как-то работать только с моими локальными переменными, объявленными в процедуре? |
TarasBer |
9.12.2011 14:56
Сообщение
#9
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
см сообщение 7, я же дописал
-------------------- |
Mactraher |
12.12.2011 17:57
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
|
Mactraher |
14.12.2011 0:14
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Ура, работает!
А как теперь сделать, чтобы на определённом шаге программа начинала работу заного? Как создать массив MxN, но М и Н при этом ввести после? Сообщение отредактировано: Mactraher - 14.12.2011 0:43 |
TarasBer |
14.12.2011 9:07
Сообщение
#12
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Извиняюсь, не успел прочитать, теперь понял, спасибо.
Как вы форум читаете, если моё исправление написано раньше вашего ответа? > А как теперь сделать, чтобы на определённом шаге программа начинала работу заного? Заново? Циклом.
-------------------- |
Mactraher |
14.12.2011 18:15
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Не дадите ответ на мой второй вопрос?)
Как создать массив MxN, но М и N при этом ввести после? Как вы форум читаете, если моё исправление написано раньше вашего ответа? Мой ответ был написан менее чем через минуту, после вашего исправления. Я мог не обновлять страницу с момента создания вашего предыдущего сообщения. Я мог писать больше минуты. Не дадите ответ на мой второй вопрос?) Как создать массив MxN, но М и N при этом ввести после? Сообщение отредактировано: Mactraher - 14.12.2011 18:19 |
TarasBer |
15.12.2011 9:16
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Не дадите ответ на мой второй вопрос?) Как создать массив MxN, но М и N при этом ввести после? В Паскале - по простому никак. Заводи массив с избытком, например, 100 на 100, а M и N храни отдельно. Цитата Я мог не обновлять страницу с момента создания вашего предыдущего сообщения. Я мог писать больше минуты. Ты когда отправляешь сообщение, не смотришь, что на странице изменилось, сразу закрываешь не глядя? -------------------- |
Текстовая версия | 29.09.2024 16:35 |