Baixe o app para aproveitar ainda mais
Prévia do material em texto
Construção de Algoritmos Construção de Algoritmos 1ª edição 2018 Presidente do Grupo Splice Reitor Diretor Administrativo Financeiro Diretora da Educação a Distância Gestor do Instituto de Ciências Sociais Aplicadas Gestora do Instituto da Área da Saúde Gestora do Instituto de Ciências Exatas Autoria Parecerista Validador Antônio Roberto Beldi João Paulo Barros Beldi Claudio Geraldo Amorim de Souza Jucimara Roesler Henry Julio Kupty Marcela Unes Pereira Renno Regiane Burger Ronan Loschi Rodrigues Ferreira Fabiano Prado Marques *Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência. Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização. A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal. 61 4Unidade 4 4. Estruturas Condicionais ou de Decisão Para iniciar seus estudos Durante o estudo desta unidade, você compreenderá os conceitos e comandos das estruturas de decisão na linguagem de programação C. Para seguir em frente, é importante organizar seus horários e seu ambiente de estudos. Objetivos de Aprendizagem • Definir as estruturas de decisão. • Diferenciar as estruturas de decisão simples (if), dupla (if-else) e encadeada (if-else-if), bem como a decisão por valor (switch-case). • Empregar as estruturas de decisão em pequenos programas de computador. 62 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão Introdução da unidade Nesta unidade, você estudará sobre as estruturas de decisão da linguagem de programação C. Primeiramente, ser-lhe-ão apresentados conceitos sobre a estrutura de decisão simples e, na sequência, sobre as estruturas de decisão dupla e encadeada. Por último, você verá a estrutura de decisão por teste de valor, conhecida como switch-case. Ao final, verá como são aplicadas as estruturas de decisão para a programação de computadores e poderá observar como o poder de programar fica maior com essas estruturas, pois elas permitem resolver pro- blemas mais elaborados. 4.1 Estruturas de decisão ou de controle de fluxo As estruturas de decisão permitem o controle e o desvio do fluxo durante a execução de um programa de com- putadores. Essas estruturas são fundamentais para a programação de computadores em qualquer linguagem de programação, inclusive na linguagem C. Sem essas estruturas, os programas de computador seriam muito limitados, pois suas instruções ou comandos só poderiam ser executados em sequência, ou seja, uma instrução ou comando por vez. Com as estruturas de decisão, o programador tem condições de resolver problemas mais elaborados e com mais de uma opção de solução (DALMAS, 2016). As estruturas de decisão fazem o controle do fluxo de execução do programa com base em condições que são avaliadas; além disso, com base no resultado dessa avaliação, determinarão quais blocos de instruções serão executados e quais serão ignorados. As condições utilizam expressões com operadores relacionais e operadores lógicos, sendo que o seu resultado é um valor lógico – VERDADEIRO ou FALSO. Uma condição é avaliada, bem como uma decisão é tomada diante do resultado dessa avaliação. Veja, por exemplo, a condição formada pela expressão (A < B), que utiliza o operador relacional “<” (menor que). Se o valor da variável A for menor que o valor da variável B, o resultado da avaliação será VERDADEIRO. Se o valor da variável A for maior ou igual ao valor da variável B, o resultado da avaliação será FALSO. O resultado da avalia- ção da expressão será utilizado para a tomada de decisão de qual bloco de instruções será executado em seguida e qual bloco será ignorado. As estruturas de decisão simples, dupla e encadeada mantêm o controle de fluxo de execução utilizando o comando if (SE, no Portugol). O comando if contém uma condição formada por uma expressão com operado- res relacionais e operadores lógicos. Tal condição, ao ser avaliada, dará um resultado VERDADEIRO ou FALSO, determinando o controle do fluxo de execução do código do programa, seguindo o caminho do resultado VER- DADEIRO ou o caminho do resultado FALSO. Nos dois casos, os caminhos a serem seguidos serão determinados pelo programador, que codifica a expressão a ser avaliada de acordo com as necessidades do problema a ser resolvido. Conforme a estrutura de decisão utilizada, o programa decide entre um ou vários caminhos possíveis, dependendo de cada problema a ser resolvido (GUIMARÃES, 2008). Outro exemplo de caminho a ser seguido por uma tomada de decisão pode ser o seguinte: pense numa média de notas lida como dado de entrada, cujo valor deve estar entre zero e dez. Pensou? Muito bem, agora, SE a nota que você pensou for maior ou igual a seis, então o resultado de saída poderia ser a mensagem “APROVADO”; caso contrário, a mensagem poderia ser “REPROVADO” ou, ainda, se a média estivesse num intervalo específico – por exemplo, entre 5 e 5.9 –, o resultado poderia ser “RECUPERAÇÃO”. Ou seja, nesse caso, há três caminhos possíveis, e apenas um poderá ser seguido, e isto dependerá do resultado da avaliação da condição (MÉDIA ≥ 6). 63 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão Para a programação de computadores, a quantidade de caminhos disponíveis para o fluxo de execução do código e o tipo de condição a ser avaliada ajudarão na escolha de qual estrutura de decisão utilizar, lembrando que as estruturas de decisão disponíveis são: estrutura de decisão simples (if), estrutura de decisão dupla (if-else), estru- tura de decisão encadeada (if-else-if) e a estrutura de decisão múltipla por valor (switch-case). A relação entre qual estrutura utilizar e a quantidade de caminhos disponíveis para a decisão é apresentada no Quadro 9. Quadro 9 – Relação de qual estrutura utilizar e a quantidade de caminhos disponíveis para a decisão Estrutura de decisão condicional Quantidade de caminhos (fluxo) Simples: if (se) Um único caminho Dupla composta: if-else (se-senão) Dois caminhos Encadeada: if-else-if (se-senão-se) Três ou mais caminhos sequenciais Múltipla por valor: switch-case (seleção de múltiplos valores) Múltiplos caminhos sequenciais ou não Fonte: Elaborado pelo autor. Apenas um caminho por vez poderá ser seguido pelo fluxo, mesmo que vários estejam dis- poníveis. Essa decisão dependerá do resultado da condição a ser analisada. Resumidamente, entende-se que, se o resultado lógico da condição for VERDADEIRO, então “vá por esse caminho” senão “vá por aquele outro caminho” e assim por diante! Fique atento! As possibilidades de caminhos a serem seguidos durante a execução de um programa de computador também podem ser representadas por meio de fluxogramas. Esse tipo de representação serve para ajudar o programador a entender melhor o problema, bem como a sua solução antes mesmo de iniciar o desenvolvimento do código. O foco aqui não é o estudo de fluxogramas, e sim o estudo dos comandos na linguagem de programação C. No entanto, para facilitar o entendimento daqui para frente, a Figura 27 mostra um exemplo de fluxograma em que, depen- dendo do resultado da condição, ou seja, dependendo da decisão, o fluxo pode ir por um caminho ou por outro. Figura 27 – Fluxograma de tomada de decisão Fonte: SHUTTERSTOCK, 2018. 64 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão 4.1.1 Estrutura de decisão simples (if) A estrutura de decisão simples na linguagem de programação C é representada pela seguinte sintaxe: if (<condição>) Instrução; ... o código pode ter continuidade após a condição; Para essa sintaxe, a instrução será executada quando o resultado da condição for VERDADEIRO e não será execu- tada quando o resultado da condição for FALSO. A instrução pode ser comandos da linguagem C e dependerá de cada problema a ser solucionado.Observe, então, que só existe um caminho possível para que a instrução seja executada, e esse caminho depende do resultado da condição. Pode ser necessário executar duas ou mais instruções quando o resultado da condição for VERDADEIRO. Nesse caso, será necessário utilizar os delimitadores de início ({) e de fim (}) da linguagem C para limitar o bloco de instruções que serão executadas. A sintaxe da estrutura condicional simples para esses casos é apresentada a seguir: if (<condição>){ Instrução1; Instrução2; Instrução3; Instrução4; ... InstruçãoX; } ... o código pode ter continuidade após a condição; Observe que, nessa sintaxe, cada instrução termina com um ponto e vírgula e que todas serão executadas somente SE o resultado da condição for VERDADEIRO. Veja agora alguns exemplos de problemas e, posteriormente, copie e teste cada um deles no Dev C++. Problema 1: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor da idade de uma pessoa. Em seguida, esse programa deve imprimir uma mensagem informando que a pessoa é maior de idade caso a idade informada seja maior ou igual a 18 anos. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); 65 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão int idade; printf(“Digite a idade da pessoa: \n”); scanf(“%i”, &idade); if (idade >= 18) printf(“A pessoa é maior de idade!: \n”); return 0; } Obs.: neste exemplo, caso o usuário entre com um valor abaixo de 18, o programa não dará nenhuma resposta. Isso está correto, pois o enunciado do Problema 1 pediu para imprimir a mensagem somente quando a pessoa for maior de idade. Em outras palavras, há um único caminho. Problema 2: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor de uma letra qualquer do alfabeto português. Em seguida, esse programa deve imprimir uma mensagem infor- mando se a letra lida é uma vogal caso seja “a”, “e”, “i”, “o”, “u” ou “A”, “E”, “I”, “O”, “U”. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); char letra; printf(“Digite uma letra\n”); scanf(“%c”,&letra); if((letra == ‘a’)|| (letra == ‘e’)|| (letra == ‘i’)|| (letra == ‘o’)|| (letra == ‘u’)||(letra == ‘A’)|| (letra == ‘E’)||(letra==’I’)|| (letra == ‘O’)||(letra == ‘U’)) printf(“É Vogal!\n”); return 0; } Obs.: neste exemplo, caso o usuário entre com o valor de uma consoante, o programa não dará nenhuma res- posta. E isso está correto, pois o enunciado do Problema 2 pediu para imprimir a mensagem somente quando a letra lida corresponder a uma das vogais, ou seja, havia apenas um único caminho. Problema 3: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor da altura de uma pessoa. Em seguida, esse programa deve imprimir uma mensagem informando se a pessoa tem estatura alta caso o valor informado esteja entre 1,9 metro e 2,3 metros. 66 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); float altura; printf(“Digite a altura de uma pessoa:\n”); scanf(“%f”,&altura); if(altura >= 1,9) && (altura <= 2,3) printf(“A pessoa possui estatura alta.\n”); return 0; } Obs.: neste exemplo, caso o usuário entre com um valor para a variável altura que esteja fora do intervalo estabe- lecido, o programa não dará nenhuma resposta. E isso está correto, pois o enunciado do Problema 3 pediu para imprimir a mensagem somente quando a altura informada estiver dentro do intervalo estabelecido, ou seja, aqui também havia um único caminho. 4.1.2 Estrutura de decisão dupla (if-else): A estrutura de decisão dupla na linguagem de programação C é representada pela seguinte sintaxe: if (<condição>) instrução se verdadeiro; else instrução se falso; ... o código pode ter continuidade após a condição; Nessa sintaxe, a instrução se verdadeiro será executada quando o resultado da condição for VERDADEIRO e não será executada quando o resultado da condição for FALSO. Já a instrução se falso será executada somente quando o resultado da condição for FALSO. Observe que agora existem dois caminhos possíveis, sendo um para executar a instrução se verdadeiro, e outro para executar a instrução se falso. Acontece que pode ser necessário executar duas ou mais instruções quando o resultado da condição for VER- DADEIRO ou quando o resultado da condição for FALSO. Nesse caso, será necessário utilizar os delimitadores de início “{” e de fim “}” da linguagem C para limitar os blocos de instruções que serão executadas. A sintaxe da estrutura condicional composta para esses casos é apresentada a seguir: 67 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão if (<condição>){ Instrução1 se verdadeiro; Instrução2 se verdadeiro; Instrução3 se verdadeiro; Instrução4 se verdadeiro; ... InstruçãoX se verdadeiro; } else{ Instrução1 se falso; Instrução2 se falso; Instrução3 se falso; Instrução4 se falso; ... InstruçãoX se falso; } ... o código pode ter continuidade após a condição; Observe que, nessa sintaxe, cada instrução termina com um ponto e vírgula. Veja os exemplos de problemas a seguir e, posteriormente, copie e teste cada um deles no Dev C++. Problema 1: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor da idade de uma pessoa. Em seguida, esse programa deve imprimir uma mensagem informando que a pessoa é maior de idade caso a idade informada seja maior ou igual a 18 anos. Caso contrário, imprimir a mensagem informando que a pessoa é menor de idade. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); int idade; printf(“Digite a idade da pessoa: \n”); scanf(“%i”, &idade); if (idade >= 18) printf(“A pessoa é maior de idade!:. \n”); else printf(“A pessoa é menor de idade!:. \n”); return 0; } Obs.: neste exemplo, caso o usuário entre com um valor maior ou igual a 18, o programa imprimirá que a pessoa é maior de idade. Caso contrário, imprimirá que a pessoa é menor de idade. Em outras palavras, há dois caminhos. 68 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão Problema 2: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor de uma letra qualquer do alfabeto português. Em seguida, esse programa deve imprimir uma mensagem infor- mando que a letra lida é uma vogal caso seja “a”, “e”, “i”, “o”, “u” ou “A”, “E”, “I”, “O”, “U”. Caso contrário, imprimir a mensagem informando que a letra digitada é uma consoante. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); char letra; printf(“Digite uma letra\n”); scanf(“%c”,&letra); if((letra == ‘a’)||(letra == ‘e’)|| (letra == ‘i’)||(letra == ‘o’)|| (letra == ‘u’)||(letra == ‘A’)|| (letra == ‘E’)||(letra == ‘I’)|| (letra == ‘O’)||(letra == ‘U’)) printf(“É Vogal!”); else printf(“É consoante!: \n”); return 0; } Obs.: neste exemplo, caso o usuário entre com o valor de uma vogal, o programa imprimirá uma mensagem informando “É vogal!”. Caso contrário, o programa imprimirá uma mensagem informando “É consoante!”. Ou seja, há dois caminhos. Problema 3: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor de um número inteiro positivo. Em seguida, esse programa imprimirá uma mensagem informando se o número lido é par ou ímpar. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); int num; printf(“Digite um número inteiro positivo:\n”); 69 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão scanf(“%i”,&num); if ((num % 2) == 0) printf(“\n O número%i é PAR!\n\n”,num); else printf(“\n O número %i é IMPAR!\n\n”,num); return 0; } A condição if ((num % 2) == 0) verificará por meio do operador % se o resto da divisão inteira do valor da variável num pela constate 2 é igual a zero. Se for igual a zero, então o número informado é par; senão, é ímpar! Saiba mais 4.1.3 Estrutura de decisão encadeada (if-else-if) A estrutura de decisão encadeada representa o agrupamento de vários níveis de decisão. Na linguagem de pro- gramação C, a sua sintaxe é representada da seguinte maneira: if (<condição1>) Instrução1 se verdadeiro; else if (<condição2>) instrução2 se verdadeiro; else if (<condição3>) instrução3 se verdadeiro; else if (<condiçãoX>) instruçãox se verdadeira; else instrução se nenhuma condição for verdadeira; ... o código pode ter continuidade após a condição; Nessa sintaxe, cada uma das instruções só será executada se a condição for verdadeira. Caso contrário, o fluxo seguirá para analisar a próxima condição. Isso ocorrerá até que se encontre uma condição verdadeira ou até que se chegue ao final da decisão encadeada. No final, pode-se, opcionalmente, colocar mais um else, sem condição, para o caso de nenhuma das condições anteriores ser verdadeira. 70 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão Pode ser necessário executar duas ou mais instruções quando uma das condições for verdadeira. Nesse caso, será necessário utilizar os delimitadores de início “{” e de fim “}” da linguagem C para limitar os blocos de instruções que serão executadas. A sintaxe da estrutura de decisão encadeada para esses casos é apresentada a seguir: if (<condição1>){ Instrução1 se a condição 1 for verdadeira; Instrução2 se a condição 1 for verdadeira; Instrução3 se a condição 1 for verdadeira; Instrução4 se a condição 1 for verdadeira; ... InstruçãoX se a condição 1 for verdadeira; } else if (<condição2>){ Instrução1 se a condição 2 for verdadeira; Instrução2 se a condição 2 for verdadeira; Instrução3 se a condição 2 for verdadeira; Instrução4 se a condição 2 for verdadeira; ... InstruçãoX se a condição 2 for verdadeira; } else if (<condição3>){ Instrução1 se a condição 3 for verdadeira; Instrução2 se a condição 3 for verdadeira; Instrução3 se a condição 3 for verdadeira; Instrução4 se a condição 3 for verdadeira; ... InstruçãoX se a condição 3 for verdadeira; } else if (<condiçãoX>){ Instrução1 se a condição X for verdadeira; Instrução2 se a condição X for verdadeira; Instrução3 se a condição X for verdadeira; Instrução4 se a condição X for verdadeira; ... InstruçãoX se a condição X for verdadeira; } else{ Instrução1 se nenhuma condição for verdadeira; Instrução2 se nenhuma condição for verdadeira; Instrução3 se nenhuma condição for verdadeira; Instrução4 se nenhuma condição for verdadeira; ... InstruçãoX se nenhuma condição for verdadeira; 71 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão } ... o código pode ter continuidade após a condição; Observe na sintaxe que o número de condições encadeadas dependerá de cada problema que for analisado, podendo existir três caminhos ou mais. Veja os exemplos de problemas a seguir e, posteriormente, copie e teste cada um deles no Dev C++. Problema 1: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor do peso de uma mochila. Em seguida, esse programa deve imprimir a mensagem “mochila leve” caso o peso esteja abaixo de 5 kg. Caso o peso esteja entre 5 kg e 10 kg, escrever “mochila pesada”; se estiver acima, imprimir “mochila muito pesada”. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); float peso; printf(“Digite o peso da mochila (Kg):\n”); scanf(“%f”,&peso); if (peso < 5.0) printf(“\nMochila leve!\n\n\n”); else if ((peso >= 5.0) && (peso <= 10.0)) printf(“\nMochila pesada!\n\n\n”); else printf(“\nMochila muito pesada!\n\n\n”); return 0; } Problema 2: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor do saldo bancário inicial (saldo), um valor a ser depositado (crédito) e um cheque a ser descontado (débito) na conta de um cliente. Em seguida, o programa deve imprimir uma mensagem informando se o novo saldo é “posi- tivo”, “nulo” ou “negativo”, bem como apresentar o valor do novo saldo. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); 72 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão float saldo, credito, debito, novoSaldo; printf(“Digite o saldo inicial:\n”); scanf(“%f”,&saldo); printf(“\nDigite o valor do deposito (credito):\n”); scanf(“%f”,&credito); printf(“\nDigite o valor do debito:\n”); scanf(“%f”,&debito); novoSaldo = saldo + credito - debito; printf(“\nO novo saldo e = %5.2f\n\n”,novoSaldo); if (novoSaldo > 0.0) printf(“\n Saldo positivo!\n\n”); else if (novoSaldo < 0.0) printf(“\n Saldo negativo!\n\n”); else printf(“\n Saldo nulo!\n\n\n”); return 0; } 4.1.4 Estrutura de decisão múltipla por valor (switch-case) A estrutura de decisão múltipla por teste de valor avalia o resultado de uma expressão aritmética inteira (tipo int) ou o valor de uma variável do tipo int ou char. A partir daí, há inúmeras possibilidades de testes de valor, que podem conter uma constante ou literal, sempre inteiro (int) ou char. Há ainda uma última comparação – valor default – para o caso de não haver nenhum valor equivalente ao valor da expressão ou variável. switch (expressão aritmética inteira ou variável){ case constante1: comandos; break; case constante2: comandos; break; case constante3: comandos; break; case constante4: comandos; break; 73 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão case constante5: comandos; break; case constanteX: comandos; break; . . . default: comandos; } O comando switch-case tem a seguinte semântica: inicialmente, verifica-se o conteúdo da variável ou expressão inteira e, em seguida, identifica-se qual das constantes corresponde ao mesmo conteúdo da variável ou expres- são inteira. Após essa identificação verdadeira, o fluxo é desviado para executar o bloco identificado. Após a execução do comando ou do bloco de comandos, outro comando entrará em ação para finalizar o switch, sem se importar com quantas “condições” ainda teriam na sequência, pois, afinal, elas não precisam ser execu- tadas. Esse comando é o break. Caso nenhuma das constantes corresponda ao conteúdo da expressão ou variável, então o comando default será executado. Veja alguns exemplos de problemas a seguir e, posteriormente, copie e teste cada um deles no Dev C++. Problema 1: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o valor de um número inteiro correspondente a um dia da semana; por exemplo: 1 – domingo, 2 – segunda-feira, 3 – terça-feira, etc. Após essa leitura, o programa deve imprimir na tela o nome do dia em forma de texto. Quando o número digitado não corresponder a nenhum dos dias da semana, o programa deve apresentar uma mensagem default informando que o número digitado é inválido. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); int dia; printf(“Digite um número inteiro correspondente a um dia da semana, exemplo: \n\n1- domingo; \n2-segunda-fera ...\n\n”); scanf(“%i”,&DIA); switch(dia){ case 1: printf(“\n Domingo!\n\n”); 74 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão break; case 2: printf(“\n Segunda-feira!\n\n”); break; case 3: printf(“\n Terca-feira!\n\n”); break; case 4: printf(“\n Quarta-feira!\n\n”); break; case 5: printf(“\n Quinta-feira!\n\n”); break; case 6: printf(“\n Sexta-feira!\n\n”);break; case 7: printf(“\n Sabado!\n\n”); break; default: printf(“\n Numero invalido.\n “); } return 0; } Problema 2: escreva um programa de computador utilizando a linguagem C que leia (entrada de dados) o número correspondente a um mês do ano e que, então, apresente na tela o nome do mês. Quando o número digitado não corresponder a um dos meses do ano, o programa deve apresentar uma mensagem informando que o número digitado é inválido. #include <stdio.h> #include <locale.h> int main( ){ setlocale(LC_ALL, “Portuguese”); int mes; 75 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão printf(“Digite o número correspondente a um mês do ano, exemplo: \n\n1-janeiro; \n2-fevereiro ...\n\n”); scanf(“%i”,&mes); switch(mes){ case 1: printf(“\n Janeiro!\n\n”); break; case 2: printf(“\n Fevereiro!\n\n”); break; case 3: printf(“\n Marco!\n\n”); break; case 4: printf(“\n Abril!1\n\n”); break; case 5: printf(“\n Maio!\n\n”); break; case 6: printf(“\n Junho!\n\n”); break; case 7: printf(“\n Julho!\n\n”); break; case 8: printf(“\n Agosto!\n\n”); break; case 9: printf(“\n Setembro!\n\n”); break; case 10: printf(“\n Outubro!\n\n”); break; case 11: printf(“\n Novembro!\n\n”); 76 Construção de Algoritmos | Unidade 4 - Estruturas Condicionais ou de Decisão break; case 12: printf(“\n Dezembro!\n\n”); break; default: printf(“\n Número do mês inválido.\n “); } return 0; } Síntese da unidade Por meio desta unidade, você foi capaz de entender os conceitos de estruturas de decisão para a linguagem de programação C. Além disso, você pôde testar pequenos programas, observar a aplicação dessas estruturas na prática e como foi possível resolver problemas mais elaborados com a aplicação dos comandos if, if-else, if-else-if e switch-case. 77 Considerações finais Parabéns, você chegou ao final da unidade 4 e aprendeu a aplicar os comandos referentes às estruturas de decisão para a programação de computadores utilizando a linguagem C. Com isso, seu poder para cons- truir programas de computador ficou ainda maior, pois as estruturas de decisão permitem resolver problemas mais elaborados por meio da pro- gramação de computadores. Agora, siga em frente! Unidade 1 1. Introdução aos Conceitos de Algoritmo e Ambientes de Desenvolvimento (IDE) em C Unidade 2 2. Tipos de Dados, Constantes, Variáveis, Operadores e Expressões em C Unidade 3 3. Função de Entrada e Função de Saída em C Unidade 4 4. Estruturas Condicionais ou de Decisão Unidade 5 5. Estruturas de Repetição: while e do-while Unidade 6 6. Estruturas de Repetição: for Unidade 7 7. Estrutura de Dados: Vetores e Matrizes Unidade 8 8. Aplicação de Estruturas Condicionais, Estruturas de Repetição, Vetores e Matrizes em C para Solução de Problemas
Compartilhar