Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 07.03.2010, 15:49   #1 (ссылка)
Стажёр
 
Регистрация: 23.02.2010
Сообщений: 1,008
Репутация: 67
Lightbulb Помошь с Pascal

Только начал изучать этот язык (по советам многих форумчан), вот что получилось за вечер:
Цитата:
Program PcHelpForum;
Var
n:real;
Begin
write ('Вы любите сайт pchelpforum.ru? 1-да, 2-нет');
read (n);
If n=2 then Writeln ('Ну и зря, там круто');
If n=1 then Writeln ('Я его тоже люблю.');
End.
Вот как-то так...Ещё хотелось бы узнать, как можно всё это оформить с буквами Y и N, также, если бы пользователь не ввёл ни букву Y, ни букву N, программа редиректила его вот сюда
Цитата:
write ('Вы любите сайт pchelpforum.ru? 1-да, 2-нет');
и программа тогда бы не входила в ступор при введении неверной буквы, а просто бы давала пользователю ещё шанс ответить. Но вот с редиректом так и не получилось, даже не получилось просто чтобы выводилось сообщение вот такого вида:
Цитата:
If n=(тут я хотел, чтобы были все числа, кроме 1 и 2, или все знаки, кроме N и Y) then writeln ('Вы ввели неверное число/неверный знак, попробуйте ещё раз') and Ну и вот тут редирект на строчку данную выше.
Ps Писать программки пока нравится, но в учебника первые 2-3 страницы понятно, а потом сразу в какие-то дебри без объяснений.
PPS Если найдётся добрый и знающий человек, который примет меня в "ученики", я буду очень рад.
PPPS Я знаю, что программка никакой пользы не принесёт, но на её примере я хотя бы смог объяснить, что именно я хочу получить от неё и чему я хочу научиться.
Чистый листочек вне форума  
Старый 07.03.2010, 15:51   #2 (ссылка)
Знаток
 
Аватар для iRomul
 
Регистрация: 26.06.2008
Сообщений: 2,631
Записей в блоге: 1
Репутация: 152
По умолчанию

Program PcHelpForum;
Var
n:real;
Begin
write ('Вы любите сайт pchelpforum.ru? 1-да, 2-нет');
read (n);
If n=2 then Writeln ('Ну и правильно.');
If n=1 then Writeln ('Дурак.');
End.

P.S.
Здесь можно сделать так

Цитата:
Program PcHelpForum;
Var a: integer;
Begin
write ('Вы любите сайт pchelpforum.ru? 1-да, 2-нет');
read (a);
If a= N then Writeln ('Ну и правильно.');
If a= Y then Writeln ('Дурак.');
End.
Где N и Y -константы (N=0, Y=1)
Ещё как вариант - a As Bolean, т.к. у нас всего 2 значения - одно правда, другое ложь. Сейчас попробую накатать чего-нибудь

Последний раз редактировалось iRomul; 07.03.2010 в 16:01.
iRomul вне форума  
Старый 07.03.2010, 18:33   #3 (ссылка)
Стажёр
 
Регистрация: 23.02.2010
Сообщений: 1,008
Репутация: 67
По умолчанию

Цитата:
Сообщение от iRomul Посмотреть сообщение
If n=1 then Writeln ('Дурак.');
Неправда. Лучше, чтобы в 1м варианте ещё и троянчик при нажатии кнопки 2 записывал на комп

---------- Добавлено в 16:33 ---------- Предыдущее сообщение было написано в 14:24 ----------

Цитата:
Program PcHelpForum;
Var
n:char;
Begin
write ('Вы любите сайт pchelpforum.ru? Y/N');
read (n);
If n=Y then Writeln ('Ну и зря, там круто');
If n=N then Writeln ('Я его тоже люблю.');
End.
Опять же вопрос - как отделять переменную от её значения, а то вот получается
Цитата:
n=N
Чистый листочек вне форума  
Старый 07.03.2010, 18:34   #4 (ссылка)
Знаток
 
Аватар для iRomul
 
Регистрация: 26.06.2008
Сообщений: 2,631
Записей в блоге: 1
Репутация: 152
По умолчанию

Чистый листочек, ёперный театр, объявите новую переменную! Назовите её abrokadabra, тогда уж точно она не будет совпадать с N
iRomul вне форума  
Старый 07.03.2010, 19:08   #5 (ссылка)
Стажёр
 
Регистрация: 23.02.2010
Сообщений: 1,008
Репутация: 67
По умолчанию

КАроче...вот финальнй вариант, дальше вообще не знаю, что делать. При вводе параметра, отличного от множества параметров {Y,y,N,n} программа входит в ступор, также не получилось применить знак <>, у меня его вообще считывает прога как знак =, не знаю почему. На редирект полностью забил.
Чистый листочек вне форума  
Старый 07.03.2010, 20:19   #6 (ссылка)
Новичок
 
