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

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

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

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

LISTA DE EXERCÍCIOS 5 Algoritmos Estruturas de Controle - Seleção

Programação Estruturada

Aula 7: Estrutura de Decisão

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

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

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

Lista de Exercícios 2

Estruturas de controle: Estrutura de DECISÃO

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

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

Exercícios: comandos condicionais

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

7 Comandos e Estruturas de Controle

Exercícios: comandos condicionais

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

ESTRUTURA CONDICIONAL E SELEÇÃO

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

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

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

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

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

1ª LISTA DE EXERCÍCIOS

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

Exercícios de Fixação Introdução ao FORTRAN

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Estrutura de decisão

Instruções condicionais

1 ESTRUTURA SEQUENCIAL

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

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

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

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

Estrutura Condicional

UNIDADE 4 ESTRUTURAS DE CONTROLE

LISTA DE EXERCÍCIOS (2) PYTHON

Exercícios de Fixação Introdução ao FORTRAN

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

Comandos de desvio de fluxo. Expressões lógicas.

LISTA DE EXERCÍCIOS Fazer um algoritmo para leia três valores inteiros, determine e imprima o menor deles.

Programação de Computadores

Comandos de desvio de fluxo. Expressões lógicas.

Lista de Exercícios Desvio Condicional

Lista de exercícios 01 de Computação Aplicada

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

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

Programação de Computadores Profa Jacqueline 1

Engenharia Civil. Introdução à Programação

2ª Lista de Exercícios de Programação I

Estrutura Condicional em C - Lista de Exercícios

Aula 05: Condicionais (if / else)

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

Lista 2 Programação com Decisão (Desvios Condicionais)

CAPÍTULO V. Estruturas de Repetição CAPÍTULO V ESTRUTURAS DE REPETIÇÃO. Estrutura de Repetição com Teste no Início: E QUA TO-FAÇA...

2- Faça um programa que receba duas notas, calcule e mostre a média aritmética e a mensagem que está na tabela a seguir:

Estruturas Condicionais

Estruturas de Decisão

Aula 4 Estrutura Condicional

Treinamento Olimpíada Brasileira de Informática

Resolva os exercícios utilizando a linguagem de programação C

AULA 07 Desvios encadeados, Operadores Lógicos. Prof. Abrahão Lopes

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

Linguagem de Programação. Tutorial 3 Os comandos if, else e else if

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

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

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

Algoritmos. Introdução à Ciência da Computação I. Prof. Jó Ueyama

Algoritmos e Lógica de Programação. 5ª Lista de Exercícios Comandos de Decisão (if)

Aula Teórica 03. Comandos Condicionais (Decisão)

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

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

INTRODUÇÃO AO JAVA SCRIPT

Lógica de Programação I

Exercícios de Fixação Aula 09

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

Data de Entrega: 04/05/2016 Lista: Nota: Trabalho Prático. de 0 a 200,00 nenhum crédito (crédito = 0) 40% do valor do saldo médio

CCO 016 / COM 110 Fundamentos de Programação

1ª LISTA DE EXERCÍCIOS - Extra

Desvios Condicionais. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes

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

2ª Lista de Exercícios de Programação I

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Estruturas de Seleção Parte II Seleção Encadeada

Algoritmos e Programação

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

Parte I - Expressões lógicas e operadores

2. Indique a saída dos trechos de programa do pedaço de fluxograma a seguir. Considerando os seguintes de valores: A = 2, B = 3, C = 5, D = 9.

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

Estrutura Condicional

EXERCÍCIOS DE RECORDAÇÃO DE ALGORITMOS

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)

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

CCO 016 / COM 110 Fundamentos de Programação

Estruturas de seleção. Prof.: Jesus

Transcrição:

