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

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

Programação de Computadores I Estruturas de Decisão PROFESSORA CINTIA CAETANO

Estruturas de Decisão

Estruturas de Decisão

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

ESTRUTURA CONDICIONAL E SELEÇÃO

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

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

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

In I t n rto r d o u d ç u ão ã o à à Com o pu p t u a t ç a ão ã Linguagem Fortran! " 1

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

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

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

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

Portugol. Tiago Alves de Oliveira

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Introdução a programação Controle de Fluxo

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

Noções de algoritmos - Aula 1

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

Programação científica C++

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Aula 03 Estruturas Condicionais. Prof. Filipe Wall Mutz

Introdução à Ciência da Computação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

ALGORITMOS AULA 2. Profª Amanda Gondim

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Português Estruturado (VISUALG)

CONDICIONAL / de SELEÇÃO / de DECISÃO

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Programação Estruturada

Algoritmos e Programação

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:

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

Programação Estruturada Aula VisualG

Lógica de Programação e Algoritmos

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Exercícios de Fixação 2 - RESPOSTAS Professor: Danilo Giacobo

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

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

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

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

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

Estruturas de decisão

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 6: Comandos Estruturados Estrutura Condicional

Execução de instruções. Aula nº4

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

1. Escreva um algoritmo em fluxograma que descreva a sequência 1, 5, 13, 17, 21, 25,?,?,?,?. Ou seja, até o seu 10º termo.

Estrutura de Seleção

Prof. Jorge Cavalcanti

1ª LISTA DE EXERCÍCIOS - Extra

Estruturas Condicionais

Conceitos básicos de algoritmos

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

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

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

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Aula 4 Estruturas Condicionais

Português Estruturado (VISUALG) Repetição

Algoritmos e Programação

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

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo

INTRODUÇÃO AO JAVA SCRIPT

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

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

Exercícios de Fixação Conteúdo das aulas 03 a 06

Estruturas Condicionais. Tiago Alves de Oliveira

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

Aula 5 Controle do Fluxo de Execução

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

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

Estruturas de Controle de Fluxo

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

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Oficina de Python Prof. Me. José Carlos Perini

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

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

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

Lista 01 Estruturas de Repetição

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

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

PROGRAMAÇÃO COMPUTACIONAL I

Fig.1: Ilustração de Estrutura de Controle Fonte:Internet

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

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

Algoritmos Estrutura Condicional

Prof. Jorge Cavalcanti

Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Introdução a programação Professor: Saulo Henrique Cabral Silva

Conceitos Básicos de Algoritmos

Aula 5 -Algoritmos Estruturas de Controle (Estruturas de Seleção)

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

Transcrição:

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

Estruturas de Seleção Uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições são ou não satisfeitas. Tipos de Estruturas de Seleção - Seleção Simples - Seleção Composta - Seleção Encadeada - Múltipla escolha

Seleção simples Seleção simples: se...entao... se (<condição>) entao instrução 1 instrução 2 instrução 3... instrução n

se...entao... - Exemplo Faça um algoritmo que calcule a média aritmética entre quatro notas bimestrais fornecidas por um aluno. O aluno será aprovado se a média for maior ou igual a 7. var n1, n2, n3, n4, MA: real inicio leia(n1, n2, n3, n4) MA (n1+n2+n3+n4)/4 se (MA >= 7) entao escreva( Aluno Aprovado ) fimalgoritmo

Fluxograma Início n1, n2, n3, n4 MA (n1+n2+n3+n4)/4 N MA > =7 S Aluno Aprovado Fim

Operadores relacionais Usados para comparar dois valores de mesmo tipo Operador Função = Igual a > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a <> Diferente de O resultado é sempre um valor lógico (Verdadeiro ou Falso)

Faça um algoritmo que leia dois valores numéricos, efetue a multiplicação entre eles e apresente o resultado na tela apenas se o valor for diferente de 10. var num1, num2, result: inteiro inicio escreva( Digite dois números: ) leia(num1, num2) result num1 * num2 se (result <> 10) entao escreva( O valor é:, result) fimalgoritmo

Seleção Composta Usado quando tivermos situações em que duas alternativas dependem de uma mesma condição, onde uma condição é verdadeira e a outra condição é falsa. se (<condição>) entao C1 // instrução executada se a condição for verdadeira senao C2 // instrução executada se a condição for falsa

se...entao...senao... var n1, n2, n3, n4, MA: real inicio leia(n1, n2, n3, n4) MA (n1+n2+n3+n4)/4 se (MA >= 7) entao escreva( Aluno Aprovado ) senao escreva( Aluno Reprovado ) fimalgoritmo

