Buscar

Aula 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
ALGOP – Algoritmos e Programação 
Aula 3 – Estruturas de Controle (Decisões ou Seleções)
+ Estruturas de controle
+ Estrutura de decisão (seleção) simples 
+ Estrutura de decisão (seleção) composta 
+ Estruturas de decisão (seleção) aninhadas
+ Estrutura de múltipla escolha
+ Expressões Lógicas
2
ALGOP – Algoritmos e Programação 
Estruturas de Controle
Grande parte das linguagens de programação contam com três tipos de 
estruturas de controle:
Estruturas de Sequência: tipos de estrutura em que as instruções são 
executadas sequencialmente (linearmente), ou seja, uma instrução após a 
outra, sem nenhuma avaliação condicional.
Estruturas Condicionais: tipos de estrutura que avaliam uma condição 
para determinar se um ou mais instruções serão executadas ou não. Tais 
estruturas desviam o fluxo do programa para partes diferentes, 
dependendo se a condição resultar em verdadeira ou falsa.
Estruturas de Repetição: tipos de estrutura que repetem um bloco de 
instruções enquanto uma condição estiver resultando em verdadeira.
3
ALGOP – Algoritmos e Programação 
Estruturas de Controle (Estruturas Condicionais)
As Estruturas Condicionais são utilizadas quando precisamos decidir 
ou selecionar que instruções serão executadas, ou como um grupo de 
dados será trabalhado para gerar informação ao usuário. Diariamente, 
decidimos sobre nossas ações... por exemplo:
 
 se não chover então se chover então 
 vamos ao cinema ficamos em casa
 se chover e ventar então se chover ou ventar então
 ficamos em casa ficamos em casa
Num algoritmo, para cálculo da média de um aluno, podemos nos deparar 
com algo do tipo: 
 se MediaAluno > 6 então
 esse aluno foi aprovado
4
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Simples
Permite que o programa tome uma decisão de acordo com o resultado da 
expressão lógica a ser avaliada. Se a expressão resultar em verdadeira, a 
instrução interna à estrutura de seleção é executada.
 
 se (expressão lógica) então if (expressão lógica)
 instrução 1 instrução 1;
 fim se 
 ou ou
 
 se (expressão lógica) então if (expressão lógica)
 instrução 1 {
 instrução 2 instrução 1;
 fim se instrução 2;
 }
Blocos com mais de uma instrução precisam dos delimitadores {} … :-)
5
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Simples (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
   float nota;
   
   printf ("\n Digite a nota final: ");
   scanf ("%f", &nota);
   
   if (nota >= 60)
      printf ("\n Aluno Aprovado. ");
   
   getch();
   return 0;   
}
6
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Composta
Permite que o programa execute uma ou mais instruções se a expressão 
lógica analisada resultar em verdadeira, ou execute outras instruções 
(uma ou mais) se a expressão lógica resultar em falsa.
 
 se (expressão lógica) então if (expressão lógica)
 instrução 1 instrução 1;
 senão else
 instrução 2 {
 instrução 3 instrução 2;
 fim se instrução 3;
 }
Blocos com mais de uma instrução precisam dos delimitadores {} … :-) 
Se o bloco for composto por uma instrução, podemos ou não usar os 
delimitadores... se usarmos sempre, não precisamos nos preocupar... :-)
7
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Composta (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
   float nota;
   
   printf ("\n Digite a nota final: ");
   scanf ("%f", &nota);
   
   if (nota >= 60)
      printf ("\n Aluno Aprovado. ");
   else
   {
      printf ("\n Aluno em exame. ");
      printf ("\n Verifique a data. ");
   }
   
   getch(); return 0;   
}
8
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Aninhada (Encadeada) 
Permite que o programa execute uma ou mais instruções a partir da 
análise de várias expressões lógicas organizadas em castata (encadeadas). 
Nesse tipo de construção, apenas um bloco de instruções será executado.
 
 se (expressão lógica) então if (expressão lógica)
 instrução 1 instrução 1;
 senão se (expressão lógica) então else if (expressão lógica)
 instrução 2 instrução 2;
 senão se (expressão lógica) então else if (expressão lógica) 
 instrução 3 instrução 3;
 senão else
 instrução 4 instrução 4;
 fim se 
 
Podemos utilizar o recuo (indentação) de forma diferente, de maneira a 
parecer que as sentenças estão aninhadas (uma dentro da outra)... :-)
9
ALGOP – Algoritmos e Programação 
Estrutura de Decisão (Seleção) Aninhada (Encadeada) - exemplo
#include <stdio.h>
#include <conio.h>
int main()
{
   float nota;
   
   printf ("\n Digite a nota final: ");
   scanf ("%f", &nota);
   
   if (nota >= 90)
      printf ("\n Conceito A. ");
   else if (nota >= 75)
      printf ("\n Conceito B. ");
   else if (nota >= 60)
      printf ("\n Conceito C. ");
   else
      printf ("\n Reprovado. ");
   
   getch(); return 0;   
}
10
ALGOP – Algoritmos e Programação 
Estrutura de Múltipla Escolha
Permite que o programa execute um bloco de instruções a partir da 
análise de uma expressão de controle ou do valor de uma variável.
 
 
 escolha (expressão de controle) switch (expressão de controle)
 caso valor1 : {
 instrução 1 case valor1 : instrução 1; 
 caso valor2 : break;
 instrução 2 case valor2 : instrução 2;
 caso valor3 : break; 
 instrução 3 case valor3 : instrução 3;
 outro caso : break;
 instrução 4 default : instrução 4;
 fim escolha } 
