Bem, li toda a conversação gerada pelo meu comentário. Então lá vai a explicação: Em primeiro lugar estamos falando de Pascal. Em C (e suas variações), PHP, entre outras linguagens, o break é um comando obrigatório para algumas estruturas. Não é o caso do Pascal. Como disse, o professor era da matéria de Estruturas de Programação, e na época (e faz tempo) a ferramenta usada para exemplificar era o Turbo Pascal 5.5 (eita nóis). Então, uma estrutura bem feita e o seu devido uso - while, for, repeat - era extremamente relevante para a nota da matéria. O break usado dentro de um "for" demostra que não deveria ser usado um "for", e sim um while ou repeat (dependendo do caso). Um break usado dentro de um while ... bem aí deve ser avaliado o código, pois apenas o if/else que foi usado para o chamar o break já resolveria o caso juntamente com a condição do while, sem a necessidade do break. Sinceramente, eu agradeço pelo professor que tive, pois aprendi bem a utilização do while/for/repeat em seus específicos casos. Além disso o programa fica bem mais legível, como o Vitor já comentou. Sobre o GOTO, esse sim é uma aberração :) Lembro que minha primeira experiência com alguma linguagem de programação foi com o MSX (Expert da Gradiente), nele usava o Basic, e o GOTO comia solto, já que era a única estrutura de loop naquela liguagem. Daí, quando entrei para o colégio técnico conheci o Turbo Pascal 3 ... de primeira tentei fazer um programa, e lendo um guia rápido achei o GOTO e disse: "estou em casa!". Graças a Deus descobri logo depois que existia procedure e function (hehehehe)
Abraços a todos! Alessandro DUARTE de Moraes A.C. Santa Casa do Rio Grande. http://www.santacasarg.com.br ----- Original Message ----- From: Luciano Topolniak To: delphi-br@yahoogrupos.com.br Sent: Thursday, November 29, 2007 11:55 AM Subject: RES: RES: [delphi-br] Array A função do break é terminar um laço de forma anormal. []'s Topolniak. -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: quinta-feira, 29 de novembro de 2007 11:48 Para: delphi-br@yahoogrupos.com.br Assunto: RE: RES: [delphi-br] Array Prioridade: Alta Apenas uma ratificação. Não é só no C++ mas na linguagem C mesmo existe break. E outra, particularmente, num vejo qual o fascínio que um break pode exercer. Em Object Pascal, um trecho de código desse pode muito ter o mesmo efeito reescrito da seguinte maneira: while True do begin . . if i = 5 then Break; . . end; Isso sim, eu acho mais elegante e coerente do que um for definido onde não se sabe de onde e para onde se quer ir! Sds. ________________________________ To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Thu, 29 Nov 2007 09:25:51 -0400 Subject: RES: [delphi-br] Array E no caso do C++ onde é possível fazer um for sem as condições e colocar uma sentinela para Pará-lo. For (; ;) { If (i==5) break; } Eu fico fascinado com o poder do c++ em fazer isso. E agora fico sabendo que é pog? []'s Topolniak. De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Alessandro DUARTE de Moraes Enviada em: quinta-feira, 29 de novembro de 2007 07:28 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Array Break é gambiarra! Meu professor de "Estruturas de Programação" dava zero na nota do trabalho se visse algum break no programa. Alessandro DUARTE de Moraes A.C. Santa Casa do Rio Grande. http://www.santacasarg.com.br ----- Original Message ----- From: Luciano Topolniak To: delphi-br@yahoogrupos.com.br Sent: Wednesday, November 28, 2007 6:43 PM Subject: RES: [delphi-br] Array E que tal for com break? []'s Topolniak. De: delphi-br@yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br ] Em nome de BandaLemuel Enviada em: quarta-feira, 28 de novembro de 2007 15:58 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Array ok.. Obrigado pela dica. ----- Original Message ----- From: Alessandro DUARTE de Moraes To: delphi-br@yahoogrupos.com.br Sent: Wednesday, November 28, 2007 4:45 PM Subject: Re: [delphi-br] Array Cara, ao invés de usar o FOR usa o WHILE ... + ou - assim: var bAchei : boolean; x := 0; bAchei := false; while ((not bAchei) and (x > ----- Original Message ----- From: BandaLemuel To: delphi-br@yahoogrupos.com.br Sent: Wednesday, November 28, 2007 9:23 AM Subject: [delphi-br] Array Lista Tem alguma forma de saber se existe um determinado valor em um array sem ter que passar por ele inteiro ??? posso usar assim for x := 0 to length ( array) - 1 do begin if array[x] = valor then result := True else result := False ; end Mas queria algo mais pratico.... vlw.. Wesley [As partes desta mensagem que não continham texto foram removidas] -------------------------- E-mail Seguro Vetorial.net Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, encaminhe para [EMAIL PROTECTED] Chave de Identificação: 54568,474d626d294911802914784 [As partes desta mensagem que não continham texto foram removidas] ---------------------------------------------------------- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.503 / Virus Database: 269.16.9/1155 - Release Date: 27/11/2007 20:30 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -------------------------- E-mail Seguro Vetorial.net Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, encaminhe para [EMAIL PROTECTED] Chave de Identificação: 54568,474df075170179425078721 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] __________________________________________________________ Conheça o Windows Live Spaces, a rede de relacionamentos conectada ao Messenger! http://spaces.live.com/signup.aspx -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos -------------------------- E-mail Seguro Vetorial.net Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, encaminhe para [EMAIL PROTECTED] Chave de Identificação: 54568,474ee18b426231525819870 [As partes desta mensagem que não continham texto foram removidas]