Prof. Jorge Cavalcanti

Documentos relacionados
Estruturas de Controle de Fluxo

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

Algoritmos e Programação

Fluxograma. Símbolo Nome Descrição

Estruturas de Controle de Fluxo

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.

Fluxograma. Símbolo Nome Descrição

Algoritmos e Programação

Pseudocódigo Exercício 6

Estruturas de Controle de Fluxo

Pseudocódigo Exercício 6

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

Estruturas de Controle de Fluxo

Prof. Jorge Cavalcanti

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Introdução a Algoritmos Parte 04

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

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...

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

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:

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

Estruturas Condicionais

Algoritmos e Programação

Conceitos básicos de algoritmos

Estruturas de Decisão

Prof. Jorge Cavalcanti

CONTROLE DE FLUXO DE EXECUÇÃO

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi

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

Tópicos abordados. Estruturas de Decisão. Simples Composta Encadeada

Portugol. Tiago Alves de Oliveira

algoritmo "exercício 5" var x, y, aux: inteiro inicio escreva ("Entre com um valor inteiro p/ variável x: ") leia (x) escreva ("Entre com um valor

Estruturas de Decisão

Método para Construção de Algoritmos

Programação de Computadores Profa Jacqueline 1

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

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

Algoritmos e Técnicas de programação. Professora: Luciana Faria

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Estruturas Condicionais

Programação em C. Victor Amorim dos Santos

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Algoritmo e Programação Matemática

Aula 7: Estrutura de Decisão

Programação Estruturada

Lógica Aula 3. Definição. Estrutura de decisão

Algoritmos e Lógica de Programação. Notas de Aula

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

Estruturas de controle: Estrutura de DECISÃO

Introdução a Algoritmos Parte 08

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

ESTRUTURA CONDICIONAL E SELEÇÃO

Programação Estruturada Aula VisualG

LINGUAGEM DE PROGRAMAÇÃO

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Algoritmos I Aula 5 Visualg

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Conceitos Básicos de Algoritmos

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

Sintática: como é escrito cada elemento da linguagem de programação.

Universidade Estadual do Sudoeste da Bahia Departamento de Estudos Básicos e Instrumentais Disciplina: Introdução à Ciência da Computação Prof.

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

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

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

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

Fundamentos de Programação 1

Algoritmos e Programação I

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

Processamento de Dados aplicado à Geociências. AULA 8: Comandos de repetição Repita-até

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

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

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

ET51D - INFORMÁTICA. Algoritmos - Introdução. Prof: Glauber G. O. Brante e Mariana Furucho.

Prof. Jorge Cavalcanti

Lógica de Programação ALGORITMOS.

Estruturas de Controle de Fluxo

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

UFG Instituto de Informática Curso de Engenharia de Software Disciplina de Introdução à Programação

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

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

Programação I Estruturas de Decisão

7 Comandos e Estruturas de Controle

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

Algoritmos e Linguagem de Programação I

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

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

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

Introdução a Algoritmos Parte 06

Introdução à Programação. slides de Deise Sacol

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

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

ALGORITMOS. Estruturas de RepeGção. Alessandro J. de Souza DIATINF - IFRN. twi;er.com/ajdsouza

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

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

Transcrição:

Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 03 (baseado no material do prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav 1

Introdução a Algoritmos Estruturas de Controle de Fluxo Os algoritmos desenvolvidos até o momento constituem uma seqüência de ações que sempre são executadas em sua totalidade indiferente do valor da entrada de dados. Para a resolução de determinados problemas ou para a execução de determinadas tarefas é necessária a realização de um conjunto distinto de ações e este conjunto é definido com base na análise da entrada de dados. Um exemplo simples de uma destas situações é um algoritmo capaz de efetuar o cálculo do imposto de renda devido por um determinado contribuinte. Neste caso dependendo da quantidade de dependentes, do valor de sua renda e outras fatores o cálculo será feito de formas distintas. 2

Introdução a Algoritmos Instrução Condicional Estas instruções permitem que o programador especifique a seqüência de instruções que será executada. Considere um problema que exija uma decisão. Tomemos como exemplo uma divisão, onde haja a necessidade de que o algoritmo verifique se o divisor é igual ou diferente de zero. Se for igual não é possível dividir. Se for diferente é possível dividir. Sintaxe: se (<expressão-lógica>) então <sequência de comandos> senão <seqüência de comandos> fimse 3

Introdução a Algoritmos Exemplo 5: Instrução Condicional algoritmo "divisão instrução condicional // Seção de Declarações var n1, n2: inteiro resultado: real inicio // Seção de Comandos escreva ("Digite o dividendo:") leia (n1) escreva ("Digite o divisor:") leia (n2) se (n2=0) entao escreva ("Impossível dividir por zero") senao resultado <- n1/n2 escreva ("O resultado eh:", resultado) fimse fimalgoritmo 4

Introdução a Algoritmos 5

Introdução a Algoritmos Fluxograma Vimos o símbolo quando falamos sobre fluxograma. Este símbolo nos permite implementar a instrução.. se entao e se entao senao. Exemplo:. <expressão-lógica> Verdadeiro <seqüência-de-comandos>...... Falso <expressão-lógica> Verdadeiro <seqüência-de-comandos1>... 6 Falso <seqüência-de-comandos2> 6

Introdução a Algoritmos Fluxograma/Exercício Com base no que foi exposto construa um fluxograma para obter o resultado da divisão de dois números inteiros quaisquer. Inicio n1, n2: inteiro res: real O resultado da divisão é,res Fim Digite o dividendo inteiro: res <- n1 / n2 falso n1 n2=0 verdadeiro Impossível Dividir Digite o divisor inteiro: n2

Estruturas de Controle de Fluxo Exercício 9 Construa um algoritmo, representando-o com um pseudocódigo e com um fluxograma, que calcule o salário líquido de um funcionário. O algoritmo recebe através do teclado o salário bruto de um determinado funcionário, caso este seja inferior a R$ 300,00 é descontado 5% em impostos, se o salário variar de R$ 300,00 até 1.200,00 é descontado 10% em impostos, se esse for superior a R$ 1.200,00 é descontado 15% em impostos. Ao final o algoritmo deve exibir o salário líquido do funcionário. 8

9 algoritmo exercício 9a var salario: real inicio escreva ( Entre com o salário bruto do funcionário: ) leia (salario) se (salario<300.0) entao salario <- salario*0.95 fimse se ((salario>=300) e (salario<=1200)) entao salario <- salario*0.90 fimse se (salario>1200) entao salario <- salario*0.85 fimse escreva ( O salário líquido do funcionário é: ) escreva (salario:6:2) fimalgoritmo

10 algoritmo exercício 9b var salario: real inicio escreva ( Entre com o salário bruto do funcionário: ) leia (salario) se (salario<300.0) entao salario <- salario*0.95 senao se ((salario>=300) e (salario<=1200)) entao salario <- salario*0.90 senao salario <- salario*0.85 fimse fimse escreva ( O salário líquido do funcionário é: ) escreva (salario:6:2) fimalgoritmo

Inicio Entre com o salário bruto do funcionário: salario: real salario salario<300 falso salario<=1200 falso salario <- 0.85 * salario verdadeiro salario <- 0.95 * salario verdadeiro salario <- 0.9 * salario O salário líquido do funcionário é: Salario:6:2 11 Fim

Estruturas de Controle de Fluxo Exercício 10 Faça um algoritmo, representando-o com um pseudocódigo e com um fluxograma, para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo, e qual tipo de triângulo seria: Eqüilátero, Isósceles ou Escaleno. 12

Estruturas de Controle de Fluxo Exercício 11 Elabore um algoritmo, representando-o com um pseudocódigo e com um fluxograma, que com base no nome, em três notas e no número de faltas de um aluno qualquer determine qual a sua situação final: Aprovado, Reprovado por Falta ou Reprovado por Média. As notas mencionadas devem compor a média que para propiciar aprovação deve ter valor mínimo 7,0 e o limite de faltas é igual a 15. A reprovação por falta sobrepõe a reprovação por Média. 13

Teste de Mesa Ao nos recordarmos dos passos necessários para a construção de um algoritmo veremos que após a elaboração de um algoritmo devemos testá-lo realizando simulações com o propósito de verificarmos se este está ou não correto. Existem alguns softwares disponíveis que efetuam a interpretação de algoritmos representados em pseudocódigos ou em fluxogramas. Porém, existe uma técnica denominada teste de mesa que permite a simulação do processo de interpretação de um algoritmo utilizando apenas um papel e uma caneta. 14

Teste de Mesa Para acompanhar o desenvolvimento de um algoritmo é importante verificar o estado dos dados a cada instrução, verificando o conteúdo de todas as variáveis contidas no algoritmo. Sendo assim deve-se enumerar as linhas do algoritmo e em seguida criar uma tabela onde, a cada linha, são mostrados os conteúdos das variáveis do algoritmo e o número da linha executada. Para uma melhor visualização do processo adotaremos a seguinte convenção: nas linhas em que uma variável é lida (entrada), o valor da variável ficará entre colchetes [] e quando o conteúdo de uma variável for escrito (saída), ficará entre chaves {}. 15

16 Algoritmo vértices Var vertices, faces, arestas: inteiro Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número da arestas da figura geométrica: ) 4. Leia (arestas) 5. Vertices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vertices) Fimalgoritmo Linha Vertices Faces Arestas 1??? 2? [6]? 3? 6? 4? 6 [12] 5 8 6 12 6 {8} 6 12

