Prévia do material em texto
<p>Profa. Me. Karhyne Assis</p><p>UNIDADE III</p><p>Linguagem e Técnicas</p><p>de Programação</p><p> As instruções executáveis em C tanto realizam ações (como cálculos ou entrada/saída de</p><p>dados) quanto tomam decisões.</p><p> As estruturas condicionais são utilizadas quando há a necessidade de tomar decisões, ou</p><p>quando é preciso efetuar comparações.</p><p> Nesse tipo de estrutura, uma operação lógica (<condição>) é avaliada.</p><p> Se (if) o resultado dessa avaliação for verdadeiro (V), então um determinado conjunto de</p><p>instruções será executado.</p><p> Se (if) o resultado da avaliação for falso (F), um comando diferente será executado.</p><p> Não importa se o corpo da estrutura é executado ou não;</p><p>depois que a estrutura if termina, a execução prossegue com</p><p>a próxima instrução após a estrutura if.</p><p>Estruturas condicionais</p><p> As condições em estruturas if podem ser definidas com o uso dos operadores de igualdade</p><p>e dos operadores relacionais, resumidos.</p><p>Estruturas condicionais</p><p>Operador de igualdade</p><p>ou relacional em C</p><p>Exemplo de condição em C Significado da condição em C</p><p>Operadores de igualdade</p><p>== x == y x é igual a y</p><p>!= x != y x não é igual a y</p><p>Operadores relacionais</p><p>> x > y x é maior que y</p><p>< x < y x é menor que y</p><p>>= x >= y x é maior ou igual a y</p><p><= x <= y x é menor ou igual a y</p><p>Atenção!</p><p>= é diferente de ==</p><p>operador de</p><p>atribuição</p><p>operador de</p><p>comparação</p><p>Um desvio condicional é usado para decidir se um conjunto de instruções deve, ou não, ser</p><p>realizado. Tipos de estruturas condicionais:</p><p>Estruturas condicionais</p><p>if</p><p>aninhado</p><p>if...</p><p>else if…</p><p>else...</p><p>switch</p><p>if...</p><p>else...</p><p>if…</p><p> A estrutura if é um desvio condicional mais simples. O if consiste em uma expressão</p><p>booleana seguida por uma ou mais declarações (comandos) que são executados, caso a</p><p>condição analisada seja verdadeira.</p><p>Estruturas condicionais: if</p><p>Em pseudocódigo</p><p>se (condição verdadeira) então {</p><p>bloco de instruções</p><p>...</p><p>}</p><p><Condição></p><p><Instruções></p><p>V</p><p>F</p><p>Em linguagem C</p><p>if (condição verdadeira) {</p><p>bloco de instruções</p><p>...</p><p>}</p><p> Exemplo: uso de se (if), programa que verifica se um número armazenado em uma variável</p><p>x é menor que 15, se condição for verdadeira, imprime a mensagem “valor menor que 15”.</p><p>Estruturas condicionais: if</p><p>Início</p><p>x = 10</p><p>x < 15</p><p>Fim</p><p>“valor menor</p><p>que 15”</p><p> Exemplo: uso de se (if), programa que lê um número e verifica se esse número é menor que</p><p>0, se condição for verdadeira, imprime a mensagem “negativo”.</p><p>Estruturas condicionais: if</p><p>Início</p><p>numero < 0</p><p>Fim</p><p>“negativo”</p><p>numero</p><p> Exemplo: uso de se (if), programa que verifica se o valor atribuído à variável inteira numero é</p><p>maior que 0, se condição for verdadeira, imprime a mensagem “Número é Maior que zero!” e</p><p>“Continuação do programa!”.</p><p> Caso seja falso executa somente</p><p>o que esta depois do if</p><p>“Continuação do Programa!”</p><p>Estruturas condicionais: if</p><p>Analise o pseudocódigo abaixo e selecione a alternativa que substitua a condição</p><p>se(numero<0) então... Pela estrutura if em linguagem C:</p><p>a) if(numero < 0) then</p><p>printf(“negativo”)</p><p>b) if(numero > 0)</p><p>printf(“negativo”)</p><p>c) if(numero < 0)</p><p>printf(“negativo”)</p><p>d) if(n < 0)</p><p>printf(“negativo”)</p><p>e) else(numero < 0)</p><p>printf(“negativo”)</p><p>Interatividade</p><p>se (numero < 0) então {</p><p>escreva(“negativo”)</p><p>}</p><p>Analise o pseudocódigo abaixo e selecione a alternativa que substitua a condição</p><p>se(numero<0) então... Pela estrutura if em linguagem C:</p><p>a) if(numero < 0) then</p><p>printf(“negativo”)</p><p>b) if(numero > 0)</p><p>printf(“negativo”)</p><p>c) if(numero < 0)</p><p>printf(“negativo”)</p><p>d) if(n < 0)</p><p>printf(“negativo”)</p><p>e) else(numero < 0)</p><p>printf(“negativo”)</p><p>Resposta</p><p>se (numero < 0) então {</p><p>escreva(“negativo”)</p><p>}</p><p>Solução:</p><p>Alternativas com erros, a, b, d e a e</p><p>Alternativa a, em C não utilizamos</p><p>then.</p><p>Alternativa b, a condição está</p><p>testando o caso onde numero seja</p><p>maior que 0.</p><p>Alternativa d, a variável está escrita</p><p>errada usando apenas a letra n.</p><p>Alternativa e, o comando if foi</p><p>trocado pelo comando else errado.</p><p>Portanto, alternativa correta c.</p><p> A estrutura if else é um desvio condicional onde uma condição é analisada e caso</p><p>verdadeira, executa o bloco do if, em caso falsa, executa o bloco do else.</p><p>Estruturas condicionais: if else</p><p>se (condição verdadeira) então {</p><p>bloco de instruções</p><p>}</p><p>senão {</p><p>bloco de instruções</p><p>}</p><p><Condição></p><p>Comandos (V)</p><p>F</p><p>Comandos (F)</p><p>V</p><p>if (condição verdadeira) {</p><p>bloco de instruções</p><p>}</p><p>else {</p><p>bloco de instruções</p><p>}</p><p> Exemplo: uso de se (if else), algoritmo solicita ao usuário para digitar um número e o</p><p>armazena na variável numero do tipo inteiro, depois verifica se o valor da variável numero é</p><p>menor que 0, se condição for verdadeira, imprime a mensagem “Negativo”</p><p> Caso seja falso executa o else e imprime “Positivo”</p><p>Estruturas condicionais: if else</p><p>Início</p><p>numero < 0</p><p>Fim</p><p>Negativo</p><p>numero</p><p>Positivo</p><p>FV</p><p>algoritmo “negativo”</p><p>var</p><p>numero:inteiro</p><p>inicio</p><p>escreva(“Entre com um número”)</p><p>leia(numero)</p><p>se numero<0 entao</p><p>escreva(“ Negativo ”)</p><p>senão</p><p>escreva(“ Positivo ”)</p><p>fimse</p><p>fimalgoritmo</p><p> Exemplo em C: uso de (if else), programa solicita ao usuário para digitar um número e o</p><p>armazena na variável numero do tipo inteiro, depois verifica se o valor da variável numero é</p><p>menor que 0, se condição for verdadeira, imprime a mensagem “Negativo”</p><p> Caso seja falso executa o else</p><p>e imprime “Positivo”</p><p> Obs.: quando temos dentro da estrutura (if), (if- else) ou (if -</p><p>else if – else), apenas um comando, não precisamos utilizar a</p><p>abertura e fechamento de chaves { }.</p><p>Estruturas condicionais: if else</p><p>Exemplo em C:</p><p>Estruturas condicionais: if else</p><p> Exemplo em C: uso de (if else), programa verifica se o valor da variável numero é maior que</p><p>0, se condição for verdadeira, imprime a mensagem “Número é Maior que Zero!”</p><p> Caso seja falso executa o else e imprime</p><p>“Número é Igual ou Menor que Zero!”</p><p> No final independente de entrar no if ou</p><p>no else, imprime a mensagem</p><p>“\nContinuação do Programa!”.</p><p>O \n indica que deve pular uma linha.</p><p>Estruturas condicionais: if else</p><p>Exemplo em C:</p><p>Estruturas condicionais: if else</p><p>O programa abaixo verifica se o valor da variável a é igual ao da variável b. Faça uma análise</p><p>do código e assinale a alternativa que indica a saída correta do programa:</p><p>a) A é diferente de B!</p><p>Fim do Programa!</p><p>b) A é igual a B!</p><p>Fim do Programa!</p><p>c) A é diferente de B!</p><p>d) Fim do Programa!</p><p>e) A é igual a B!</p><p>Interatividade</p><p>O programa abaixo verifica se o valor da variável a é igual ao da variável b. Faça uma análise</p><p>do código e assinale a alternativa que indica a saída correta do programa:</p><p>a) A é diferente de B!</p><p>Fim do Programa!</p><p>b) A é igual a B!</p><p>Fim do Programa!</p><p>c) A é diferente de B!</p><p>d) Fim do Programa!</p><p>e) A é igual a B!</p><p>Resposta</p><p>Solução:</p><p>Alternativas com erros:</p><p>b, c, d e e</p><p>b) erro, a não é igual a b.</p><p>c) erro, falta a mensagem</p><p>“Fim do Programa!”</p><p>d) erro, falta a mensagem</p><p>do if ou do else.</p><p>e) erro, a não é igual a b e</p><p>falta a mensagem “Fim do</p><p>Programa!”</p><p>Portanto, alternativa</p><p>correta a.</p><p> Uma instrução if pode ser seguida por uma instrução else if (opcional), sendo muito útil para</p><p>testar várias condições relacionadas. Esta estrutura pode utilizar comandos if aninhados.</p><p>Estruturas condicionais: if - else if - else</p><p>se (condição verdadeira) então {</p><p>bloco de instruções</p><p>}</p><p>senão se (condição verdadeira) então {</p><p>bloco de instruções</p><p>}</p><p>senão {</p><p>bloco de instruções</p><p>}</p><p>if (condição verdadeira) {</p><p>bloco de instruções</p><p>}</p><p>else if (condição verdadeira) {</p><p>bloco de instruções</p><p>}</p><p>else {</p><p>bloco de instruções</p><p>}</p><p> Exemplo: Algoritmo para determinar qual entre dois números é o maior usando uma</p><p>linguagem de pseudocódigo. Esta estrutura com comandos if-else aninhados.</p><p>Estruturas condicionais: if - else if - else</p><p>algoritmo “maior”</p><p>var</p><p>n1, n2:inteiro</p><p>inicio</p><p>escreva(“Entre com dois número”)</p><p>leia(n1, n2)</p><p>se n1>n2 entao</p><p>escreva(“ O maior é ”, n1)</p><p>senão</p><p>se(n2>n1) então</p><p>escreva(“O maior é”, n2)</p><p>senão</p><p>escreva(“Os valores são iguais”)</p><p>fimse</p><p>fimse</p><p>fimalgoritmo</p><p> Exemplo em C: Programa para determinar</p><p>qual entre dois números é o maior usando a</p><p>linguagem C.</p><p>Estruturas condicionais: if - else if - else</p><p> Exemplo em C: Programa para determinar se um número é maior, menor ou igual a zero.</p><p>Estruturas condicionais: if - else if - else</p><p> Exemplo em C: Programa para determinar</p><p>qual entre três números é o maior.</p><p>Estruturas condicionais: if - else if - else</p><p> Exemplo em C: Programa para determinar</p><p>qual entre três números é o maior.</p><p>Simplificando, temos:</p><p>Estruturas condicionais: if - else if - else</p><p>Considere os algoritmos 1 e 2, a seguir:</p><p>O resultado final da variável “x”, exibida para o usuário nos Algoritmos 1 e 2,</p><p>respectivamente é:</p><p>a) 5 e 0</p><p>b) 9 e 9</p><p>c) 5 e 5</p><p>d) 9 e 5</p><p>e) 10 e 15</p><p>Interatividade</p><p>Algoritmo 1 Algoritmo 2</p><p>int x = 0;</p><p>if (x <= 4){</p><p>x = 5;</p><p>}</p><p>if (x > 4){</p><p>x = x + 4;</p><p>}</p><p>printf(“%d”, x);</p><p>int x = 0;</p><p>if (x <= 4){</p><p>x = 5;</p><p>}</p><p>else{</p><p>x = x + 4;</p><p>}</p><p>printf(“%d”, x)</p><p>Considere os algoritmos 1 e 2, a seguir:</p><p>O resultado final da variável “x”, exibida para o usuário nos Algoritmos 1 e 2,</p><p>respectivamente é:</p><p>a) 5 e 0</p><p>b) 9 e 9</p><p>c) 5 e 5</p><p>d) 9 e 5</p><p>e) 10 e 15</p><p>Resposta</p><p>Solução:</p><p>Algoritmo 1:</p><p>Inicialmente x vale zero, então a</p><p>condição (x <= 4) é verdadeira e x</p><p>recebe 5. Depois a condição do</p><p>segundo if também é verdadeira,</p><p>pois, 5 é maior que 4, então, x</p><p>recebe x + 4, ou seja, x = 5 + 4 = 9.</p><p>Algoritmo 2:</p><p>Inicialmente x vale zero, então a</p><p>condição (x <= 4) é verdadeira e x</p><p>recebe 5 e o else é ignorado,</p><p>então, x = 5.</p><p>Portanto, alternativa correta d.</p><p>Algoritmo 1 Algoritmo 2</p><p>int x = 0;</p><p>if (x <= 4){</p><p>x = 5;</p><p>}</p><p>if (x > 4){</p><p>x = x + 4;</p><p>}</p><p>printf(“%d”, x);</p><p>int x = 0;</p><p>if (x <= 4){</p><p>x = 5;</p><p>}</p><p>else{</p><p>x = x + 4;</p><p>}</p><p>printf(“%d”, x)</p><p>Analisando problemas com o uso de if</p><p> Exemplo em C: Este programa calcula a média</p><p>entre duas notas de um aluno. Em seguida,</p><p>imprime o valor da média e o desempenho do</p><p>aluno com base em sua média de notas.</p><p>Saída no console deste programa:</p><p>Estruturas condicionais: if - else if - else</p><p>Exemplo em C: Programa para calcular o</p><p>Índice de Massa Corporal (IMC) em C, este</p><p>programa solicita ao usuário que forneça</p><p>seu peso em quilogramas e sua altura</p><p>em metros. O IMC é calculado pela fórmula:</p><p>Estruturas condicionais: if - else if - else</p><p> Exemplo em C: Categorizar uma pessoa por idade. Este programa lê a idade de uma pessoa</p><p>e a categoriza em faixas etárias.</p><p>Saída no console deste programa, para uma</p><p>pessoa que tenha 30 anos:</p><p>Estruturas condicionais: if - else if - else</p><p> O comando switch é próprio para se testar uma variável em relação a diversos valores pré-</p><p>estabelecidos. Ou seja, o switch é uma instrução que permite a comparação do valor de uma</p><p>variável com várias possibilidades de valores, e cada possibilidade é associada a um bloco</p><p>de código executável.</p><p>Estruturas condicionais: switch-case</p><p>Variável</p><p>Instruções Instruções Instruções</p><p>VL 1 VL 2 VL n</p><p>switch</p><p> Pode haver inúmeros cases em um switch. Cada case é seguido por um valor a</p><p>ser comparado.</p><p>Tipos permitidos:</p><p> int, byte, short, char, Strings</p><p> Comando break</p><p> Comando default</p><p>Exemplo:</p><p>Estruturas condicionais: switch-case switch</p><p> Exemplo: uma calculadora simples, que</p><p>leia dois números e a operação (+ - * /).</p><p>Estruturas condicionais: switch-case switch</p><p>Este programa calcula a média entre três notas. Em seguida, imprime o valor da média e o</p><p>desempenho do aluno com base em sua média de notas. Considerando o código abaixo,</p><p>assinale a alternativa correta.</p><p>a) Aluno aprovado com louvor!</p><p>b) Aluno aprovado com bons resultados.</p><p>c) Aluno aprovado.</p><p>d) Aluno em recuperação.</p><p>e) Aluno reprovado.</p><p>Interatividade</p><p>Este programa calcula a média entre três notas. Em seguida, imprime o valor da média e o</p><p>desempenho do aluno com base em sua média de notas. Considerando o código abaixo,</p><p>assinale a alternativa correta.</p><p>a) Aluno aprovado com louvor!</p><p>b) Aluno aprovado com bons resultados.</p><p>c) Aluno aprovado.</p><p>d) Aluno em recuperação.</p><p>e) Aluno reprovado.</p><p>Resposta</p><p>Solução:</p><p>Fazendo o cálculo da</p><p>média temos:</p><p>(7.5 + 10.0 + 6.5)/3 = 8.0</p><p>Portanto, alternativa</p><p>correta b.</p><p>ATÉ A PRÓXIMA!</p>