1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Здрасте написал прогу но почему то не работает (должна когда я ввожу не правильный пароль выдавать что он не правильный а когда правильный что правильный)
Program proverkaparolya; Var s,pr,i:integer; Begin pr:=1234; writeln('Введите пароль, у Вас 3 попытки'); for i:=1 to 3 do readln(s); if s=pr then writeln('Пароль верный') else if i<3 then writeln('Пароль неверный, осталось попыток ',3-i); readln; End.
Artem7, если без цикла с параметром (т.е., без For) все-таки не обойтись (ну, мало ли, задание такое, мало ли что) - то:
const Last = 3; var i : integer; s, pass : string; begin pass := '1234'; for i := 1 to Last do begin readln(s); if (s = pass) then break else if i <> Last then writeln('Пробуем еще раз. Попыток осталось: ', Last - i) else Halt(1); end; writeln('Пароль верный'); end.
Насчет Exit для выхода из программ - это неправильно. Потому что Exit завершает не выполнение программы, а выполнение текущего блока. Будет это подпрограмма - завершится подпрограмма. Перенесешь ты свою проверку в функцию или процедуру и будешь потом думать, а чего это программа не завершается (это из той же серии, как при неинициализированных переменных "программой все работало - сделал процедурой - выдает неправильные результаты"). Не давай даже повода для ошибки.
Artem7, если без цикла с параметром (т.е., без For) все-таки не обойтись (ну, мало ли, задание такое, мало ли что) - то:
const Last = 3; var i : integer; s, pass : string; begin pass := '1234'; for i := 1 to Last do begin readln(s); if (s = pass) then break else if i <> Last then writeln('Пробуем еще раз. Попыток осталось: ', Last - i) else Halt(1); end; writeln('Пароль верный'); end.
Насчет Exit для выхода из программ - это неправильно. Потому что Exit завершает не выполнение программы, а выполнение текущего блока. Будет это подпрограмма - завершится подпрограмма. Перенесешь ты свою проверку в функцию или процедуру и будешь потом думать, а чего это программа не завершается (это из той же серии, как при неинициализированных переменных "программой все работало - сделал процедурой - выдает неправильные результаты"). Не давай даже повода для ошибки.