NBT110- Algoritmos e Estruturas de Dados Profa. Rosanna Mara Rocha Silveira Fevereiro/2013 - Versão 1.1 CAPÍTULO IV ESTRUTURAS CONDICIONAIS 31 Dentro dos algoritmos temos comandos especiais utilizados quando temos que tomar determinada decisão baseado no valor de uma variável ou de uma expressão. Estas estruturas são chamadas de desvio condicional, pois desviam o fluxo do algoritmo para um determinado bloco de comandos de acordo com uma condição. Existem basicamente duas estruturas deste tipo que são o SE e o CASO. A estrutura condicional SE pode ser abordada de 3 formas: estrutura condicional simples, composta ou encadeada: ESTRUTURA CONDICIONAL SIMPLES Quando necessitarmos de situações onde uma alternativa depende de uma condição para ser realizada, usamos a estrutura condicional simples. CAPÍTULO IV Nesta estrutura, se a condição for verdadeira, serão executados os comandos que estão dentro do bloco verdadeiro; caso contrário, se a condição for falsa não será executado nenhum comando. A estrutura condicional simples pode ser vista, em termos de funcionamento da seguinte forma: Estruturas Condicionais Falso condição Verdadeiro comando(s) ESTRUTURAS CONDICIONAIS... 31 ESTRUTURA CO DICIO AL SIMPLES 31 SINTAXE DA ESTRUTURA CONDICIONAL SIMPLES EM ALGORITMOS. 32 ESTRUTURA CO DICIO AL COMPOSTA 33 SINTAXE DA ESTRUTURA CONDICIONAL COMPOSTA EM ALGORITMOS 33 ESTRUTURAS CO DICIO AIS E CADEADAS... 35 EXERCÍCIOS PROPOSTOS DO CAPÍTULO IV: 36 O bloco comando só será executado se o resultado da condição for verdadeiro. A condição deve ser uma comparação relacional e/ou lógica entre variáveis e/ou expressões do mesmo tipo de dados. O resultado da condição será um dos valores booleanos possíveis (verdadeiro ou falso). Observe que se o resultado da condição for verdadeiro, podemos executar um bloco de comandos, se for falso encerra-se a estrutura condicional simples sem executar nenhum comando.

SINTAXE DA ESTRUTURA CONDICIONAL SIMPLES EM ALGORITMOS 32 ESTRUTURA CONDICIONAL COMPOSTA 33 então comando; Na sintaxe acima, podemos executar somente um único comando dentro da cláusula então. Quando necessitarmos executar mais de um comando dentro da cláusula então, devemos seguir a seguinte sintaxe, abrir o bloco início/fim: comando 1; comando 2; comando n; Quando necessitarmos de situações onde duas alternativas dependem de uma mesma condição, usamos a estrutura condicional composta. Nesta estrutura, se a condição for verdadeira, serão executados os comandos que estão dentro do bloco verdadeiro; caso contrário, se a condição for falsa os comandos dentro do bloco falso serão executados. A estrutura condicional composta pode ser vista, em termos de funcionamento da seguinte forma: Falso condição Verdadeiro Exemplo 1) Escreva um algoritmo para calcular o salário final de um funcionário, sendo que se o funcionário tem mais de 5 anos de serviço, ele tem 10% a mais no salário base. O salário base e o tempo de serviço são fornecidos pelo usuário. comando(s) comando(s) Algoritmo EXEMPLO_1 SALARIO, TEMPO numérico; // salário do funcionário e tempo de serviço em anos início escreva Entre com o salário base do funcionário ; leia SALARIO; escreva Entre com o tempo de serviço (em anos) ; leia TEMPO; se (TEMPO > 5) então SALARIO SALARIO + (SALARIO * 0.1); escreva O salário do funcionário é:, SALARIO; Exercício 4.1) Após a execução do seguinte trecho de algoritmo: Algoritmo ABC : inicio : : D 0; se ((A <= B) e (C > B)) então D 5; escreva D; Na variável D estará armazenado o valor de 5 se: a) A <= B <= C b) B < C < A c) A < B <= C d) A <= B < C e) Nenhuma das alternativas SINTAXE DA ESTRUTURA CONDICIONAL COMPOSTA EM ALGORITMOS então comando; senão comando; Semelhante à estrutura condicional simples, quando necessitarmos executar mais de um comando dentro das cláusulas então ou senão, basta utilizarmos o delimitador de bloco início-fim, como mostrado a seguir: comando 1; comando 2; comando n; comando 1; comando 2; comando n;

