Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проанализируйте код Please! училка задолбала!!! 
V
    Опции темы
navi
  Дата 9.4.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 28.4.2007
Где: Moldova

Репутация: нет
Всего: нет



всем привет! Проанализируйте код пожалуйста! Училка говорит что прога не корректная мотивируя  это тем что я использую метки! она говорит что метки использовать не грамотно. 
Код

program p1;
uses crt;
const k='Введите значение коэффициента a=';
      k1='Введите значение коэффициента b=';
      k2='Введите значение коэффициента c=';
      k3='Уравнение не имеет корней!';
      k4='Коэффициент a не может быть равен 0 !!!';
      k5='Уравнение имеет один корень.';
      k6='Уравнение имеет два корня.';
label e,p2,mm,av,m1,u,u2,u3,per,f,pop;
var a,b,c,d,x1,x2,z:real;
    n,h,t:char;
begin m1: clrscr;  textcolor(green);writeln;writeln('                            Программа "КВАДРУМ"');
writeln;writeln('                              Главное  меню.');writeln;writeln;
writeln(' 1:Меню программы.');
writeln(' 2:Авторы.');
writeln(' 3:Помощь.');
writeln(' 4:Выход.');n:=readkey;

if n='4' then goto e else if n='2' then goto av else
if n='3' then goto p2 else if n='1' then goto mm else goto m1;


p2: clrscr; writeln; writeln('                      Помощь.');writeln;
writeln(' Программа "КВАДРУМ" предназначена для решения квадратных уравнений');
writeln(' любого вида. Вам только не обходимо ввести его коэффициенты.');
writeln;writeln('     Для выхода в главное меню нажмите [Enter].');readln;goto m1;



av:clrscr; writeln('   Разработчики программы "КВАДРУМ"');writeln; writeln;
writeln('  Программирование ->Лопушнян Иван.');writeln;
writeln('  Графический дизайн ->Мамиев Мекан.');writeln;writeln;
writeln('            Для выхода в главное меню нажмите [Enter].');readln; goto m1;
{--------------------------------------------------------------------------}
mm: clrscr;writeln;writeln('                              Меню программы.');writeln;
writeln('                  Какого вида уравнение вы собираетесь решить?');
writeln;writeln;textcolor(white); writeln(' 1:ax^2+bx+c=0.');writeln(' 2:ax^2+bx=0.');
writeln(' 3:ax^2+c=0.'); writeln;writeln; textcolor(yellow);
writeln('        Для выхода в главное меню нажмите [4]');textcolor(green);
h:=readkey;
if h='1' then goto u else if h='2' then goto u2 else if h='3' then goto u3 else
if h='4' then goto m1 else goto mm;
{--------------------------------u------------------------------------}
u:clrscr; writeln;writeln;writeln('                    AX^2+BX+C=0.');
writeln;writeln;write(' ',k);readln(a);if a=0 then begin writeln; textcolor(red);
writeln(' ',k4,'   Нажмите [Enter]');
readln;textcolor(green); goto u;end;
writeln;write(' ',k1);readln(b);
writeln;write(' ',k2);readln(c);if c=0 then goto per;
d:=b*b-4*a*c; if d<0 then begin writeln;
writeln(' ',k3) end else
if d=0 then begin writeln;writeln(' ',k5); x1:=(-1*b)/2;
writeln;writeln('   x=',x1:3:3) end else if d>0 then begin writeln;
writeln(' ',k6); x1:=((-1*b)-sqrt(d))/(2*a);x2:=((-1*b)+sqrt(d))/(2*a);
writeln;writeln;writeln(' x1=',x1:3:3);writeln;writeln(' x2=',x2:3:3); end;
goto f;
{--------------------------------------u2------------------------------}
u2:clrscr; writeln;writeln('                    AX^2+BX=0.');writeln;writeln;
write(' ',k);readln(a);if a=0 then begin writeln;
writeln(' ',k4,'   Нажмите [Enter]');readln;goto u2;end;
writeln;write(' ',k1);readln(b);per: x1:=0;x2:=(-1*b)/a;
writeln;writeln;writeln(' x=',x1:3:3,' или  x=',x2:3:3); goto f;
{----------------------------------------u3-------------------------------}
u3:clrscr; writeln;writeln('                    AX^2+C=0');
writeln;writeln;write(' ',k);readln(a);if a=0 then begin writeln;
writeln(' ',k4,'   Нажмите [Enter]');readln;goto u3;end;
writeln;write(' ',k2);readln(c); z:=(-1*c)/a; if z<0 then  begin writeln;
writeln(' ',k3) end else if  z=0 then begin  writeln;writeln(' ',k5); writeln;
writeln(' x=0'); end else if z>0 then begin x1:=sqrt(z); x2:=-1*x1;
writeln;writeln(' ',k6);writeln;writeln;writeln(' x1=',x1:3:3);
writeln;writeln(' x2=',x2:3:3);end;goto f;
{-----------------------------finish---------------------------------}
f:writeln;writeln;writeln;writeln(' Для выхода в главное меню нажмите [1].');
writeln;
writeln(' Для выхода в меню программы нажмите [2].');
writeln;writeln(' Для выхода из программы нажмите [3].');
pop:t:=readkey;
if t='1' then goto m1 else  if t='2' then goto mm else
if t='3' then goto e else goto pop;
readln;e:end.

