Algoritmos & Programação Profª Adriana Cláudia Ribeiro da Costa Profª Cláudia Barbieri Biscotto 2013/1
Exercícios
Faça os itens abaixo para os seguintes problemas: Problema Solução esperada Dados de entrada Processamento (cálculos/restrições) Dados de saída Etapas encontradas / Descrição narrativa (passo a passo da solução) Fluxograma
Calcular e mostrar a área de um quadrado. Considerar que o usuário irá digitar somente lado maior que zero, ou seja, neste momento de estudo, não precisa colocar a restrição que lado deve ser maior que zero. Sabe-se que: Área : = lado * lado Problema: Calcular a área de um quadrado. Solução esperada: a área de um quadrado. Dados de entrada: Lado Processamento (cálculos/restrições): Área : = lado * lado Dados de saída: Área Etapas encontradas: Informar o dado de entrada (Lado) Calcular a área do quadrado o resultado: Área
Calcular e mostrar a área de um quadrado. Considerar que o usuário irá digitar somente lado maior que zero, ou seja, neste momento de estudo, não precisa colocar a restrição que lado deve ser maior que zero. Sabe-se que: Área : = lado * lado INÍCIO Ler Lado Área : = lado * lado Área FIM
Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F:=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. Problema: Converter uma temperatura de Celsius para Fahrenheit. Solução esperada: a temperatura em Fahrenheit. Dados de entrada: TempC Processamento (cálculos/restrições): TempF : = (9*TempC+160) / 5 Dados de saída: TempF Etapas encontradas: Informar o dado de entrada (TempC) Calcular a conversão da temperatura Celsius para temperatura Fahrenheit o resultado: TempF
Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F:=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. INÍCIO Ler TempC TempF : = (9*TempC+160) / 5 TempF FIM
Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final do mês. Problema: Calcular o salário mais comissão de um vendedor. Solução esperada: o salário final de um vendedor. Dados de entrada: NomeVend, SalárioFixo, Vendas Processamento (cálculos/restrições): Comissão:=Vendas* 0,15 SalárioFinal := SalárioFixo + Comissão Dados de saída: NomeVend, SalárioFixo, SalárioFinal. Etapas encontradas: Informar os dados de entrada (NomeVend, SalárioFixo, Vendas) Calcular o novo salário (SalárioFinal) os resultados: NomeVend, SalárioFixo, SalárioFinal
Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final do mês. INÍCIO Ler NomeVend, SalárioFixo, Vendas Comissão:=Vendas* 0,15 SalárioFinal := SalárioFixo + Comissão NomeVend, SalárioFixo, SalárioFinal FIM
Problema: Efetuar as trocas de valores entre as variáveis A e B Solução esperada: os novos valores das variáveis A e B Dados de entrada: VarA, VarB Processamento (cálculos/restrições): VarAux := VarA VarA := VarB VarB := VarAux Dados de saída: VarA, VarB Etapas encontradas: Informar os dados de entrada (VarA, VarB) Realizar a troca dos valores de A e B os resultados: VarA, VarB Lista de exercícios 03 Ler dois valores para as variáveis A e B, e efetuar as trocas dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Ao final, apresentar os valores trocados.
Ler dois valores para as variáveis A e B, e efetuar as trocas dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresentar os valores trocados. INÍCIO Ler VarA, VarB VarAux := VarA VarA := VarB VarB := VarAux VarA, VarB FIM
Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m. Problema: Calcular o novo valor com rendimentos após aplicação por um mês Solução esperada: o novo valor com rendimentos após aplicação por um mês Dados de entrada: ValorInicial Processamento (cálculos/restrições): ValorRendimento = ValorInicial * 0,70% (ou 1,007) Dados de saída: ValorRendimento Etapas encontradas: Informar os dados de entrada (ValorInicial) Calcular o valor do rendimento o resultado: ValorRendimento
Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m. Início Valfinal: = Valor * 1,007 Informe Valor VAlfinal Valor Fim
Faça um algoritmo 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. Problema: Calcular e mostrar o novo peso da pessoa. Solução esperada: o novo peso da pessoa. Dados de entrada: PesoInicial Processamento (cálculos/restrições): PesoEngordar : = PesoInicial +( PesoInicial * 0,15) PesoEmagrecer : = PesoInicial +( PesoInicial * 0,20) Dados de saída: PesoEngordar, PesoEmagrecer. Etapas encontradas: Ler o peso inicial da pessoa (PesoInicial) Calcular os pesos tanto para engordar quanto emagrecer (PesoEngordar, PesoEmagrecer) os dados de saída (PesoEngordar, PesoEmagrecer)
Faça um algoritmo 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. INÍCIO Ler PesoInicial ValorComissão, SalárioFinal PesoEngordar : = PesoInicial + (PesoInicial * 0,15) PesoEmagrecer : = PesoInicial + (PesoInicial * 0,20) FIM
Mostrar o resultado da divisão de dois números. Problema: Encontrar o resultado da divisão de dois números. Solução esperada: Mostrar o resultado da divisão de dois números. Dados de entrada: Num1 e Num2 Processamento (cálculos/restrições): Divisão : = Num1 / Num2 Restrições: SE Num2 = 0 ENTÃO mensagem Não existe divisão por zero. SENÃO Calcular a divisão (Divisão : = Num1 / Num2) o resultado da divisão FIMSE Dados de saída: Divisão ou mensagem Não existe divisão por zero. Etapas encontradas: Informar dados de entrada (Num 1 e Num2) Verificar restrição Calcular Divisão := Num1 / Num2 dados de saída (Divisão ou mensagem Não existe divisão por zero. )
Mostrar o resultado da divisão de dois números. INÍCIO Ler Num1 e Num2 DIVISÃO := Num1 / Num2 Num2 = 0? S N DIVISÃO msg IMPOSSÍVEL DIVIDIR FIM
Receber dois números e ao final mostrar e a soma, subtração, multiplicação e a divisão dos números lidos. Problema: Encontrar e exibir os resultados das operações entre dois números. Solução esperada: Mostrar os resultados da soma, subtração, multiplicação e divisão entre dois números. Dados de entrada: Num1 e Num2 Processamento (cálculos/restrições): Soma : = Num1 + Num2 Sub : = Num1 - Num2 Mult : = Num1 * Num2 Restrições: SE Num2 = 0 ENTÃO mensagem Não existe divisão por zero. SENÃO Calcular a divisão (Divisão : = Num1 / Num2) o resultado da divisão FIMSE Dados de saída: Soma, Sub, Mult, Divisão. Etapas encontradas: Informar dados de entrada (Num 1 e Num2) Verificar restrição Calcular as operações matemáticas os dados de saída (Soma, Sub, Mult, Divisão)
Receber dois números e ao final mostrar e a soma, subtração, multiplicação e a divisão dos números lidos. INÍCIO msg IMPOSSÍVEL DIVIDIR Ler Num1 e Num2 Num2 = 0? FIM S N Soma : = Num1 + Num2 Sub : = Num1 - Num2 Mult : = Num1 * Num2 Divisão : = Num1 / Num2 Soma, Sub, Mult e Divisão
Desenvolva um algoritmo capaz de verificar se número digitado é par ou ímpar. Use o Operador aritmético MOD. Problema: Identificar se um número digitado é par ou impar Solução esperada: Mostrar se o número digitado é par ou impar Dados de Entrada: NUM (Número) Processamento (cálculos/restrições): Resto := Num MOD 2 SE Resto =0 ENTÃO Escreva PAR SENÃO Escreva IMPAR FIMSE Ou SE (Num MOD 2) = 0 ENTÃO Escreva PAR SENÃO Escreva IMPAR FIMSE Dados de Saída: se é Par ou Impar Etapas encontradas: Ler número (NUM) Verificar se NUM é par ou impar par ou impar
Desenvolva um algoritmo capaz de verificar se número digitado é par ou ímpar. Use o Operador aritmético MOD. INÍCIO Ler NUM (Num MOD 2) = 0? Sim Número par Não Número ímpar FIM
Desenvolva um algoritmo capaz de verificar se número digitado é par ou ímpar. Use o Operador aritmético MOD.
Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Este algoritmo deve receber o valor fixo do salário e o valor de suas vendas, calcular e mostrar a comissão e seu salário final. Mas, atenção: caso o salário dele não atinja o valor do salário mínimo, este deverá ser seu salário final. Problema: Calcular o salário mais comissões de um funcionário. Solução esperada: o salário mais comissões de um funcionário. Dados de entrada: SalárioFixo, SalárioMínimo, Valordevendas Processamento (cálculos/restrições): ValorComissão : = Valordevendas * 0,04 SalárioFinal : = SalárioFixo + ValorComissão Restrições: SE SalárioFinal < SalárioMínimo ENTÃO SalárioFinal : = SalárioMínimo FIMSE Dados de saída: ValorComissão, SalárioFinal. Etapas encontradas: Informar os dados de entrada Verificar a restrição Calcular o novo salário (SalárioFinal) os dados de saída
Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Este algoritmo deve receber o valor fixo do salário e o valor de suas vendas, calcular e mostrar a comissão e seu salário final. Mas, atenção: caso o salário dele não atinja o valor do salário mínimo, este deverá ser seu salário final. INÍCIO SalárioFinal < SalárioMínimo Não Ler SalárioFixo, SalárioMínimo, Valordevendas ValorComissão : = Valordevendas * 0,04 SalárioFinal : = SalárioFixo + ValorComissão Sim SalárioFinal : = SalárioMínimo FIM ValorComissão, SalárioFinal
Ler uma variável numérica N e imprimi-la somente se a mesma for maior que 100. Caso contrário imprimir o valor zero. Problema: Ler um número e verificar se este número é maior que 100. Solução esperada: a mensagem que o número digitado é maior que 100 ou exibir zero. Dados de entrada: Num Processamento (cálculos/restrições): SE Num > 100 ENTÃO ESCREVA ( O número digitado, Num, é maior que 100. ) SENÃO ESCREVA ( Zero. ) FIMSE Ou SE Num > 100 ENTÃO Mensagem: = O número digitado é maior que 100. SENÃO Mensagem: = Zero. FIMSE Dados de saída: Mensagem. Etapas encontradas: Ler o dado de entrada (Num) Verificar se o número é maior que 100 o dado de saída (Mensagem)
Ler uma variável numérica N e imprimi-la somente se a mesma for maior que 100. Caso contrário imprimir o valor zero. INÍCIO Ler Num Zero Num > 100 Não FIM Sim O número digitado, Num, é maior que 100.
Escrever um algoritmo que leia dois valores inteiros distintos e informe qual é o maior. Problema: Ler dois números inteiros distintos e determinar qual é o maior. Solução esperada: o maior número. Dados de entrada: Num1, Num2 Processamento (cálculos/restrições): SE Num1 > Num2 ENTÃO Maior: = Num1 SENÃO SE Num1 < Num2 ENTÃO Maior: = Num2 SENÃO ESCREVA ( Digite números inteiros diferentes um do outro. ) FIMSE FIMSE Dados de saída: Maior. Etapas encontradas: Ler os dados de entrada (Num1 e Num2) Verificar qual é o maior número o dado de saída (Maior)
Escrever um algoritmo que leia dois valores inteiros distintos e informe qual é o maior. INÍCIO Ler Num1, num2 Num2 > Num1 Sim Não Digite números distintos Num1 > Num2 Não Sim O número 2 é maior que número 1 O número 1 é maior que número 2 FIM
A concessionária de veículos CARANGO VELHO está vendendo os seus veículos com desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até 2000-12% e acima de 2000-7%. O sistema deverá perguntar se deseja continuar calculando desconto até que a resposta seja: (N) Não. Informar total de carros com ano até 2000 e total geral. Problema: Calcular o valor do desconto e o valor a ser pago pelo cliente. Solução esperada: o valor do desconto e o valor a ser pago pelo cliente.. Dados de entrada: ValorAtual,Ano Processamento (cálculos/restrições): SE Ano < 2000 ENTÃO Desconto: = 0,12 NumCarro2000 := NumCarro2000 + 1 SENÃO Desconto: = 0,07 FIMSE ValorDesconto := ValorAtual * Desconto ValorPago := ValorAtual ValorDesconto TotalGeralCarro := TotalGeralCarro + 1
A concessionária de veículos CARANGO VELHO está vendendo os seus veículos com desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até 2000-12% e acima de 2000-7%. O sistema deverá perguntar se deseja continuar calculando desconto até que a resposta seja: (N) Não. Informar total de carros com ano até 2000 e total geral. Perguntar se desejar continuar calculando. Se Opção = Sim ENTÃO Retornar para a leitura do ValorAtual FIMSE Dados de saída: ValorDesconto, ValorPago, NumCarro2000, TotalGeralCarro Etapas encontradas: Ler os dados de entrada Verificar as restrições Realizar os cálculos os dados de saída
INÍCIO Desconto: = 0,07 Sim Ler ValorAtual, Ano Ano < 2000 Não ValorDesconto := ValorAtual * Desconto ValorPago := ValorAtual ValorDesconto TotalGeralCarro := TotalGeralCarro + 1 Não ValorDesconto, ValorPago, NumCarro2000, TotalGeralCarro Desconto: = 0,12 NumCarro2000 := NumCarro2000 + 1 Sim Opção = Sim FIM
OBRIGADA! Profª Adriana Cláudia Ribeiro da Costa Profª Cláudia Barbieri Biscotto adriana.costa@pitagoras.com.br claudia_biscotto@hotmail.com