Exemplo 2) Escreva um algoritmo para ler o nome e a idade de uma pessoa e informar se a pessoa é maior ou menor de idade. O nome e a idade são fornecidos pelo usuário. Algoritmo EXEMPLO_2 NOME literal; // nome da pessoa IDADE numérico; // idade em anos inicio escreva Qual o seu nome? ; leia NOME; escreva NOME,, qual a sua idade? ; leia IDADE; se (IDADE < 18) então escreva NOME,, você é menor de idade! ; senão escreva NOME,, você é maior de idade! ; Exemplo 3) Escreva um algoritmo para ler dois valores, determinar e imprimir a relação entre eles (de igualdade, ou não). Algoritmo EXEMPLO_3 NUM1, NUM2 numérico; // números quaisquer início escreva Entre com os dois números ; leia NUM1, NUM2; se (NUM1 == NUM2) então escreva NUM1, e,num2, são números iguais ; senão escreva NUM1, e,num2, são números diferentes ; Exercício 4.2) Indique a saída (qual o valor de X?) dos seguintes trechos de algoritmos, considerando os seguintes valores: A= 2, B = 3, C = 5 e D = 9. a) se (não (B <= C) xou (C >= 3) e (A > A)) então X D % (C B); senão X eleva(c eleva(a,2), (1/3)); escreva X; b) se (não (A >= 2) ou não (B > 7) e (C >= 6) ou não (B <= A)) então X eleva(a,2) sqrt(d) 2; senão X exp (3 * log(b)) - D; escreva X; 34 ESTRUTURAS CONDICIONAIS ENCADEADAS Quando necessitamos agrupar várias estruturas condicionais (simples ou composta), formamos então uma estrutura condicional encadeada. Normalmente, isto ocorre quando uma determinada ação deve ser executada se várias condições ou combinações de condições forem satisfeitas. Algoritmo MAIOR NUM1, NUM2 numérico; início escreva Entre com os dois números ; leia NUM1, NUM2; se (NUM1 == NUM2) então escreva NUM1, é igual a,num2; senão se (NUM1 > NUM2) então escreva NUM1, é maior que,num2; senão escreva NUM2, é maior que,num1; Note que podemos construir uma estrutura condicional encadeada de diversas formas, e sem limites de encadeamento. Exemplos: a).. se (condição1) então se (condição2)...... senão se (condição3) senão se (condição4) então se (condição5) 35

b) se (condição1) então se (condição2) então se (condição3) então se (condição4) 36 P4.9) Tendo como dados de entrada, a altura (em metros) e o sexo (F/M) de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas: para homens: (72.7 * altura) 58 para mulheres: (62.1 * altura) 44.7 P4.10) Elabore um algoritmo que efetue a entrada de um valor numérico e verifique se esse valor é divisível por 4. Para se verificar se um valor (N) é divisível por outro (D), efetua-se o cálculo de R da seguinte forma, R = N D * farred(n/d). Se R for igual a zero é porque N é divisível por D. P4.11) Desenvolva um algoritmo que efetue a leitura de 2 números inteiros (N1 e N2) e verifique se eles são divisíveis por 2 e por 3. 37 Note que neste último tipo de encadeamento, podemos escrever a mesma estrutura da seguinte forma: se (condição1 e condição2 e condição3 e condição4) Exercícios propostos do Capítulo IV: P4.1) Refaça o algoritmo do exemplo 2 (maioridade) e quando a pessoa for menor de idade, apresente quantos anos para atingir a maioridade. P4.2) Construa um algoritmo que, dado um número, verifique se ele é par. P4.3) Construa um algoritmo que, dado um número, verifique se ele é inteiro. P4.4) Uma empresa decide dar um aumento de 30% ao funcionário cujo salário é inferior a 3 salários mínimos. Escreva um algoritmo que efetue o cálculo do salário e escreva o valor do salário reajustado, caso contrário, apresente uma mensagem de que não foi possível reajustar. O salário do funcionário e o valor do salário mínimo são fornecidos pelo usuário. P4.5) Faça um algoritmo que leia os valores A, B, C e diga se a soma de A + B é menor que C. P4.6) Faça um algoritmo que leia dois valores A e B. Se os valores forem iguais, o algoritmo deverá somar os dois, caso contrário, multiplicar A por B, e, ao final do calculo, atribuir o valor para uma variável C. P4.7) Escreva um algoritmo que permita ao usuário entrar com uma letra qualquer e informar se a letra digitada é uma vogal ou uma consoante. P4.8) Faça um algoritmo que leia o nome e as suas três notas em uma disciplina e ao final, escreva o nome do aluno, sua média e se ele foi aprovado (a média é 8). P4.12) Um sinal elétrico é especificado pela seguinte equação: 1 t, 1 t 1 x( t) = 0, caso contrário Escreva um algoritmo que leia o valor de t, calcule e mostre o valor de x(t). P4.13) Faça um algoritmo que leia os valores de duas variáveis x e y e calcule o valor de z, dado por: z = 2 2 x + y 2 3 x y O algoritmo deve verificar a possibilidade de divisão antes de fazer o cálculo. P4.14) Uma empresa decide dar um reajuste a seus funcionários de acordo com os seguintes critérios: 50% para aquele que ganha menos de 10 SM (salário mínimo); 20% para aquele que ganha entre 10 SM e 20 SM (inclusive); 15% para os demais Faça um algoritmo que leia o salário do funcionário, o salário mínimo, calcule e escreva o valor do salário reajustado. P4.15) Faça um algoritmo que leia 3 números distintos e imprima o menor deles. P4.16) Faça um algoritmo que receba a hora de início de um jogo (HHMM) e a hora final do jogo (HHMM). Calcule e mostre a duração do jogo em horas e minutos. P4.17) Assuma que A, B, C e D são variáveis e S1, S2, S3 e S4 são comandos. Expresse as condições necessárias para a execução de S1, S2, S3 e S4 no seguinte comando encadeado: se (A > B) então se (B <= C) então se (C!= D) então S1; senão S2; senão S3; senão S4;