Fluxograma Início n1, n2, n3, n4 MA (n1+n2+n3+n4)/4 N MA > =7 S Aluno Reprovado Aluno Aprovado Fim

Faça um algoritmo que leia dois valores numéricos e efetue a soma. - Caso o valor somado seja maior ou igual a 10, some 5 ao resultado e apresente-o na tela. - Caso o valor somado seja menor que 10, subtraia 7 do resultado e imprima-o na tela.

algoritmo Calcula var num1, num2, soma, result: real inicio leia(num1, num2) soma num1 + num2 se (soma >= 10) entao result soma + 5 senao result soma - 7 escreva( Resultado:, result) fimalgoritmo

Seleção Encadeada É o agrupamento de várias seleções se (<condição 1>) entao se (<condição 2>) entao Comandos senao se (<condição 3>) entao Comandos

Faça um algoritmo efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%; caso seja ainda maior que 1000 o reajuste deverá ser de 5% O problema estabelece três condições para calcular o reajuste do salário: 1) Salário < 500, reajuste de 15% 2) Salário > = 500, mas <= 1000, reajuste de 10% 3) Salário > 1000, reajuste de 5%

Fim Início SAL N SAL < 500 S N SAL <= 1000 S NOVOSAL SAL+(SAL*15)/100 NOVOSAL SAL+(SAL*5)/100 NOVOSAL SAL+(SAL*10)/100 NOVOSAL

algoritmo salario var salario, novosalario: real inicio leia(salario) se (salario < 500) entao novosalario salario+(salario*15)/100 senao se (salario <=1000) entao novosalario salario+(salario*10)/100 senao novosalario salario+(salario*5)/100 escreva(novosalario) fimalgoritmo

algoritmo EstadoCivil var ESTADOCIVIL: inteiro inicio escreva( Escolha: 1(casado),2(Solteiro),3(Divorciado) : ) leia(estadocivil) se (ESTADOCIVIL = 1) entao escreva( Indivíduo casado ) senao se(estadocivil = 2) entao escreva( Indivíduo solteiro ) senao se(estadocivil = 3) entao escreva( Indivíduo divorciado ) senao escreva( Estado civil inválido ) fimalgoritmo

escolha... caso... fimescolha Em algumas situações é necessário termos várias soluções ligadas a respostas diferentes O comando de seleção simples ou composta não é uma solução prática, porque obrigará o programador a escrever muitas linhas de programa, além de ter que criar vários comandos de alternativas compostas Solução: usar o comando de alternativa de múltipla escolha (escolha... caso)

