Algoritmos Computacionais
� UNIDADE 4
� Estruturas de Controle� Estrutura seqüencial� Estruturas de Seleção� Estruturas de Repetição� Transição de Português estruturado para uma Linguagem de Programação
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� SEQUÊNCIA
� Série, ou conjunto de ações, onde todas são executadas uma pós a outra e apenas uma vez.
� Conjunto de comandos que são executados numa seqüência linear, instrução por instrução, de cima para baixo.
� Representação:INICIO
A;B;...;N;
FIM
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� Exemplo:
� Escrever um algoritmo para ler as três notas de um aluno e imprimir a sua média aritmética.
PROGRAMA EXEMPLO1 ;INICIO
DECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;LEIA (NOTA1)LEIA (NOTA2)LEIA (NOTA3) ; MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3;ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);
FIM.
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� SELEÇÃO / DECISÃO
� Permite a escolha de um grupo de ações a serem executadas quando determinadas condições, representadas por expressões lógicas, forem ou não satisfeitas.
� Escolha entre caminhos alternativos, baseados no teste de condição.
� Tipos:� Seleção Simples� Seleção composta� Seleção encadeada� Seleção de múltipla escolha
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� SELEÇÃO SIMPLES:
� Exemplo: � Escrever um algoritmo para ler as três notas de um
aluno e imprimir a sua média aritmética. Se a nota for maior ou igual a 5 deve ser impressa também a mensagem de aluno aprovado.
SE <condição> ENTÃOA
FIM-SE;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:
PROGRAMA CALCULA_MEDIA ;INICIO
DECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;LEIA (NOTA1, NOTA2, NOTA3) ;
MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3 ;
ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);
SE MEDIA >= 5.O ENTÃOESCREVA ( 'ALUNO APROVADO'
)FIM-SE;
FIM
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� SELEÇÃO COMPOSTA:
� Exemplo 1: � Escrever um algoritmo para ler as três notas de um
aluno e imprimir a sua média aritmética. Se a nota for maior ou igual a 5 deve ser impresso “Aluno Aprovado” caso contrário “Reprovado”.
SE <condição> ENTÃOA
SENÃO B
FIM-SE;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO 1:
PROGRAMA CALCULA_MEDIA;INICIO
DECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;LEIA (NOTA1, NOTA2, NOTA3) ;
MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3 ;
ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);
SE MEDIA >= 5.O ENTÃOESCREVA ( 'ALUNO APROVADO'
);SENÃOESCREVA ( 'ALUNO REPROVADO' );FIM-SE;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO 2:
� Modificar o algoritmo anterior, calculando e imprimindo o número de pontos que o aluno excedeu a média (no caso dele ter sido aprovado) ou o número de pontos que ficaram faltando para a média (no caso dele ter sido reprovado).
� MEDIA = 5
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO 2:PROGRAMA CALCULA_MEDIA;
INICIODECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;
DIFER : REAL;LEIA (NOTA1, NOTA2, NOTA3) ;MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3 ;ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);SE MEDIA >= 5.0 ENTÃO
ESCREVA ( 'ALUNO APROVADO' );DIFER ���� MEDIA – 5.0; ESCREVA ( 'COM ', DIFER,' PONTOS
A MAIS'); SENÃO
ESCREVA ( 'ALUNO REPROVADO' );DIFER ���� 5.0 – MEDIA; ESCREVA( 'COM ', DIFER,' PONTOS
A MENOS'); FIM-SE;
Algoritmos Computacionais� ESTRUTURAS DE CONTROLE
� SELEÇÃO ENCADEADA:
� Exemplo: � Escrever um algoritmo para ler as três notas de um aluno
e imprimir a sua média aritmética. Se a nota for maior ou igual a 7 deve ser impressa a mensagem de aluno aprovado sem prova final. Se a média for maior que 5 deve ser impressa a mensagem de aluno em prova final. Se a média for menor que cinco deve ser impressa a mensagem de aluno reprovado.
SE <condição1> ENTÃOSE <condição2> ENTAO
A SENÃO
BFIM-SE
SENÃOC
FIM-SE;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:PROGRAMA CALCULA_MEDIA;
INICIODECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;
LEIA (NOTA1, NOTA2, NOTA3) ;MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3 ;ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);SE MEDIA < 5.O ENTÃO
ESCREVA( 'ALUNO REPROVADO' );SENÃO
SE MEDIA < 7.O ENTÃOESCREVA (´ALUNO EM
PROVA FINAL´);SENÃO
ESCREVA ( 'ALUNO APROVADO' );
FIM-SE;FIM-SE;
FIM
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� SELEÇÃO DE MÚLTIPLA ESCOLHA:
� Exemplo: � Escrever um algoritmo que lê um código contendo o
estado civil de uma pessoa, e imprima a descrição do estado civil, sabendo que: 1-solteiro, 2-casado, 3-viuvo, 4-divorciado.
ESCOLHA X CASO <condição> : A;CASO <concidadã> : B;...........CASO <condiciona> : C;CASO CONTRARIO : D;
FIM-ESCOLHA;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:
PROGRAMA INFORMA_ESTADO_CIVIL;INICIODECLARE EST_CIVIL : INTEIRO ;
ESCREVA ( ´DIGITE O CODIGO CIVIL - DE 1 A 4´) ;LEIA (EST_CIVIL) ;ESCOLHA EST_CIVIL
1 : ESCREVA (´SOLTEIRO´) ;2 : ESCREVA (´CASADO´) ;3 : ESCREVA (´VIUVO´) ;4 : ESCREVA (´DIVORCIADO´) ;CASO CONTRARIO:
ESCREVA (´CODIGO ERRADO’);FIM-ESCOLHA;
FIM
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO:
� Muitos algoritmos exigem a execução de certos blocos de comandos um número repetido de vezes. Para realizar esse tipo de execução é necessário usar estruturas de repetições.
� Tipos de Repetições:� REPETIÇÃO COM TESTE NO INÍCIO
� Repetição de acordo com uma condição testada no começo do bloco.
� REPETIÇÃO COM TESTE NO FINAL � Repetição de acordo com uma condição testada no fim do
bloco.
� REPETIÇÃO COM UM NÚMERO PRÉ-DEFINIDO DE VEZES
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO COM TESTE NO INÍCIO:
� Consiste numa estrutura de controle que permite executar diversas vezes um mesmo trecho do algoritmo, sempre verificando antes de cada execução se é permitido repetir o trecho.
� Fluxo:� A condição é testada antes de executar o bloco.� Enquanto a condição for verdadeira, o bloco de
comandos é executado.� Obs: permite a execução do bloco ZERO ou várias
vezes.
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO COM TESTE NO INÍCIO:
� Representação:
ENQUANTO <condição> FAÇAA
FIM-ENQUANTO;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:
� Escrever um algoritmo para calcular a média das notas de uma turma que tem 20 alunos.
PROGRAMA CALCULA_MEDIA;INICIODECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL;
CONT : INTEIRO ;CONT � 0 ;
ENQUANTO CONT < 20 FAÇALEIA (NOTA1, NOTA2, NOTA3) ;
MEDIA � ( NOTA1 + NOTA2 + NOTA3 ) / 3 ;
ESCREVA ( 'A MEDIA DO ALUNO É: ' , MEDIA);
CONT � CONT + 1 ;FIM-ENQUANTO ;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO COM TESTE NO FINAL:
� Consiste numa estrutura de controle que permite executar diversas vezes um mesmo trecho do algoritmo, sempre verificando após cada execução do trecho se é permitido ou não a sua repetição.
� Fluxo:� Executa o bloco de comandos� A condição é testada depois de executar o bloco.� Enquanto a condição for falsa, o bloco de comandos é
executado.� Interrompe a execução do bloco de comandos quando a
condição se tornou verdadeira� Obs: permite a execução do bloco UMA ou várias vezes.
� (o bloco é executado pelo menos uma vez)
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO COM TESTE NO FINAL:
� Representação:
REPITA comandos
ATÉ <condição>;
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:
� Escrever um algoritmo para calcular a média das notas de uma turma que tem 20 alunos.
PROGRAMA CALCULA_MEDIA;INICIODECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;
CONT : INTEIRO ;CONT � 0 ;REPITA
LEIA (NOTA1, NOTA2, NOTA3) ;MEDIA � ( NOTA1 + NOTA2 + NOTA3 )
/ 3 ;ESCREVA ( 'A MEDIA DO ALUNO É: ' ,
MEDIA);CONT � CONT + 1 ;
ATÉ CONT = 20 ;FIM
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� REPETIÇÃO COM UM NÚMERO PRÉ-DEFINIDO DE
VEZES:� Consiste na repetição de um trecho do algoritmo um
número pré-definido de vezes, com a definição de limites fixos.
� Fluxo:� Executa o bloco de comandos
� (valor final – valor inicial) +1 vezes
� Incrementa a variável de controle automaticamente� Representação:
PARA V de vi até vf passo P faça<comando>
FIM-PARA
Algoritmos Computacionais
� ESTRUTURAS DE CONTROLE� EXEMPLO:
� Escrever um algoritmo para calcular a média das notas de uma turma que tem 20 alunos.
PROGRAMA CALCULA_MEDIA;INICIODECLARE NOTA1, NOTA2, NOTA3, MEDIA : REAL ;
CONT : INTEIRO ;PARA CONT DE 1 ATE 20 PASSO 1 FAÇA
LEIA (NOTA1, NOTA2, NOTA3) ;MEDIA � ( NOTA1 + NOTA2 +
NOTA3 ) / 3 ;ESCREVA ( 'A MEDIA DO ALUNO
É: ' , MEDIA);FIM-PARA;
FIM