Воскресенье, 28.04.2024, 11:07
Приветствую Вас Гость | RSS


Головне меню
Категории раздела
ППО [0]
Програмное обеспечение, для преподавания курса программирования на языке "Паскаль"
Готовимся к олимпиаде [2]
Условия и решения олимпиадных задач
Литература [3]
У вільний час
Форма входу
Статистика

Яндекс цитирования
МЕТА - Украина. Рейтинг сайтов
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Программирование

Главная » Статьи » Паскаль » Готовимся к олимпиаде

Пароль Степана

Ім′я вхідного файлу:

Ім′я вихідного файлу:

Обмеження по часу:

Обмеження по пам′яті:

password.in

password.out

1 сек

64 мегабайт

Одного разу Степан вирішив на своєму комп′ютері встановити пароль. Він дізнався, що пароль є криптостійким, якщо він включає в себе і малі латинські букви, і великі латинські букви, і цифри, при цьому його довжина має бути не менше 8 символів.

Необхідно написати програму, яка по даному паролю визначає, чи є він криптостійким.

Формат вхідних даних: вхідний файл містить один рядок, у якому можуть бути тільки цифри, маленькі та великі латинські літери. Кількість символів у рядку не перевищує 10000.

Формат вихідних даних: єдиний рядок вихідного файлу має містити слово YES, якщо заданий пароль є криптостійким, і NO – в іншому випадку (великими латинськими буквами).

Приклади вхідних та вихідних даних:

password.in

password.out

1aA

NO

Aa2BCc12

YES

AAAaaaAAA

NO

 

Мій варіант розв'язання

var

p:string;

i,n,k,c:integer;

label h,m,s,z;

begin

     writeln('Passvord=');

     read(p);

     i:=0;

     k:=0;

     c:=0;

     n:=length(p);

     if n<8 then begin

                                  writeln('NO');

                                  goto m;

                         end;

     h:if i<=n then

                     if (i+1)<=n then  begin

                                                            i:=i+1;

                                                            if p[i] in ['A'..'Z'] then goto s

                                                            else goto h;

                                                   end;

     s:if k<=n then

                           if (k+1)<=n then begin

                                                                k:=k+1;

                                                                if p[k] in ['a'..'z'] then  goto z

                                                                else goto z;

                                                         end;

     z:if c<=n then

                              if (c+1)<=n then  begin

                                                                   c:=c+1;

                                                                   if p[c] in ['0'..'9'] then begin

                                                                                                     writeln('YES');

                                                                                                     goto m;

                                                                                                      end

                                                                    else goto z;

                                                             end;

    writeln('no');

m:end.

Категория: Готовимся к олимпиаде | Добавил: ded01 (18.02.2011)
Просмотров: 1601 | Теги: задачи на паскале, паскаль, готовимся к олимпиаде
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Пошук
Обов'язково відвідайте!
Якщо Ви небачите посилань - вимкніть антибанер або внесіть сайт у довірену зону!
Учительский портал

Міні-чат

© Мех Сергей Анатолиевич ; 2024
Создать бесплатный сайт с uCoz