Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2009, 05:06   #1
Tik-Tik
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 45
По умолчанию Вопросы по Паскалю обьясните КОД

Прошу модераторов не закрывайте пожалуйсто мои темы я спецально создаю тему для себя чтоб вней походу обучения задавать вопросы чтоб не создавать 100 клон тем !
Вопрос обьясните код


VAR bukva : Char;
BEGIN
WriteLn ('Введи строчную букву русского алфавита');
ReadLn (bukva);
case bukva of
а','е','и','о','у','ы','э','ю','я' :WriteLn('гласная');
'б','з','в','г','д','ж' :WriteLn('согласная звонкая');
'п','с','ф','к','т','ш' :WriteLn('согласная глухая');
'й','л','м','н','р','х','ц','ч','щ' ,'ъ','ь' :WriteLn('другая');
else WriteLn('Таких букв не знаю');
end;
ReadLn
end.
Вобшем в книги в конце каждой главы даеться задача
ну по коду вы поняли что за задача мне была дана я ее решил но у меня так не че и не получилось заглянув в ответы обнаружел вот этот код с двумя End обьясните пожалуйста для чего выделеная красным Еnd если можно более простым языком !
Tik-Tik вне форума Ответить с цитированием
Старый 11.02.2009, 06:21   #2
tsergey
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 123
По умолчанию

консрукция case обязательно закрываеться end-ом твой выделенный end как раз таки закрывает конструкцию case вот и все
tsergey вне форума Ответить с цитированием
Старый 11.02.2009, 07:50   #3
Tik-Tik
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 45
По умолчанию

Спасиб. А много еше таких как Case которых обезательно закрывать end ?

Последний раз редактировалось mihali4; 12.02.2009 в 01:36.
Tik-Tik вне форума Ответить с цитированием
Старый 11.02.2009, 07:55   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

то что после begin нужно закрывать end;
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 11.02.2009, 08:30   #5
Tik-Tik
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 45
По умолчанию

Код:
LABEL m1,met5;
VAR  n,k : Integer;
BEGIN
		n:=10;
		k:=0;
		WriteLn('Считаем зайцев' );
 met5:	Write(n);
		n:=n+k;
		goto m1;
		n:=n+1;
 m1:  	Write(' зайцев  ');
		ReadLn;
		k:=k+1;
		goto met5;
		WriteLn('Посчитали зайцев')
END.
Вот еше вопросик вот собствено в книги дна задачка надо без копьютера определить то что он выведет на экран , я пытался понять думал ,что все очевидно вобщем вел в pascal то что он вывел вобше шок .
Помагите понять какие действия комьютер будет совершкать в перую очередь пронумеруйте пожалуйста весь принцип интересен

Последний раз редактировалось mihali4; 12.02.2009 в 01:37.
Tik-Tik вне форума Ответить с цитированием
Старый 11.02.2009, 09:59   #6
tsergey
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 123
По умолчанию

еще record тоже закрывается end
tsergey вне форума Ответить с цитированием
Старый 11.02.2009, 10:00   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В программе есть начальные значения n,k и две метки, которые ссылаются друг на друга. Поэтому программа снчала выведет начальное значение n=10, потом n=10+0; 10+0+1;10+0+1+2;10+0+1+2+3 и так до бесконечности, так как условие выхода из программы не прописано.
Действие n:=n+1;никогда выполняться не будет, так находится между метками и его вообще можно убрать.
puporev вне форума Ответить с цитированием
Старый 11.02.2009, 10:04   #8
tsergey
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 123
По умолчанию

чтобы увидеть что делается в программе т.е. чтоб увидеть все по шагам запиши эту прогу в паскале затем используй "клавишу f7" возможно тебе не понятно потому что ты используешь метки. Кстати при программирование метки уже не используются или используются очень редко так что желательно метки не использовать.Метки использовались раньше когда не было циклов в основном чтоб зациклить программы и т.д.
tsergey вне форума Ответить с цитированием
Старый 11.02.2009, 12:57   #9
Tik-Tik
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 45
По умолчанию

ну да это для циклов ,а шас как проделывают цикл в програмах?
Книга просто 1999 года можит уже устарела ! но книга хорошая мне нравится но видемо уже не актуальна
Tik-Tik вне форума Ответить с цитированием
Старый 11.02.2009, 13:23   #10
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Разработке алгоритмов можно учится и по более древним книгам, а вот синтаксис желательно по более свежим, хотя по Паскалю мало что издается.
А программу с циклом можно сделать например так:
Код:
uses crt;
VAR n,k : Integer;
    c:byte;
BEGIN
clrscr;
n:=10;
k:=0;
WriteLn('Считаем зайцев');
repeat
Write(n);
n:=n+k;
Write(' зайцев');
ReadLn;
k:=k+1;
WriteLn('Поcчитали зайцев?');
writeln('Yes!-1 No!-2');
readln(c);
until c=1;
END.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьясните, плиз! Ніжний Диявол Общие вопросы Delphi 3 14.05.2008 21:14
Обьясните... Droid Общие вопросы Delphi 4 12.05.2008 12:57
помогите плиз написать код на следующие вопросы delf7 Фриланс 1 03.01.2008 10:53