Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 1 Conceitos Básicos O homem sempre procurou criar máquinas que o auxiliassem em seu trabalho, diminuindo esforço e economizando tempo. Dentre essas máquinas, o computador vem se mostrando uma das mais versáteis, rápidas e seguras. O computador pode auxiliar em qualquer tarefa. É muito trabalhador, possui muita energia, mas não tem iniciativa, nenhuma independência, não é criativo nem inteligente, por isso precisa receber instruções nos mínimos detalhes. A finalidade de um computador é receber, manipular e armazenar dados. Visto somente como um gabinete composto de circuitos eletrônicos, cabos e fontes de alimentação, certamente ele parece não ter nenhuma utilidade. O computador só consegue armazenar dados em discos, imprimir relatórios, gerar gráficos, realizar cálculos, entre outras funções, por meio de programas. Portanto, a finalidade do computador é realizar a tarefa de processamento de dados, isto é receber dados por um dispositivo de entrada (por exemplo, o teclado), realizar operações com esses dados e gerar uma resposta que será expressa em um dispositivo de saída (por exemplo, o monitor de vídeo). Um computador possui duas partes distintas que trabalham juntas: o hardware (composto pelas partes físicas) e o software (composto pelos programas). Quando se desenvolve um software para realizar determinado tipo de processamento de dados, deve-se escrever um programa ou vários programas interligados. No entanto, para que o computador compreenda e execute esse programa, devemos escrevê-lo usando uma linguagem que tanto o computador quanto o criador do software entendam. Essa linguagem é chamada de linguagem de programação. As etapas para o desenvolvimento de um programa são: Análise: nesta estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saída. Algoritmo: ferramentas (descrição narrativa, fluxograma ou português estruturado) que são utilizados para descrever o problema com suas soluções. Codificação: o algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar. O que é Lógica. O homem por si só é um ser lógico, e essa lógica é um dom que não se aprende de uma hora para outra. Resulta, em geral, de experiências do dia a dia. Usamos a lógica quando executamos ordenadamente uma série de rotinas predeterminadas, tais como: levantar da cama, pegar chinelos, trocar uma lâmpada e etc. Conceito de lógica: conjunto de leis, princípios ou métodos que determinam um raciocínio coerente, induzindo a uma solução prática e eficaz do problema. 1) Qual a sequência lógica a seguir: a) 1, 4, 9, 16, 25, ______ b) 1 1 2 3 5 8 13 ______ c) U D T Q C S S ____ _____ Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 2 2) Três irmãos receberam um pacote de formato diferente, contendo uma camisa e um cheque. Partindo das premissas abaixo, pode-se descobrir o nome dos três irmãos, o formato do pacote, a cor da camisa e o valor do cheque que cada um ganhou? Premissas O cheque de R$ 350,00 estava no mesmo pacote da camisa roxa. O cheque de R$ 400,00 estava no pacote oval. O cheque de Bento era no valor de R$ 250,00. A camisa de Benedito era Rosa. A camisa abóbora não estava no pacote redondo. Antônio não desembrulhou o pacote quadrado. Resposta: Nome Pacote Camisa Cheque 3) Retire três palitos da figura A e obtenha apenas três quadrados. Qual será o próximo símbolo da sequência da figura B? Reposicione dois palitos na figura C e obtenha uma figura com cinco quadrados iguais. A) B) C) 4) Observe as multiplicações a seguir: 12.345.679 × 18 = 222.222.222 12.345.679 × 27 = 333.333.333 ... ... 12.345.679 × 54 = 666.666.666 Para obter 999.999.999 devemos multiplicar 12.345.679 por quanto? 5) Qual o valor da pedra que deve ser colocada em cima de todas estas para completar a sequência abaixo? Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 3 Algoritmos video aula (Aula 945: Algoritmos e Lógica de Programação – Introdução) Lógica não computacional Algoritmos é uma sequência de passos que visa atingir um objetivo bem definido. Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa. Algoritmo é uma sequência finita de instruções ou operações cuja execução, tem tempo finito, resolve um problema computacional. Analisando as definições anteriores, pode-se perceber que executamos no dia-a-dia vários algoritmos: Algoritmo 1: Trocar uma Lâmpada Passo 1 - Pegar a lâmpada nova. Passo 2 - Pegar a escada. Passo 3 - Posicionar a escada embaixo da lâmpada queimada. Passo 4 - Subir na escada com a lâmpada nova na mão. Passo 5 - Retirar a lâmpada queimada. Passo 6 - Colocar a lâmpada nova. Passo 7 - Descer da escada. Passo 8 - Testar o interruptor. Passo 9 - Guardar a escada. Passo 10 - Jogar a lâmpada velha no lixo Importante: Essa atividade pode ser realizada de uma maneira diferente, pois às vezes um problema pode ser resolvido de diversas maneiras, porém, gerando a mesma resposta, ou seja, podem existir vários algoritmos para solucionar o mesmo problema. Algoritmo 2: Fazer um sanduíche Algoritmo 3 – Ir para a Escola Algoritmo 4 – Sacar o dinheiro no banco 24 horas. Algoritmo 5 - Um homem precisa atravessar o rio com um barco que possui capacidade apenas para transportar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. Algoritmo 6 - Exercício das moedas. Desenhe 5 círculos. Nos círculos 1 e 2 coloque uma moeda de R$ 0,05 e nos círculos 4 e 5 uma moeda de R$ 0,10. Objetivo: Trocar as moedas de lugar Regras: Cada moeda só avança em uma direção e só um círculo. Se encontrar outra moeda, poderá saltá-la desde que o próximo círculo esteja desocupado. Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 4 Algoritmos Computacionais Fases de concepção de um algoritmo. 1) Entradas: dados que alimentam o sistema, são as informações inseridas pelo usuário. 2) Processamento: cálculo e manipulação dos dados de entrada. 3) Saída: Resultado obtido do processamento dos dados. 4) Teste de mesa: É a execução das 3 fases mencionadas anteriormente, verificando o funcionamento na prática das instruções executadas. video aula (Aula 946: Algoritmos e Lógica de Programação –Algoritmo 1) video aula (Aula 947: Algoritmos e Lógica de Programação – Exercício 1) Programação utilizando a liguagem C. Histórico da Linguagem C C é uma das linguagens de programação mais populares e existem poucos SistemasOperacionais para as quais não existem compiladores para C. A linguagem C tem influenciado muitas outras linguagens de programação mais notavelmente C++, que originalmente começou como uma extensão para a linguagem C. Dados são os fatos em sua forma primária ou é o registro de um evento. Exemplo: - nome de um empregado; - número de horas trabalhadas em uma semana; - número de peças em estoque; - pedidos de venda. Tipos de Dados: Os dados necessários para a execução de um programa deverão ser identificados em um dos tipos abaixo: Exemplo: João tem 25 anos. (INTEIRO) Esta classe tem 40 alunos. (INTEIRO) Ana tirou 9.5 em matemática. (REAL) A altura de Pedro é 1.85m (REAL) A placa daquele carro é “BPP 6745”. (CARACTERE) O nome dela é : “Maria”. (CARACTERE) int: O tipo de dado int (inteiro) serve para armazenar valores numéricos inteiros. char: serve para armazenar caracteres. Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 5 float: O tipo de dado float serve para armazenar números de ponto flutuante, ou seja, com casas decimais. double: O tipo de dado double serve para armazenar números de ponto flutuante de dupla precisão. Variáveis: Nos algoritmos destinados a resolver um problema no computador, cada variável corresponde a uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um programa. Embora possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Identificador: Toda variável tem um nome que é formado por um ou mais caracteres, sendo o primeiro obrigatoriamente uma letra e os caracteres seguintes, letras ou dígitos, não sendo permitido o uso de símbolos especiais, exceto o _ (underline). Não são aceitos palavras reservadas da linguagem. Exemplo: nomes válidos: a, a1, nome_funcionario. Case sensitive é um termo da língua inglesa que significa sensível ao tamanho, ou sensível a maiúsculas e minúsculas, ele é usado para indicar que há diferenças entre letras com caixa alta e com caixa normal. Operadores Aritméticos: +, -, *, / e % (resto da divisão). Prioridades ou precedência de operadores Prioridade mais alta: * / % Prioridade mais baixa: + - Obs : Parêntese garantem maior prioridade; Ex: para a expressão 2*(4+2) o resultado será 12 para a expressão 2*4+2 o resultado será 10 Funções: pow (base, potencia) => Exemplo =>4 2 => pow (4,2) = 16 25½ = pow (25, 0.5) = 5 Exemplo: a) 10 + 6 / 2 *20 = 70 b) 10 % 3 = 1 c) 4 + 5 * 3= 19 d) (4 + 5) * 3= 27 e) pow (3,2) = 9 f) pow (9, 0.5) = 3 g) pow (5, 3 ) = 125 h) pow (27, 0.33333) = 2.99996704181 Exercícios: Resolva as expressões determinando o valor de x. a) x = 5 + 3 * 2 + 8 b) x = ( 5 + 3 * 2) % 4 c) x = 64 / pow (4,2) Operadores Relacionais: São necessárias para fazer algum tipo de comparação. O resultado é sempre um valor lógico verdadeiro (true) ou falso (false). Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 6 == (igualdade) , >, <, >=, <=, != (diferente) Exemplo: a) 10 > 7 = verdadeiro (true) b) 7 != 7 = falso (false) Importante: um sinal de = significa atribuição Exercícios: Qual o valor lógico das expressões abaixo. a) (2+5) > 4 b) 3 != 3 c) (2*5) > 3 d) (5+1) < 2 e) 2 < (7-2) f) pow (3,2) <= 16 g) (30 % 7) != 6 h) (4+3*3) < 14 Operadores Lógicos: São utilizados para combinar duas ou mais expressões. Retornam verdadeiro (true) ou falso (false). &&: e lógico | | : ou lógico !: negação Complete a tabela verdade abaixo: Proposição A Proposiçao B Operador e (A && B) Operador ou (A || B) Operador não (! A) Verdadeiro verdadeiro V v F Verdadeiro Falso F v F Falso verdadeiro F V V Falso Falso F F v Exemplo: (( 4 > 5) && (2 != 4)) F && V F (( 4 > 5) || (2 != 4)) F || V V Linearização de Comandos: Todas as expressões matemáticas devem ser colocadas em uma linha, devendo ser feito o mapeamento dos operadores (precedência). a) b a x bax / b) c ba x cbax /)( c) a deltab x 2 d) a x 3 5 e) 9. 4 32 x x x f) 6.3 2 )1( 2 a x x Estrutura Sequencial em C-C++ Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 7 #include <nome da biblioteca> main( ) { Bloco de comandos; } As Bibliotecas são arquivos contendo várias funções que podem ser incorporadas aos programas escritos em C/C++. A diretiva #include faz com o texto contido na biblioteca especificada seja inserido no programa. Há várias bibliotecas que podem ser inseridas em um programa escrito na linguagem C, entre elas estão: iostream.h, stdio.h, conio.h e math.h. É importante salientar que a linguagem C/C++ é sensível a letras maiúsculas e minúsculas, ou seja, considera que letras maiúsculas são diferentes de minúsculas (por exemplo, a é diferente de A). Sendo assim, todos os comandos devem, obrigatoriamente, ser escritos com letras minúsculas. Comando de atribuição. Utilizar o igual (=). Exemplo: a = 10; Declaração de variáveis. As variáveis são declaradas após especificarmos os seus tipos, de acordo com os exemplos abaixo: int a; // int => inteiro float b; // float => real char opcao; // char => um caracter char nome[50] // char ... [50] => conjunto de caracteres. Comando de Saída de dados em C/C++. O comando de saída, cout, é utilizado para mostrar dados no monitor do computador. cout: mostra uma mensagem na tela ou o valor de uma variável. Exemplo: cout << “mensagem”; // mostra mensagem cout << “valor de uma variável : “ << delta; // mostra mensagem e depois o valor de delta. Comando de entrada de dados. O comando de entrada é utilizado para receber dados digitados pelo usuário. Os dados recebidos são armazenados em variáveis. São os comandos de entrada: cin >> e o gets. Exemplos: int a, b; char nome[30]; float cheque; char opcao; cout << “Entre com o valor de a : “; cin >> a; cout << “Entre com o valor de b: “ cin >> b”; Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 8 cout << “Cheque : “ ; cin >> cheque; cout << “nome : “; gets (nome); cout <<“Opção : “; cin >> opcao; Método para a construção de Algoritmos Ler atentamente o problema a ser resolvido Definir os dados de entrada Definir o processamento, ou seja, quais os cálculos a serem realizadosDefinir os dados de saída Construir o algoritmo Testa o algoritmo utilizando simulações Exercícios: Desenvolva na linguagem LINGUAGEM C os seguintes algoritmos: Exiba na tela do computador a mensagem: Aprendendo programação!!!. Construção em Linguagem C #include <conio.h> #include <iostream.h> #include <math.h> #include <stdio.h> main(){ cout << "Aprendendo programação \n"; system(“pause”); } salvar o arquivo: exemplo01.cpp Exercícios: Desenvolva na linguagem C os seguintes exercícios. 1 Exiba na tela do computador a mensagem: Aprendendo programação!!!. 2. Exiba na tela do computador a mensagem: Aprendendo programação!!! Na disciplina de Lógica 3. Exiba na tela do computador a mensagem: Aprendendo programação!!!. Na disciplina de Lógica 4. Exiba na tela do computador a mensagem: Aprendendo programação!!!. Na disciplina de Lógica Fica tudo mais fácil. Fluxograma Consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, a solução. Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 9 Indica o início e fim da solução Indica que uma entrada de dados (em uma variável). Indica o qual o sentido do fluxo de instruções Indica saída de dados, normalmente em um monitor. Indica um processo, normalmente uma atribuição de valores a uma variávei Indica decisão. 5. Calcular o valor de x1 e x2 em uma equação do 2º grau (considere que o valor de delta é positivo). ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada de dados a b c // processamento Calcula delta Calcula x1 Calcula x2 // Saída x1 x2 #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float a, b, c, delta, x1,x2; cout << " valor de a: "; cin >> a; cout << " valor de b: "; cin >> b; cout << " valor de c: "; cin >> c; delta = pow (b,2) - 4*a*c; x1 = (-b+pow (delta,0.5)) / (2*a); x2 = (-b-pow (delta,0.5)) / (2*a); cout<< " x1 vale: " << x1 << "\n"; cout<< " x2 vale: " << x2 << "\n"; system("pause"); } valor de a: 1 valor de b: 3 valor de c: -4 x1 vale: 1 x2 vale: -4 Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 10 6. Calcular o valor de uma viagem de uma cidade a outra. ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada distancia valorLitro desempenho pedagio //processamento Calcular valorTotal //saída valorTotal 7. Calcular os juros simples de uma aplicação financeira. Juros = capital * taxa/100 *periodo ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada capital taxa período // processamento Calcular juros //saída juros #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float distancia, valorLitro; float valorTotal, desempenho, pedagio; cout << " distancia: "; cin >> distancia; cout << " valor do litro: "; cin >> valorLitro; cout << " Km por litro: "; cin >> desempenho; cout << " pedagio : "; cin >> pedagio; valorTotal=(distancia*valorLitro)/desempenho + pedagio; cout << " valor do combustivel " << valorTotal << "\n"; system("pause"); } distancia:100 valor do litro:2.79 Km por litro: 10 pedagio: 10 valor do combustível: 37.9 #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ //declarar as variaveis float capital, taxa, periodo, juros; cout << " Capital : "; cin >> capital; cout << " Taxa : "; cin >> taxa; cout << " Periodo : "; cin >> periodo; juros = capital*(taxa/100)*periodo; cout << "Juros vale: " << juros << "\n"; system("pause"); } Capital: 1000 Taxa: 2 Periodo: 4 Juros vale: 80 Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 11 8. Calcular o valor do perímetro de um retângulo. Perimetro = 2*comprimento + 2*largura ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada comprimento largura // processamento Calcular o perimetro // saída perimentro 9. Calcule a área e o perímetro de um quadrado. (fórmulas: area = lado*lado e perímetro = 4*lado). ANÁLISE ALGORITMO CODIFICAÇÃO TESTE // entrada lado //processamento Calcular a area Calcular o perímetro // saída area perimetro 10. Dado o valor em quilômetros, converte esse valor em metros. ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada quilometros //processamento Converter para metros //saída metros #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ float perimetro, comprimento, largura; cout << " Comprimento : "; cin >> comprimento; cout << " Largura : "; cin >> largura; perímetro=2*comprimento+2*largura; cout << "Perimetro: " << perimetro << "\n"; system("pause"); } Comprimento:10 Largura: 5 Perimetro: 30 #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ float lado, area, perímetro; cout << “ Lado : “; cin >> lado; area = lado * lado; perímetro = 4*lado cout<< “Area : “<< area << “\n”; cout<< “Perimetro: “<< perimetro << “\n”; system (“pause”); } Lado: 3 Area: 9 Perimetro: 12 #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ //declarar as variaveis float metros, quilometros; cout << "valor em KM: "; cin >> quilometros; metros = quilometros*1000; cout << "metros " << metros << "\n"; system("pause"); } valor em KM: 10 metros: 10000 Estácio de Sá Professor RogérioDisciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 12 11. Uma empresa paga o salário bruto dos funcionários e deduz 5% de imposto. Qual o salário líquido e o valor do desconto para cada funcionário. Tela: Salário Bruto (R$): 1000.00 Imposto de Renda: R$ 50.00 Salário Líquidio: R$ 950.00 ANÁLISE ALGORITMO CODIFICAÇÃO TESTE //entrada salarioBruto //processamento Calcular imposto Calcular salarioLiquido // saída imposto salarioLiquido Exercícios: Desenvolva o algoritmo (fluxograma) de acordo com a codificação 12. Calcule o volume de uma esfera. (fórmula: 3 4 3r V ) ANÁLISE ALGORITMO CODIFICAÇÃO TESTE Teste (Tela): entrada de dados: Valor do raio:3 raio Volume vale: 113.04 processamento: cálculo do volume saída de dados: volume #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main() { // declaração de variáveis float volume, raio; // entrada de dados cout << "Valor do raio: "; cin>> raio; // processamento volume= 4 * 3.14 * pow (raio,3)/3; // saída de dados cout << " Volume vale : " << volume; system("pause"); } #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ //declarar as variaveis float imposto,salarioLiquido; float salarioBruto; cout << "Salario Bruto: "; cin >> salarioBruto; imposto = salarioBruto*0.05; salarioLiquido=salarioBruto-imposto; cout<<"Imposto: "<<imposto << "\n"; cout<<" Liquido: "<<salarioLiquido<<"\n"; system("pause"); } Salario Bruto: 1000 Imposto: 50 Liquido: 950 Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 13 13. Calcule a média final (média ponderada) da disciplina de lógica de programação, de acordo com a seguinte fórmula: 2.0*_8.0*__ trabalhonotaprovanotafinalmédia ) ANÁLISE ALGORITMO CODIFICAÇÃO TESTE Teste (Tela): entrada de dados nota da prova:8 nota da prova nota do trabalho:6 nota do trabalho nota final: 7.6 processamento calcular nota final saída nota final 14. Calcule a raiz quadrada e raiz cúbica de um determinado número. ANÁLISE ALGORITMO CODIFICAÇÃO TESTE entrada de dados Numero: 9 numero raiz quadrada: 3 R raiz cubica: 2.08 processamento Calcular raiz quadrada Calcular raiz cúbica saída raiz quadrada raiz cúbica #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main() { // declaração de variáveis float notaP, notaT, notaFinal; // entrada de dados cout << "nota da prova: "; cin>> notaP; cout << "nota do trabalho: "; cin>> notaT; // processamento notaFinal=notaP*0.8 + notaT*0.2; // saída de dados cout<< "nota final : " << notaFinal; getch(); } #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> main(){ //declarar as variaveis float numero, quadrado, cubo; cout << "digite um numero "; cin >> numero; quadrado = pow (numero,0.5); cubo = pow (numero,0.333333); cout<< " raiz quadrada:"<<quadrado << "\n"; cout<< "raiz cúbica : "<<cubo << "\n"; system("pause"); } Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 14 Exercícios: Desenvolva a codificação de acordo (na linguagem C) de acordo com o fluxograma. 15.) Um funcionário recebe um salário fixo mais 4% de comissão sobre vendas. Faça um programa que receba o salário fixo do funcionário e o valor de suas vendas, calcule e mostre a comissão e seu salário final. ANÁLISE ALGORITMO CODIFICAÇÃO TESTE 16.) Faça um programa que receba o peso de uma pessoa, calcule e mostre: a) O novo peso, se a pessoa engordar 15% sobre o peso digitado; b) O novo peso, se a pessoa emagrecer 20% sobre o peso digitado. ANÁLISE ALGORITMO CODIFICAÇÃO TESTE Exercício: Vamos fazer os programas na linguagem C, sem algoritmo (fluxograma). 17) Faça um programa que calcule e mostre a área de um losango. Sabendo-se que Area = (diagonal maior * diagonal menor) / 2 18) Faça um programa quereceba o valor do salário mínimo e o valor do salário de um funcionário, calcule e mostre a quantidade de salários que esse funcionário ganha. 19) Faça um programa que receba o ano do nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias. Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 15 ESTRUTURAS CONDICIONAIS (IF..ELSE) Comando if – else Comandos condicionais permitem que executemos blocos de comandos apenas em determinadas situações. Até o momento, nossos programas executavam todas as instruções. Imagine esta situação, lemos dois números do teclado e queremos mostrar apenas o maior deles. O que podemos fazer até o momento é mostrar nenhum, algum (fixo) dos dois ou mostrar os dois, não podemos escolher, durante a execução do programa, qual mostrar. É justamente para este tipo de situação que usamos o comando if. Condicional Simples if (condição) { comando1; comando2; ... } Estrutura Condicional Composta if (condição) { comando1; } else { comando2; } Estrutura Condicional Aninhadas if (condição) { comando1; } else if (condição) { comando2; } else if (condição) { comando3; } else { comando4; } Exercícios Exemplo. Desenvolva um programa que consulte uma pessoa sobre o seu dinheiro disponível e se ela tem R$ 10,00 ou mais, ela irá ao cinema, se tiver menos, ela ficará em casa. Teste 1 : Qual e o dinheiro disponível: 5 Vou ficar em casa!! Teste 2: Qual e o dinheiro disponível: 15 Vou ao cinema!! Algoritmos #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float dinheiro; cout << " Dinheiro: "; cin >> dinheiro; if (dinheiro >= 10){ cout << " Vou ao cinema \n"; } else{ cout << " Fico em casa \n"; } system("pause"); } Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 16 1. Um vendedor possui um salário fixo mensal. O vendedor ganha comissão de acordo com as suas vendas. Se vender até R$ 50.000,00 ganha 5% de comissão sobre as vendas, caso contrário, ganha 8% de comissão sobre as vendas mensais. Calcule o salário final desse vendedor. 2. Desenvolva um algoritmo que leia um número inteiro e exiba na tela se o mesmo é par ou impar. O operador % tem como função retornar o resto inteiro de uma divisão. Teste 1: Qual e o numero: 5 O número 5 é Impar. Teste 2: Qual e o numero: 10 O número 10 é Par. Algoritmo Codificação #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ int numero; cout << "Numero: "; cin>> numero; if (numero % 2 == 0){ cout <<"Par \n"; } else{ cout << "Impar \n"; } system("pause"); } #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float salarioFixo, comissao, vendas,salarioFinal; cout<< “Salario Fixo: “; cin >> salarioFixo; cout << “Vendas : “; cin >> vendas; if (vendas <= 50000) { comissao = vendas * 0.05; } else { comissao = vendas *0.08; } salarioFinal = salarioFixo + comissao; cout << “Salario Final : “<< salarioFinal<<”\n”; system (“pause”); } Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 17 3. Desenvolva um programa na linguagem C que leia duas provas bimestrais, calcule a média aritmética simples e exiba na tela: a) “aprovado”: se o aluno obteve média >= 6.0. b) “reprovado”: se o aluno obteve média < 6.0. 4. Elabore um algoritmo que leia a idade de um nadador e exiba na tela a categoria que ele pertence: Se a idade é menor que 13 anos = infantil Se a idade é maior ou igual a 13 e a idade é menor que 21 = juvenil. Se a idade é maior que 21 = senior #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float prova1, prova2, media; cout << "Prova 1: "; cin >> prova1; cout << "Prova 2: "; cin >> prova2; media = (prova1 + prova2)/2; if (media >= 6.0){ cout << "Aprovado \n"; } else { cout << "Reprovado \n"; } system("pause"); } #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float idade; cout << " Idade: "; cin >> idade; if (idade < 13){ cout << " Infantil \n"; } else if (idade < 21) { cout << " Juvenil \n"; } else { cout << " Senior \n"; } system("pause"); } Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 18 5. O índice de Massa Corpórea (IMC) é uma fórmula que indica que se um adulto está acima do peso, se está obeso ou abaixo do peso ideal considerado saudável. A fórmula para calcular o IMC é: IMC = peso / (altura) 2 Elabore um algoritmo que mostre a condição de um indivíduo segundo o IMC: Condição IMC em Adultos Abaixo do peso Abaixo de 18.5 No peso normal Entre 18.5 (inclusive) e 25 Acima do peso Entre 25 (inclusive) e 30 Obeso Acima ou igual a 30 #include <conio.h> #include <stdio.h> #include <iostream.h> #include <math.h> main(){ float peso, altura, imc; cout << " Peso : "; cin >> peso; cout << " Altura : "; cin >> altura; imc = peso/pow (altura,2); if (imc < 18) { cout << " abaixo do peso \n"; } else if (imc < 25){ cout << " peso ideal \n"; } else if (imc < 30){ cout << " acima do peso \n"; } else { cout << " obeso \n"; } system("pause"); } Estácio de Sá Professor Rogério Disciplina: Lógica de Programação (algoritmos) Curso de Engenharia Civil e Engenharia de Produção Linguagem de programação C Página 19 6. Uma companhia de seguros classifica seus segurados em três categorias de grupo de risco baseadas na idade. Somente pessoas compelo menos 18 anos e não mais de 70 anos podem adquirir apólices de seguros, caso esteja fora dessa faixa informar “impossível seguro”. A tabela a seguir fornece o grupo de risco com sua respectiva idade: Idade Grupo de Risco 18 a 24 Baixo 25 a 40 Médio 41 a70 Alto Desenvolva um programa que leia a idade e informe o seu grupo de risco, ou se é impossível realizar o seguro. 7. Elabore um algoritmo que calcule e escreva o salário de um determinado operário de uma fábrica de peças automotivas. Sabe-se que o salário do funcionário é calculado da seguinte forma: salário final = salário fixo + comissão. O salário fixo deverá ser lido pelo teclado e a comissão calculada de acordo com a quantidade de peças produzidas (também lidas) durante o mês pelo funcionário: * se o total de peças <= 50 então a comissão = 0. * se total de peças > 50 e o total de peças <=70 então a comissão = 10% sobre o salário fixo. * se total de peças > 70 então a comissão = 20% sobre o salário fixo. 8. Faça um programa que receba as 2 notas do estudante, calcule e imprima a média aritmética simples final e o conceito desse estudante. O conceito segue a tabela abaixo: Média final Conceito 8.00 até 10.0 A 7.00 até 8.0 B 6.00 até 7.0 C 5.00 até 6.0 D < 5.0 E 9. Faça um programa que receba o salário base de um funcionário. Calcule e mostre o novo salário de acordo com a tabela abaixo. O desconto deve ser aplicado sobre o salário base e depois soma-se a gratificação. Salário base Desconto Gratificação até 1000,00 5% R$ 130,00 de 1000,01 até 3000,00 6% R$ 160,00 Acima de 3000,00 10% R$ 200,00 Teste 1 Salário: 1000.00 Novo Salário: 1080,00 Teste 2 Salário: 2500.00 Novo Salário: 2510,00 Teste 3 Salário: 5000.00 Novo Salário: 4700,00 10. Faça um programa que receba o salário base de um funcionário. Calcule e mostre salário a receber, o valor da gratificação e do imposto pagos, sabendo-se que esse funcionário tem gratificação e imposto (este são calculados cada um em cima do salário base) conforme tabela abaixo: Salário Gratificação Imposto até 2000,00 10% 8% de 2000,01 até 8000,00 15% 9% Acima de 8000,00 20% 11% Teste 1: Teste 2: Salario base: 2000.00 Salário base: 5000.00 Gratificação: 200.00 Gratificação: 750.00 Imposto: 160.00 Imposto: 450.00 Salário a Receber: 2040.00 Salário a Receber: 5300.00
Compartilhar