Introdução a Algoritmos 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 Para lidar com casos deste tipo foi criado o comando de seleção múltipla. 17

Introdução a Algoritmos Sintaxe: Comando de seleção múltipla 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 18

Introdução a Algoritmos Exemplo 6: algoritmo "Times - seleção múltipla" // Função : // Autor : // Data : 10/8/2010 // Seção de Declarações var time: caractere inicio // Seção de Comandos escreval ("Digite um nome de time de futebol:") leia (time) escolha (time) caso "Sport", "Santa Cruz", "Nautico", "Petrolina" escreval ("É um time Pernambucano") caso "Vitória", "Bahia", "Camaçari", "Juazeiro" escreval ("É um time Baiano") outrocaso escreval ("É de outro Estado") fimescolha fimalgoritmo 19

Introdução a Algoritmos 20

Introdução a Algoritmos 1) Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre Hoje é Domingo, se ele digitar o número 2 mostre Hoje é Segunda... 2) Peça uma letra e mostre se ela é vogal ou consoante. 3) Peça três números e mostre o maior entre eles. 21

Algoritmos e Programação 1 - Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre Hoje é Domingo, se ele digitar o número 2 mostre Hoje é Segunda... algoritmo "Dias da Semana seleção múltipla var num: inteiro inicio // Seção de Comandos escreval ("Digite um número de 1 a 7:") leia (num) escolha (num) caso 1 escreval ("Hoje é Domingo") caso 2 escreval ("Hoje é Segunda") caso 3 escreval ("Hoje é Terça") caso 4 escreval ("Hoje é Quarta") caso 5 escreval ("Hoje é Quinta") caso 6 escreval ("Hoje é Sexta") caso 7 escreval ("Hoje pe Sábado") outrocaso escreval ("Número inválido") fimescolha fimalgoritmo 22

Algoritmos e Programação 2 - Peça uma letra e mostre se ela é vogal ou consoante. algoritmo "Letras do Alfabeto seleção multipla Tudo na mesma var linha do algoritmo let: caracter caso "b", "c", "d", "f", "g", "h", "j", inicio // Seção de Comandos escreval ("Digite uma letra do alfabeto:") leia (let) escolha (let) caso "a", "e", "i", "o", "u" escreval ("É uma vogal") "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "x", "w", "y", "z" escreval ("É uma consoante") outrocaso escreval ("É outro caractere") fimescolha fimalgoritmo 23

Algoritmos e Programação 3 - Peça três números e mostre o maior entre eles. algoritmo "MAIOR var n1,n2,n3, maior: inteiro inicio // Seção de Comandos escreval ("Digite três números") leia (n1,n2,n3) se (n1>n2) e (n1>n3) entao maior:= n1 senao se (n2>n3) entao maior:= n2 senao maior:= n3 fimse fimse escreva (maior) fimalgoritmo 24