Страница 1 из 1
нужна прога
Добавлено: Вс ноя 11, 2007 14:45
Bentley
хэлп
может ктото разберается в Паскале.
мне нужна прога которая:
с помощью repeat требует пороль 111, если пороль правельный, то выводит сообщ Молодец:) , если после 5 попытки пароль всёравно не верен, то выйти из проги.
заранее блогадарю.
Добавлено: Вс ноя 11, 2007 15:14
sadman
Давно я паскаль щупал..
за синтаксис не отвечаю. попробуй так: (объявления переменных и т.п. оставил тебе

)
Код: Выделить всё
counter := 0;
repeat{
writeln("Give me a password");
readln(pswd);
counter := counter+1;
}
until(pswd<>"111" || counter=5);
if(counter=5)
then //завершить программу
writeln("molodezzz");
[off]а вообще в Программирование постить надо такие темы.[/off]
Добавлено: Вс ноя 11, 2007 21:08
Злобный
программа написана неправильно.
1) должно быть "until pswd = 5". в твоем случае из цикла выйдет при первом неправильном вводе
2) что будет, если пользователь ввел правильный пароль на 5-м шаге? в твоем случае программа просто завершится, хотя должна бы написать "молодец"
[off]а вообще проверять надо код перед постом.[/off]
Добавлено: Вс ноя 11, 2007 22:02
sadman
Злобный,
а вообще проверять надо код перед постом.
[off]простите пожалуйста, я больше так не буду
и заметь:
за синтаксис не отвечаю. попробуй так
[/off]
Добавлено: Вс ноя 11, 2007 22:27
Злобный
[off]sadman,
у тебя ошибки не в синтаксисе, а в логике работы программы. синтаксические ошибки исчезнут на этапе компиляции, логические же останутся в программе.[/off]
Добавлено: Вс ноя 11, 2007 22:30
жена бэтмэна
вопшЭм как-то так вроде
Код: Выделить всё
program a1;
var a: string;
i: integer;
begin
i:=0;
repeat
begin
writeln('Vvedite paroli');
readln(a);
if a='111' then writeln('Malagets')
else
begin
i:=i+1;
if i<5 then writeln('Neverno.Ostalosi popitok ' ,5-i)
else writeln('Neverno.Asta la vista');
end;
end;
until (i=5)or (a='111') ;
end.
Добавлено: Вс ноя 11, 2007 23:58
sadman
[off]Злобный,
ой да, вот тут я реально прогнал.. признаю ошибку. не досмотрел.[/off]