P4.18) Assuma que V1, V2, V3 e V4 são variáveis e C1, C2, C3, C4, C5, C6, C7 e C8 são comandos. Sobre o trecho de algoritmo a seguir, responda: se (V1 >= V2) C1; se (V2 < V3) C2; se (V3!= V4) então C3; senão C4; C5; C6; senão C7; C8; a) Se V1 >= V2, V2 < V3 e V3 == V4, quais os comandos que serão executados? b) Se V1 < V2, V2 < V3 e V3 == V4, quais os comandos que serão executados? c) Se V1 >= V2, V2 >= V3 e V3!= V4, quais os comandos que serão executados? d) Há possibilidade de somente o comando C8 ser executado? Explique. P4.19) Faça um algoritmo para ler quatro valores referentes a quatro notas escolares de um aluno (de 0 a 10) e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 7. Se o valor da média for menor que 7, solicitar a nota de exame, somar com o valor da média e obter nova média. Se a nova média for maior ou igual a 5, apresentar uma mensagem dizendo que o aluno foi aprovado em exame. Se o aluno não foi aprovado, apresentar uma mensagem também informando esta condição. Apresentar com as mensagens, para qualquer condição, o valor da média do aluno. P4.20) Construa um algoritmo para calcular e imprimir as raízes X1 e X2 de uma equação do 2 o. grau, sendo que os coeficientes A, B e C são fornecidos (o coeficiente A deve ser diferente de zero para termos uma equação do 2 o. grau). Se o valor de DELTA ( ) for negativo, envie a mensagem RAÍZES NÃO REAIS. b + b = b 2 4ac x1 = x2 = 2a 2a P4.21) Dados três valores X, Y, Z, faça um algoritmo para verificar se eles podem ser os comprimentos dos lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem. Antes da elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições: Propriedade - O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados. Definição 1 - Chama-se triângulo equilátero o que tem os comprimentos dos três lados iguais, 38 Definição 2 - Chama-se triângulo isósceles o que tem os comprimentos de dois lados iguais. Definição 3 - Chama-se triângulo escaleno o que tem os comprimentos dos três lados diferentes. P4.22) Uma empresa decide dar uma gratificação de natal aos seus funcionários, baseada no número de horas extras e no número de horas que o funcionário faltou ao trabalho. O valor da gratificação é obtido pela consulta na tabela a seguir, em que: H = número de horas extras 2/3 * número de horas-falta H Gratificação > 1.800 R$ 400,00 1.200 < H 1.800 R$ 300,00 600 H 1.200 R$ 200,00 0 < H < 600 R$ 100,00 0 Sorry, sem gratificação Faça um algoritmo que leia o nome do funcionário, o número de horas extras e o número de horas-falta do ano, calcule e escreva, o valor de sua gratificação acompanhado de seu nome (desenvolva o algoritmo na folha em paisagem). P4.23) Elabore um algoritmo que, dada a idade de um atleta, classifique-o em uma das seguintes categorias: maternal : menor que 5 anos infantil: de 5 a 10 anos juvenil: de 11 a 15 anos pleno: de 16 a 18 anos sênior: de 19 a 21 anos P4.24) Dado o algoritmo abaixo, considerando B1, B2, B3, variáveis e C1, C2, C3, C4 e C5, comandos, responda a seguir: Algoritmo ENCADEADO B1, B2, B3 lógico; inicio escreva Entre com valores lógicos para as variáveis ; leia B1, B2, B3; se (B1) então C1; senão se (B2) então se (B3) então C2; C3; C4; C5; Se B1 = verdadeiro, B2 = verdadeiro, B3 = falso, quais os comandos que serão executados? Se B1 = falso, B2 = verdadeiro, B3 = falso, quais os comandos que serão executados? 39

40 Quais os valores de B1, B2, B3 para que somente o comando C5 seja executado? Se B1 = falso, B2 = verdadeiro, B3 = verdadeiro, quais os comandos que serão executados? P4.25) Escreva um algoritmo que, tendo como dados de entrada os valores x e y, o mesmo retorne o valor de f(x,y), tal que: 2 2 x y + 2xy se x > y f ( x, y) = 2xy + x + y se x = y 2 2 y + x + 2xy se x < y