Estruturas de Controle de Fluxo

Documentos relacionados
Aplicaremos a técnica do teste de mesa sobre o algoritmo abaixo, o qual visa determinar o número de vértices de uma figura geométrica.

Estruturas de Controle de Fluxo

algoritmo "exercício 13" var op1, op2: real operador: caractere inicio escreva ("Entre com o primeiro operando: ") leia (op1) escreva ("Entre com o

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo

Algoritmos e Programação

Algoritmos e Programação

Estruturas de Controle de Fluxo

Prof. Jorge Cavalcanti

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Algoritmos e Lógica de Programação (Aula Prática - 09/05/16)

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

PROGRAMADOR JAVA. Aula 0X31 Semanas - 0b Instrutor : Léo Billi

Introdução a Algoritmos Parte 04

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA DIAGNÓSTICO 22/10/2015. Analise o algoritmo a seguir e depois assinale a alternativa correspondente:

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

n1, /,n2, =,res n1, n2, res: real res <- n1 / n2 Digite o Dividendo: n2<>0 Digite o Divisor: verdadeiro falso

Algoritmos e Programação

Estruturas de Decisão

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Estrutura de Condição, Escolha e Repetição

ET51D - INFORMÁTICA. Algoritmos - Estruturas de Decisão. Professor: Glauber G. O. Brante.

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Estruturas de Decisão

COMANDOS DE REPETIÇÃO (ENQUANTO, REPITA E PARA)

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

algoritmo "exercício 28" var opcao, n1, n2: inteiro funcao seleciona_opcao():inteiro var o:caractere inicio repita escreva ("Efetue uma multiplicação

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

ET51D - INFORMÁTICA. Algoritmos - Estruturas de Decisão. Prof. Glauber G. O. Brante e Profa. Mariana Furucho

Fluxograma. Símbolo Nome Descrição

algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

Estruturas de controle: Estrutura de DECISÃO

Aula 16 Estruturas de Controle. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Estruturas de Controle de Fluxo

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Pseudocódigo Exercício 6

Fluxograma. Símbolo Nome Descrição

CONTROLE DE FLUXO DE EXECUÇÃO

Funções de Entrada e Saída Formatada Constantes de barra invertida

Algoritmos I Aula 8 Estrutura de controle: seleção

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 26/10/2015

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Pseudocódigo Exercício 6

Algoritmos e Programação I

Programação Estruturada

Conceitos básicos de algoritmos

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Então, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte:

Amanda Gondim de Oliveira

Recursividade Alguns problemas são definidos com base nos mesmos, ou seja, podem ser descritos por instâncias do próprio problema.

Aula 5 Controle do Fluxo de Execução

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos I Aula 10 Estrutura de controle: repetição

E X E R C Í C I O S 01. Sobre o comando CASO, marque as alternativas como verdadeira (V) ou falsa (F):

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Processamento Sequencial e Condicional

COMANDOS DE REPETIÇÃO (ENQUANTO)

ESTRUTURAS DE REPETIÇÃO

Prof. Jorge Cavalcanti

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

LÓGICA DE PROGRAMAÇÃO. Estrutura de Repetição Determinada e Indeterminada. Sérgio Carlos Portari Júnior

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Fundamentos de Programação 1

Estruturas de Seleção Seleção Simples e Composta (parte 1)

LINGUAGEM DE PROGRAMAÇÃO

Fundamentos da programação de computadores.

Programação II. Victor Amorim dos Santos

Programação Estruturada Aula VisualG

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

algoritmo "exercício vetor" var vet:vetor [1..12] de inteiro i:inteiro inicio para i de 1 ate 12 faca escreva ("Entre com vetor[",i,"]: ") leia

Portugol. Tiago Alves de Oliveira

Programação Procedimental

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Estruturas de Repetição. João Medeiros FATERN

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

ALGORITMOS AULA 2. Profª Amanda Gondim

PROGRAMADOR JAVA. Aula 0X32 Semanas - 0b Instrutor : Léo Billi

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Estrutura Condicional

Algoritmos e estrutura de dados I. Profa. Lara Popov Z. B. Oberderfer

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Programação de Computadores:

Noções de algoritmos - Aula 1

Estruturas de Decisão e Estruturas de Repetição

Algoritmos - 3. Alexandre Diehl. Departamento de Física - UFPel

Transcrição:

2. Comando de Seleção Múltipla Em algumas situações ao chegarmos a uma determinada instrução de um algoritmo devemos selecionar um dentre alguns trechos a seguir, tendo como base para esta escolha um conjunto de valores. Trecho 1 Trecho 2 Trecho 3 80 Para lidar com casos deste tipo foi criado o comando de seleção múltipla.

2. Comando de Seleção Múltipla (continuação) 81... Possuindo a sintaxe: escolha (<variável>) caso <valor11>, <valor12>,..., <valor1n> <seqüência-de-comandos-1> caso <valor21>, <valor22>,..., <valor2m>... <seqüência-de-comandos-2> outrocaso <seqüência-de-comandos-extra> fimescolha...

2. Comando de Seleção Múltipla (continuação) Exemplo: O pseudocódigo a seguir informa com base no nome de um time fornecido, se este trata-se de um time carioca, paulista ou de outro estado. 82

algoritmo " Exemplo Seleção Múltipla" var time: caractere inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha (time) caso "Flamengo", "Fluminense", "Vasco", "Botafogo" escreva ("É um time carioca.") caso "São Paulo", "Palmeiras", "Santos", "Corinthians" escreva ("É um time paulista.") outrocaso escreva ("É de outro estado.") fimescolha fimalgoritmo 83 Estruturas de Controle de Fluxo

2. Comando de Seleção Múltipla Exercício: Construa um algoritmo que receba dois números reais e um dos seguintes símbolos: +, -, * ou /, o qual designará qual operação será aplicada considerando os valores recebidos como seus operandos. O referido algoritmo deve retornar o resultado da operação selecionada com uma precisão de dois dígitos. 84

algoritmo "exercício" var op1, op2: real operador: caractere inicio escreva ("Entre com o primeiro operando: ") leia (op1) escreva ("Entre com o segundo operando: ") leia (op2) escreva ("Entre com um dos operadores (+, -, *, /): ") leia (operador) escolha (operador) caso "+" escreva (op1," ",operador,op2," =",op1+op2:10:2) caso "-" escreva (op1," ",operador,op2," =",op1-op2:10:2) 85

caso "*" escreva (op1," ",operador,op2," =", op1*op2:10:2) caso "/" se (op2<>0) entao escreva (op1," ",operador,op2," =") escreval (op1/op2:10:2) senao escreva ("Não é possível efetuar a divisão!") fimse outrocaso escreva ("Operação inválida! ") fimescolha fimalgoritmo 86

87 Estruturas de Controle de Fluxo Em certos algoritmos percebemos que a execução de determinados trechos se faz necessária algumas vezes. Um exemplo que nós já tratamos é o caso do cálculo da média aritmética entre alguns valores. Vimos que a operação de leitura é repetida de acordo com o número de valores que serviram de base para o cálculo da média. Outra forma de verificar a necessidade de repetição de um determinado trecho do algoritmo é imaginar que ao invés de se desejar apenas obter uma média, o objetivo fosse obter um conjunto de médias. Para o cálculo de cada uma das médias o mesmo conjunto de operações seria executado. Este fato gerou a criação das estruturas de repetição as quais veremos a seguir.

88 Estruturas de Controle de Fluxo 3. Estrutura ou laço de repetição enquanto Sintaxe:... enquanto (<expressão-lógica>) faca <seqüência-de-comandos> fimenquanto... Obs.: As instruções contidas no enquanto serão executadas durante o tempo em que o resultado da avaliação da expressão lógica resultar verdadeiro. O fato da avaliação da expressão lógica encontrar-se no início do laço faz com que a seqüência de comandos só venha a ser executada se ao menos uma vez a avaliação da expressão resultar em verdadeiro.

3. Estrutura ou laço de repetição enquanto (continuação) Exemplo: O pseudocódigo e os fluxogramas a seguir escrevem na saída padrão os números inteiros contidos no intervalo [1, 10]. 89

algoritmo "exemplo 1 laço enquanto" var valor: inteiro inicio valor <- 1 enquanto (valor <= 10) faca escreval (valor) valor <- valor+1 fimenquanto fimalgoritmo 90

Inicio Inicio valor: inteiro valor: inteiro Valor <- 1 Valor <- 10 valor<=10 falso Fim Valor>0 falso Fim verdadeiro verdadeiro valor, Valor <- valor-1 Valor <- valor+1 10-valor, 91

2. Estrutura ou laço de repetição enquanto (continuação) Exemplo: Dada uma reta ax+by+c=0 e cinco pontos, faça um algoritmo para calcular, para cada ponto, o seguinte: se o ponto estiver no primeiro quadrante calcule e informe a distância do ponto a reta caso contrário escreva uma mensagem informando que o ponto não pertence ao primeiro quadrante. 92

algoritmo "exemplo laço enquanto " var a,b,c,x,y: real contador: inteiro inicio contador <- 1 escreval ("Equação da reta: ax+by+c=0") escreva ("Coeficiente a da reta = ") leia (a) escreva ("Coeficiente b da reta = ") leia (b) escreva ("Coeficiente c da reta = ") leia (c) 93

94 enquanto (contador<=5) faca escreval ("Coordenadas do ponto ",contador," :") escreva ("Coordenada x do ponto = ") leia (x) escreva ("Coordenada y do ponto = ") leia (y) se (x>=0) e (y>=0) entao escreval ("A distância do ponto ",contador, " a reta é: ",((a*x+b*y+c)^2)^0.5/(((a^2)+(b^2))^0.5)) senao escreval ("O ponto não está no primeiro quadrante! ") fimse contador <- contador + 1 fimenquanto fimalgoritmo

95 Estruturas de Controle de Fluxo 3. Estrutura ou laço de repetição repita Sintaxe:... repita <seqüência-de-comandos> ate (<expressão-lógica>)... Obs.: As instruções contidas no repita serão executadas enquanto o resultado da avaliação da expressão lógica resultar em falso. O fato da avaliação da expressão lógica encontrar-se no final do laço faz com que, mesmo no caso da expressão lógica nunca resultar em falso, a seqüência de comandos seja executada ao menos uma vez.

3. Estrutura ou laço de repetição repita (continuação) Exemplo: O pseudocódigo e os fluxogramas a seguir escrevem na saída padrão os números inteiros contidos no intervalo [1, 10]. 96

algoritmo "exemplo" var valor: inteiro inicio valor <- 0 repita valor <- valor+1 escreval (valor) ate (valor = 10) fimalgoritmo 97

Inicio valor: inteiro Inicio valor: inteiro Valor <- 0 Valor <- 9 Valor <- valor+1 10-valor, valor, Valor <- valor-1 falso valor=10 verdadeiro Fim falso Valor=-1 verdadeiro Fim 98

3. Estrutura ou laço de repetição repita (continuação) Exemplo: Dada uma reta ax+by+c=0 e cinco pontos, faça um algoritmo para calcular, para cada ponto, o seguinte: se o ponto estiver no primeiro quadrante calcule e informe a distância do ponto a reta caso contrário escreva uma mensagem informando que o ponto não pertence ao primeiro quadrante. 99

algoritmo "exemplo" var a,b,c,x,y: real contador: inteiro inicio contador <- 1 escreval ("Equação da reta: ax+by+c=0") escreva ("Coeficiente a da reta = ") leia (a) escreva ("Coeficiente b da reta = ") leia (b) escreva ("Coeficiente c da reta = ") leia (c) 100

101 repita escreval ("Coordenadas do ponto ",contador," :") escreva ("Coordenada x do ponto = ") leia (x) escreva ("Coordenada y do ponto = ") leia (y) se ((x>=0) e (y>=0)) entao escreval ("A distância do ponto ",contador, " a reta é: ", ((a*x+b*y+c)^2)^0.5/(((a^2)+(b^2))^0.5)) senao escreval ("O ponto ",contador," não está no primeiro quadrante! ") fimse contador <- contador + 1 ate (contador>5) fimalgoritmo

3. Estrutura ou laço de repetição Exercício: Faça um algoritmo que recebe números naturais fornecidos pelo usuário, quando o usuário quiser parar a execução do algoritmo, o mesmo fornecerá um numero negativo. O algoritmo deve retornar, ao final de seu processamento, a quantidade de números naturais fornecida pelo usuário. Fazer dois algoritmos utilizando em cada um, uma das estruturas de repetição vistas. Os algoritmos desenvolvidos devem ser representados através de um pseudocódigo e de um fluxograma. 102