11
ALGOP – Algoritmos e Programação 
Estrutura de Múltipla Escolha (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
   char conceito;
   
   printf ("\n Digite o conceito: "); scanf ("%c", &conceito);
   
   switch (conceito)
   {
      case 'A' : printf ("\n Aluno ganhou bolsa de 50%% ");
                 break;
      case 'B' : printf ("\n Aluno ganhou bolsa de 30%% ");
                 break;
      case 'C' : printf ("\n Aluno ganhou bolsa de 10%% ");
                 break;
      default  : printf ("\n Aluno sem desconto.");       
   }
   
   getch(); return 0;   
}
12
ALGOP – Algoritmos e Programação 
Expressões Lógicas
As estruturas de decisão (seleção), se apoiam em expressões lógicas, para 
realizar o desvio do fluxo do programa.
 
   if (expressão lógica)
   {
      instrução1;
   }
   else
   {
      instrução2;
   }
Expressões lógicas são aquelas cujos operadores são lógicos ou relacionais 
e cujos operandos são relações ou variáveis/constantes do tipo lógico. Por 
exemplo: 
   if ( X > 5 ) { // instruções } else { // instruções }
13
ALGOP – Algoritmos e Programação 
Expressões Lógicas (Operadores Relacionais)
Os operadores relacionais são aqueles utilizados para realizar comparações 
entre dois valores de um mesmo tipo primitivo.
O resultado obtido de uma relação é sempre um valor lógico (true ou false)
operador pseudo Lg C/C++ descrição exemplo
= = == Igual a (2+X) == 20
> > > Maior que Idade > 18
< < < Menor que Nota < 30
≥ >= >= Maior ou igual a Prazo >= 10
≤ <= <= Menor ou igual a Idade <= 60
≠ <> != Diferente de Resposta != 's'
14
ALGOP – Algoritmos e Programação 
Expressões Lógicas (Operadores Lógicos)
Os operadores lógicos são operadores básicos para a formação de novas 
proposições lógicas compostas a partir de outras proposições lógicas 
simples.
Em expressões envolvendo essas operações resolvemos primeiro as de 
negação, seguido das de conjunção, seguido das de disjunção.
operador pseudo Lg C/C++ função
não não ! negação
e e && conjunção
ou ou || disjunção
15
ALGOP – Algoritmos e Programação 
Expressões Lógicas (Tabelas Verdade)
As tabelas verdade fornecem o conjunto de todas as combinações entre os 
valores de diversas variáveis lógicas (as quais se encontram em apenas 2 
situações (V ou F)) e um conjunto de operadores lógicos. 
Negação Conjunção Disjunção (não exclusiva)
X Y X e Y
F F F
F V F
V F F
V V V
X Y X ou Y
F F F
F V V
V F V
V V V
X não X
F V
V F
16
ALGOP – Algoritmos e Programação 
Expressões Mistas (precedência entre todos os operadores)
Quanto estivermos trabalhando com uma expressão contendo elementos 
aritméticos, relacionais e lógicos (misturados), obedecemos a seguinte 
ordem de prioridade:
1) resolvemos o conteúdo de parênteses mais internos;
2) resolvemos os trechos com operadores aritméticos;
3) resolvemos os trechos com operadores relacionais;
4) finalizamos resolvendo os trechos com operadores lógicos.
Essa convenção de precedência não é comum a todas as linguagens de 
programação, mas adotamos assim por ser a convenção mais didática.
17
ALGOP – Algoritmos e Programação 
Estruturas de Controle (Teste de Mesa)
Após desenvolvermos um algoritmo, ele sempre deverá ser testado. Esse 
teste é chamado de Teste de Mesa, e consiste em seguir as instruções do 
algoritmo de maneira precisa, armazenado os possíveis valores das 
variáveis para verificar se o procedimento utilizado está correto ou não.
Nesse processo é feita uma simulação do algoritmo, preenchendo uma 
tabela com valores para as variáveis e constantes, seguindo o fluxo de 
execução do algoritmo. A cada instrução devemos verificar se os valores 
das variáveis foram alterados e atualizar a tabela usada no teste.
Ao final do teste podemos nos deparar com as seguintes situações:
+ o resultado esperado foi alcançado
+ foram detectados defeitos (erros) nas instruções
+ foram detectados erros no fluxo de execução, nas estruturas de controle...
18
ALGOP – Algoritmos e Programação 
Estruturas de Controle (sugestões de leitura)
+ ARAÚJO, Everton C. Algoritmos: fundamento e prática.
 Capítulo: 10 - Pseudocódigos – Estrutura Condicional.
+ MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo.
 Algoritmos: lógica para desenvolvimento de programação de computadores.
 Capítulo: 4 - Estruturas de Controle – A Tomada de Decisão.
 
Para Saber Mais
+ SALIBA, Walter Luís Caram. Técnicas de programação: uma
 abordagem estruturada.
 Capítulo: 7 - Controle do Fluxo de Execução.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18

Outros materiais