var ESTADOCIVIL: inteiro inicio escreva("escolha: 1(casado),2(Solteiro),3(Divorciado): ") leia(estadocivil) escolha (ESTADOCIVIL) caso 1 escreva("individuo casado!") caso 2 escreva("individuo solteiro!") caso 3 escreva("indivíduo divorciado!") outrocaso escreva( Estado civil inválido") fimescolha fimalgoritmo

escolha... caso... fimescolha escolha (< expressão-de-seleção >) caso < exp 1 >, < exp 2 >,..., < exp n > < lista-de-comandos-1 > caso < exp 1 >, < exp 2 >,..., < exp n > < lista-de-comandos-2 > outrocaso < lista-de-comandos-3 > fimescolha

Exemplo Um determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e sua categoria IDADE De 05 a 10 De 11 a 15 De 16 a 20 De 21 a 25 CATEGORIA Infantil Juvenil Junior Profissional

Exemplo algoritmo "CLASSIFICAÇÃO DE ATLETAS var inicio nome, categoria : caractere idade : inteiro escreva("nome do Atleta: ") leia (nome) escreva("idade do Atleta: ") leia (idade)

escolha (idade) caso 5,6,7,8,9,10 categoria "Infantil" caso 11,12,13,14,15 categoria "Juvenil" caso 16,17,18,19,20 categoria "Junior" caso 21,22,23,24,25 categoria "Profissional" outrocaso categoria "INVALIDO" fimescolha escreva ("Categoria: ",categoria) fimalgoritmo

Expressões lógicas A condição que segue o se do comando de seleção pode formar uma expressão lógica. Uma expressão lógica pode ser formada pelos seguintes operadores lógicos: Operador não e ou Função negação conjunção disjunção

Operador lógico: e Tabela-verdade Condição 1 Condição 2 Resultado Falsa Falsa Falso Falsa Verdadeira Falso Verdadeira Verdadeira Verdadeiro Verdadeira Falsa Falso Se fizer sol e eu tiver roupa de banho, eu vou para a praia. Quando eu vou para a praia?

Operador lógico: e Exemplo var num: inteiro inicio leia(num) se (NUM >= 20) e (NUM <=90) entao escreva( O número está na faixa de 20 a 90 ) senao escreva( O número está fora da faixa de 20 a 90 ) fimalgoritmo

Fluxograma Início NUM N NUM > =20 e NUM <=90 S O numero está fora da faixa de 20 a 90 O numero está na faixa de 20 a 90 Fim

Operador lógico: e Fluxograma N Condição1 e Condição2 S Instruções executadas se ambas as condições forem verdadeiras

Operador lógico: e Português Estruturado se (<condição1>) e (<condição2>) entao C1 // instrução executada se ambas condições forem verdadeiras senao C2 // instrução executada se pelo menos uma das condições for falsa

Operador lógico: ou Tabela-verdade Condição 1 Condição 2 Resultado Falsa Falsa Falso Falsa Verdadeira Verdadeiro Verdadeira Verdadeira Verdadeiro Verdadeira Falsa Verdadeiro Se fizer sol ou eu tiver roupa de banho, eu vou para a praia. Quando eu vou para a praia?

Operador lógico: ou Exemplo var sexo: caracter inicio leia(sexo) se (sexo = masculino ) ou (sexo = feminino ) entao escreva( O sexo é válido ) senao escreva( O sexo não é válido ) fimalgoritmo

Fluxograma Início SEXO N O sexo não é válido. SEXO = masculino ou SEXO = feminino S O sexo é válido Fim

Fluxograma Operador lógico: ou N Condição1 ou Condição2 S Instruções executadas se pelo menos uma das condições for verdadeira

Operador lógico: ou Português Estruturado se (<condição1>) ou (<condição2>) então senao C1 // instrução executada se pelo menos uma condições for verdadeira C2 // instrução executada se ambas as condições forem falsas

Operador lógico: não O operador do tipo não é utilizado quando a necessidade de estabelecer a inversão do resultado lógico de uma determinada condição. Tabela-verdade Condição Falsa Verdadeira Resultado Verdadeira Falso Se não(chuva) eu vou para a praia. Quando eu vou para a praia?

Operador lógico: não Fluxograma N não Condição S Instruções executadas caso a condição não seja verdadeira

Operador lógico: não Português Estruturado se nao(<condição>) entao C2 // instrução executada se a condição não for verdadeira

Operadores Lógicos ordem de precedência Prioridade Operador 1º não 2º e 3º ou

Exercícios 1) Resolva os problemas abaixo usando as 3 formas de representação de algoritmos: narrativa, fluxograma e português estruturado. a) Faça um algoritmo que receba dois números e mostre qual deles é o maior b) Faça um algoritmo que receba três números e mostre-os em ordem crescente c) Faça um algoritmo que receba um número inteiro e verifique se este número é par ou ímpar

Exercícios 2) Faça um algoritmo que receba a altura e o peso de uma pessoa. De acordo com a tabela a seguir, verifique e mostra qual a classificação dessa pessoa

Exercícios 3) A nota final de um estudante é calculada a partir de três notas atribuídas respectivamente a um trabalho de laboratório, a uma avaliação semestral e a um exame final. - se a média do aluno estiver entre 0,0 e 5,0, então seu conceito é E, - se estiver entre 5,0 e 6,0, seu conceito é D, - se estiver entre 6,0 e 7,0, seu conceito é C, - se estiver entre 7,0 e 8,0, seu conceito é B, - e se estiver entre 8,0 e 10,0, seu conceito é A. Faça um algoritmo que receba as três notas, calcule e mostre a média e o conceito do aluno.

4) Reescreva o algoritmo ao lado usando Escolha... caso algoritmo Opções de desconto" OPCAO: inteiro inicio escreva("escolha a opcao de desconto(1, 2, 3 ou 4): ") leia(opcao) se (OPCAO = 1) entao escreva("dar desconto de 20%") senao se(opcao = 2) entao escreva("dar desconto de 15%") senao se (opcao = 3) entao escreva("dar desconto de 10%.") senao se (opcao = 4) entao escreva("dar desconto de 5%.") senao escreva("não dar desconto.") fimalgoritmo

Testando o algoritmo Um algoritmo, depois de ser elaborado, pode (e deve) ser testado Utiliza-se um método conhecido como teste de mesa É como uma simulação de todos os passos, entradas, comandos e instruções do algoritmo, a fim de saber se ele chega ao resultado a que se propõe e se a lógica está correta Preenche-se uma tabela com valores para as variáveis e segue-se o fluxo de execução do algoritmo, simulando a execução de cada instrução Se, para uma instrução executada, uma ou mais variáveis não ficaram com os valores esperados, há um erro na lógica do algoritmo