Escolar Documentos
Profissional Documentos
Cultura Documentos
Antunes
Exemplo. Sendo dados : Var item: integer; sada: boolean; soma, Valor: real; caractere: char; cadeia: string so vlidos os seguintes comandos de atribuio: item:= 0 ; saida:= FALSE ; soma:= valor1 + valor2 ; caracter:= 'a' ; cadeia:= 'Isso uma cadeia de caracteres' ; soma:= 9 ; cadeia:= 'a' ; Comandos compostos Alm de marcar o incio e o fim da seo de comandos, o par begin e end define um par de instrues usado para combinar um conjunto de comandos em um comando composto, tambm chamado de bloco de comandos. Exemplo if first < last then begin Temp := First; First := Last; Last := Temp; end; Comandos de repetio Os comandos de repetio permitem que seja repetida a execuo de um conjunto de comandos. Os comandos de repetio definidos pelo compilador so os seguintes: Repeat
O comando repeat executa repetidamente uma sequncia de comandos at que uma dada condio, resultantes da avaliao de uma expresso booleana, seja verdadeira. Sintaxe
Comando While O comando while se assemelha ao comando repeat, com a diferena de que a condio para a execuo repetida de comandos avaliada antes da execuo de qualquer comando interno da repetio. Dessa forma, se a condio inicial para o while for falsa, a sequncia de comandos definidos para o while no ser executada nenhuma vez. Sintaxe while expresso do comando onde expresso uma expresso lgica e comando pode ser um comando composto. Exemplo. while dado[ i ] <> x do i := i + 1; Comando For O comando for, diferentemente dos comandos de repetio repeat e while, permite que uma sequncia de comandos seja executada um nmero definido de vezes. Sintaxe
Funcionamento O comando associa o valor da expresso definida por ValorInicial varivel contador, executando ento a sequncia de comandos dada por comandos repetidamente, enquanto contador armazenar um valor maior (for..to) ou menor (for...downto) que ValorFinal. Aps cada iterao o valor armazenado em contador incrementando ou decrementando (o for...to incrementa contador, e for ... downto decrementa). Quando contador for maior (for...to) ou menor (for...downto) a repetio de comandos termina. Exemplo For i:= 2 to 63 do if data[ i ] > max then max := data[ i ] ; Exemplo For c:= a to z do write( c ); Os comandos de desvio que podem ser utilizados nestes comandos so: Break Continue Comando Break
1.2.1.
Usado para forar a sada de uma estrutura de repetio (while, for, repeat). Sintaxe break ; Onde: - O comando deve estar dentro do corpo de uma estrutura de repetio. - O prximo comando a ser executado aps o break o comando que segue a estrutura de repetio. Exemplo Program Teste; var contador: integer; begin contador := 1; { Repetio que executada 5 vezes } while ( true ) do begin writeln( 'Contador vale:' , contador ); contador := contador + 1; if( contador > 5 ) then break else continue; end ; { Impresso de uma mensagem aps sair da repetio } writeln( 'Agora estou fora do while!' ); end.
1.2.2.
Comando Continue
Usado para desviar a execuo dos comandos de uma estrutura de repetio ( while, for, repeat) para a avaliao da condio de loop. Sintaxe continue; Onde: - O comando deve estar dentro do corpo de uma estrutura de repetio. - Aps a execuo do comando a repetio pode parar (se a condio de loop assim indicar) ou prosseguir com a execuo do primeiro comando da repetio. Exemplo Program teste; var contador: integer; begin contador := 1; { Repetio que executada 5 vezes } while ( true ) do begin writeln( 'Contador vale:' , contador ); contador := contador + 1; if( contador > 5 ) then break else continue; end ; { Impresso de uma mensagem aps sair da repetio } writeln( 'Agora estou fora do while!' ); end. Comandos condicionais Permitem restringir a execuo de comandos. O compilador reconhece os seguintes comandos condicionais: if..then if...then...else. case. case...else....
Essa seo descreve os dois primeiros comandos. Os outros dois comandos so descritos no tpico referente ao comando case. A sintaxe de um comando if...then : if expresso then comando onde expresso uma expresso condicional e comando um comando simples ou um bloco de comandos. O comando funciona da seguinte forma: se expresso for TRUE, ento comando executado; caso contrrio comando no executado. Exemplo
if j <> 0 then result := I/J; A sintaxe de um comando if...then...else : if expresso then comando1 else comando2 onde expresso uma expresso condicional, comando1 e comando2 um comando simples ou um bloco de comandos. O comando funciona da seguinte forma: se expresso for TRUE, ento comando1 executado; caso contrrio, comando2 executado. Exemplo if j = 0 then write( j ) else write( m ); Em uma srie de comandos if aninhados a clusula else est ligada ao if mais prximo no aninhamento. Uma sequncia de comandos como: if expresso1 then if expresso2 then comando1 else comando2; reconhecido pelo compilador da seguinte forma: if expresso1 then [ if expresso2 then comando1 else comando2 ]; Pode-se utilizar tambm, no lugar de vrios ifs aninhados, um comando case. Comando Case Possibilita a escolha de um conjunto de comandos que sero executados, dentre vrias alternativas de escolha. Sintaxe case < selector > of < lista de constantes > : < comandos > ; < lista de constantes > : < comandos > ; ... < lista de constantes > : < comandos > ; else < comandos > ; end ; Onde: < seletor > uma expresso do tipo integer ou char ; < lista de constantes > uma sequncia de constantes do tipo integer ou char, separadas por vrgula (ao invs de uma constante possvel usar um intervalo de constantes, que consiste em duas constantes separadas por um par de pontos) A clusula else no obrigatria, e os comandos associados a essa clusula sero executados somente se nenhuma outra opo do case foi selecionada; Exemplo Program Teste ; Var opcao : integer ;
Begin write ( 'Entre com uma opo: ' ); readln ( opcao ); // escolha da opo case opcao of 1 : writeln( 'Voc escolheu a opo 1...' ); 2 : writeln( 'Voc escolheu a opo 2...' ); 3 : writeln( 'Voc escolheu a opo 3...' ); else writeln( 'Voc escolheu uma opo diferente de 1, 2, 3...' ); end ; End.