terça-feira, 11 de maio de 2010

Estruturas Lógicas 2*

Estruturas de Repetição
Esse tipo de estrutura é utilizado quando precisamos realizar comandos várias vezes. No Pascal encontramos três estruturas de repetição, FOR, WHILE e Repeat Until.


Estrutura FOR - essa estrutura irá executar os comandos enquanto a condição for Verdadeira (true).
Sintaxe: For var:=inicio To fim Do (assim como a estrutura If usará Begin e End se for mais de uma linha de comando)

Estruturas Lógicas


Estruturas de decisão

A linguagem Pascal assim com outras linguagens possui estruturas quee executam, ou não blocos de comandos de acordo com a estrutura do programa. A linguagem Pascal têm dois tipos de estruturas de decisão: IF e Case. Porém teremos como objetivo compreender a estrutura IF (se).
Estritura IF Essa estrutura de decisão tem a função de avaliar uma ou mais expressões, e executar determinados blocos de comandos se a "resposta" receber valor de verdadeira (true) ou opcionalmente falsa (false).

Exemplo Soma de notas

Program Inclusao_prof;
var
media, n1,n2,n3:real;
nome: string;
opc:integer;
  
Begin
textbackground(green) ;
clrscr;
gotoxy(10,10);  
textcolor( blue );
writeln('Nome do Aluno');

readln(nome);

writeln ('Media 1');

readln(n1);

writeln('Media 2');

readln(n2);
writeln('Media 3');

readln(n3);

media:=(n1+n2+n3) /3;
writeln('media=',media,3:3);
 IF media >= 7 then 
 Begin
 writeln('  ');
 write('Parabéns ',nome ,' você foi aprovado!');
 end
 ELSE
 Begin
 writeln('  ');
 write(nome ,' Estudar mais, fara a recuperação! ');
 writeln('  ');

 end;
 end.

Exemplo de Juros

Program juros;
var
C,Mn,temp,temp2,I:integer;
N, Contador:integer;
Begin
writeln('Digite quanto em dinheiro irá guarda ');
readln(c);
writeln('Digite taxa');
readln(i);
writeln('Digite quantos Tri ');
readln(n);
temp:= 1 + I;
temp2:= temp;
writeln('tabela');
Mn := c * temp2;
writeln(' No tri 1 voce lucrou R$ ',Mn);

for contador := 2 to N  Do
begin

temp := temp2 * temp;
Mn := c *temp2;
writeln('No tri',contador, 'voce lucrou R$ ',Mn);
end;
writeln('fim');
End.

Exemplo com while

Program certidao;
 var
 nome,dia,hospital, cidade, pai,mae ,testemunhas :string;
 opc:integer;  
 begin  
   writeln('Digite 1 pra fazer CADASTRO ,2 para sair');readln(opc);
   While(opc=1) Do
   Begin
   writeln('                                    ');
   writeln('                                    ');
   writeln('               Certidão de Narcimento              ');
   writeln('                                    ');
   writeln('Digite seu nome:');read(nome);
   writeln('Narcido no dia: '); readln(Dia);
   writeln('Narcido no Hospital:');readln(hospital);
   writeln('Na cidade de:');readln(cidade);
   writeln('Filho de: Dona ');readln(mae);
   writeln('Senhor ');readln(pai);
   writeln(' Foram testemunhas: '); readln(testemunhas);
   writeln('  ');
   writeln('  ');
                                         writeln('                     CERTIDÃO DE NARCIMENTO ');
                                 writeln('                             N-12.635        ');
   writeln('  ');
   writeln('  ');
   writeln('Eu, Roberto do Santos viera, Oficial de Registro Civil, em virtude da Lei, ect.');
   writeln('Certifico do Registro de Narcimento, foi feito o assento de ',nome , '.' );
   writeln('Narcido no dia ',dia ,'.');
   writeln('No Hospital ',hospital, ',' );
   writeln('em ',cidade,',');
   writeln('Filho de ' ,pai, ' e '); 
   writeln(' dona ',mae ,',');
   writeln('foram testemunhas: ' ,testemunhas, '.');
  
  
  
   writeln('  ');
   writeln('                        O referido é verdade e dou fé               ');
   writeln('                        Sanharó,   de             de       .        ');
  
   writeln('  ');
   writeln('  ');
  
  
   writeln('                         Oficial                                     ');
  
   // aki é a opção para novos cadastros
   writeln('                                    ');
   writeln('                                    ');
   writeln('                                    ');
   writeln('                                    ');
   writeln('                                    ');
   writeln('                                    ');
   writeln(' Digite 1 para NOVO CADASTRO , 2 sair ');read(opc);
   If (opc=2) Then
   Begin
   writeln('                                    ');
 
   writeln('                  Obrigado pelo uso de mosso software');
   writeln('                      agradecimentos -  Adson Renato -                 ');
  End;

  
 end;
 End.

Exemplo para iniciante

Program Atorizacao para dirigir;
var
num:integer;
 Begin
 writeln('digite a idade');readln(num);
 IF num >= 18 then
 Begin
 write('P');
 end
 ELSE
 Begin
 write('Não pode dirigir');
 end;
 End.

Exemplo N em Algarismo romanos

Program algarismosdojuju;
uses crt;
var N,R,Q : integer;


begin
     clrscr;
     textbackground(Blue);
     textcolor(lightgray);
     clrscr;
     write('Entre com o valor de N: ');
     readln(N);
     write('O valor em Algarismos Romanos ‚ : ');
     Q:= N div 1000;
     R:= N mod 1000;
          case Q of
          1:write('M');
          2:write('MM');
          3:write('MMM');
          end;

     N:= R;
     Q:= N div 100;
     R:= N mod 100;

          case Q of
          1:write('C');
          2:write('CC');
          3:write('CCC');
          4:write('CD');
          5:write('D');
          6:write('DC');
          7:write('DCC');
          8:write('DCCC');
          9:write('CM');
          end;

     N:=R;
     Q:= N div 10;
     R:= N mod 10;

          case Q of
          1:write('X');
          2:write('XX');
          3:write('XXX');
          4:write('XL');
          5:write('L');
          6:write('LX');
          7:write('LXX');
          8:write('LXXX');
          9:write('XC');
          end;
     N:=R;


          case R of
          1:write('I');
          2:write('II');
          3:write('III');
          4:write('IV');
          5:write('V');
          6:write('VI');
          7:write('VII');
          8:write('VIII');
          9:write('IX');
          end;
          textcolor(lightgreen+blink);
          gotoxy(50,24);
          write('Para sair digite algo... ');
          readkey;
end.