Страница 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]