заранее спасибо! и извиняют если тема не в том разделе...
--------------------
 Хакер не преступник! Взлом ради искусства! Смысл в свободе!
PM MAIL Skype   Вверх
SneG0K
Дата 9.4.2008, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Возможно она имела ввиду вот это?
Код

label e,p2,mm,av,m1,u,u2,u3,per,f,pop;

PM WWW Skype   Вверх
navi
Дата 9.4.2008, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 28.4.2007
Где: Moldova

Репутация: нет
Всего: нет



Цитата(SneG0K @  9.4.2008,  22:23 Найти цитируемый пост)
Возможно она имела ввиду вот это?
код Pascal/Delphi
1:

label e,p2,mm,av,m1,u,u2,u3,per,f,pop;

не она сказала что только самые безграмотные программисты использют метки и ими вообще нельзя ползоваться!!! smile 
--------------------
 Хакер не преступник! Взлом ради искусства! Смысл в свободе!
PM MAIL Skype   Вверх
SneG0K
Дата 9.4.2008, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Цитата(navi @  9.4.2008,  21:58 Найти цитируемый пост)
не она сказала что только самые безграмотные программисты использют метки и ими вообще нельзя ползоваться!!!

Тю. А я тебе на что указал?
PM WWW Skype   Вверх
navi
Дата 9.4.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 28.4.2007
Где: Moldova

Репутация: нет
Всего: нет



а чё реально метки история? smile 
--------------------
 Хакер не преступник! Взлом ради искусства! Смысл в свободе!
PM MAIL Skype   Вверх
volvo877
Дата 9.4.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



navi, чтоб в твоей программе разобраться - надо бродить по меткам, и смотреть куда что ссылается... Во всяком случае, с первого взгляда понять логику работы невозможно. А вот программа, написанная без меток (грамотно написанная, разумеется, не как попало) как раз читается "с листа". Так что мой тебе совет, перепиши программу с использованием других конструкций.
PM MAIL   Вверх
Данкинг
Дата 10.4.2008, 01:41 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(navi @ 9.4.2008,  23:58)
не она сказала что только самые безграмотные программисты использют метки и ими вообще нельзя ползоваться!!! smile

Передай ей, что она сама таковая, раз несёт подобную буйню. smile Пусть сменит профессию и, к примеру, идёт дёргать за вымя больших мычащих животных, ибо ничему хорошему такой некомпетентный педагог не научит. smile 

Это сообщение отредактировал(а) Данкинг - 10.4.2008, 01:44


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
volvo877
Дата 10.4.2008, 02:15 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Данкинг, а может тебе тоже последовать твоему совету? Ты сам-то метки используешь? Или только "бла-бла-бла" горазд, а сам пишешь себе структурированные программы? А если сам пишешь с таким количеством меток, то отвечай в разделе Бейсик. Возможно, там бездумное использование goto или аналогов принято. В Паскале есть достаточно средств чтобы Goto ВООБЩЕ не использовать. НИКОГДА... (Я уже об этом говорил, и очень жаль, что человеку, набравшему полтысячи постов на форуме - хотя, здесь есть где набрать и ни сказав ни слова о программировании) нужно это повторять... Мне, например, за 15 лет интенсивного программирования этот оператор не понадобился НИ РАЗУ!!! 

Я надеюсь, идея понятна? Кто хочет еще поспорить о полезности меток - добро пожаловать во Флейм...
PM MAIL   Вверх
ILyAHA
Дата 10.4.2008, 14:53 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гламурный хакер
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.3.2007
Где: Ярославская обл. г.Рыбинск

Репутация: нет
Всего: 3



Использование меток является плохим тоном в программировании... Так что я согласен и с училкой и с volvo877
--------------------
<sсriрt>alert('xss')</sсriрt>
PM MAIL   Вверх
SneG0K
Дата 10.4.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Данкинг извини, но, мне кажется, что тут ты не прав. Метки реально история. Я в дельфи этим не занимался, но один хороший человек пояснил мне, что это почти так же как и в батниках. Лучше уже приклеять новую процедуру иль функцию, чем страдать фигней с метками. Код хоть понятней выглядит.
PM WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0854 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.