Аватар для Qiker
 
Регистрация: 10.07.2009
Сообщений: 227
Репутация: 17
По умолчанию

Program PcHelpForum;
label 1;
Var
j,n,y:integer;
Begin

1:writeln ('Вы любите сайт pchelpforum.ru? да -1,нет - 2') ;
readln (n);
if n=1 then Writeln ('Я его тоже люблю.');
If n=2 then
begin
Writeln ('Пошла загрузка трояна...');
for j:=1to 100 do begin
writeln(j,'%');

end;

writeln('загрузка завершена');
writeln('Чтобы вылечить угрозу обратитесь по адресу PcHelpForum.ru');
end;
if (n<>1)and(n<>2) then goto 1;
end.

---------- Добавлено в 20:19 ---------- Предыдущее сообщение было написано в 20:18 ----------

Вот так прикольней))))
Qiker вне форума  
Старый 07.03.2010, 20:43   #7 (ссылка)
Стажёр
 
Регистрация: 23.02.2010
Сообщений: 1,008
Репутация: 67
По умолчанию



---------- Добавлено в 18:43 ---------- Предыдущее сообщение было написано в 18:42 ----------

Qiker, а можно сделать так, чтобы надпись задержалась на несколько секунд?
Чистый листочек вне форума  
Старый 07.03.2010, 20:52   #8 (ссылка)
Новичок
 
Аватар для Qiker
 
Регистрация: 10.07.2009
Сообщений: 227
Репутация: 17
По умолчанию

Чистый листочек, я об этом думал, попробую на досуге)))
Qiker вне форума  
Ads
Старый 08.03.2010, 00:51   #9 (ссылка)
Стажёр
 
Регистрация: 23.02.2010
Сообщений: 1,008
Репутация: 67
По умолчанию

Qiker,
Цитата:
Program PcHelpForum;
label 1;
Var
j,n,y:integer;
Begin

1:writeln ('Вы любите сайт PcHelpForum.ru? да -1,нет - 2');
readln (n);
if n=1 then Writeln ('Я его тоже люблю.');
If n=2 then
begin
for j:=1to 100 do begin
writeln('Идёт загрузка трояна...',j,'%');

end;

writeln('Загрузка завершена');
writeln('Чтобы вылечить угрозу обратитесь по адресу PcHelpForum.ru');
end;
if (n<>1)and(n<>2) then goto 1;
end.
Спасибо, что научили редиректу с командами label и goto. Вот мой альтернативный вариант...
Чистый листочек вне форума  
Старый 08.03.2010, 07:35   #10 (ссылка)
Новичок
 
Аватар для Qiker
 
Регистрация: 10.07.2009
Сообщений: 227
Репутация: 17
По умолчанию

Цитата:
Qiker,
Цитата:
Program PcHelpForum;
label 1;
Var
j,n,y:integer;
Begin

1:writeln ('Вы любите сайт PcHelpForum.ru? да -1,нет - 2');
readln (n);
if n=1 then Writeln ('Я его тоже люблю.');
If n=2 then
begin
for j:=1to 100 do begin
writeln('Идёт загрузка трояна...',j,'%');

end;

writeln('Загрузка завершена');
writeln('Чтобы вылечить угрозу обратитесь по адресу PcHelpForum.ru');
end;
if (n<>1)and(n<>2) then goto 1;
end.
Спасибо, что научили редиректу с командами label и goto. Вот мой альтернативный вариант...
такими темпами меня обгонишь))
Qiker вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal abc Wenera Программы 0 29.11.2010 20:03
Динамические массивы в pascal deryck Программирование 0 24.11.2010 21:01
очень нужна помошь Лариса20 Безопасность 2 15.11.2010 12:31
Нужна помошь Alekc Windows 7 9 02.09.2010 00:33
Переход с Pascal на C++ Garf Программирование 1 07.03.2010 01:22
Нужна ваша помошь Stim Windows XP 1 03.03.2010 01:47
Как изучить синтаксис Pascal 7.0 s1gm@ Программирование 3 27.01.2010 08:59
Ссылка на Pascal s1gm@ Программирование 3 24.01.2010 23:39
Задача про перекресток (Turbo Pascal) NeedForSpeert Программирование 0 07.12.2009 22:18
Нужна помошь с Видеокартой saidxansarkarov Неисправности, настройка 6 24.11.2009 19:57
Нужна помошь Денис Игоревич Мобильные устройства 4 20.06.2008 19:34
Помошь по работе с ДЕЛФИ 7 Repat Программирование 3 18.06.2008 23:10


Текущее время: 10:51. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.