Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação – Exercícios Unidade 01 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav 1 Algoritmos e Programação 1)Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre “Hoje é Domingo”, se ele digitar o número 2 mostre “Hoje é Segunda”....... 2)Peça uma letra e mostre se ela é vogal ou consoante. 3) Peça três números e mostre o maior entre eles. 2 1 Algoritmos e Programação 1 - Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre “Hoje é Domingo”, se ele digitar o número 2 mostre “Hoje é Segunda”....... algoritmo "Dias da Semana seleção múltipla“ var num: inteiro inicio // Seção de Comandos escreval ("Digite um número de 1 a 7:") leia (num) escolha (num) caso 1 escreval ("Hoje é Domingo") caso 2 escreval ("Hoje é Segunda") caso 3 escreval ("Hoje é Terça") caso 4 escreval caso 5 escreval caso 6 escreval caso 7 escreval outrocaso escreval fimescolha ("Hoje é Quarta") ("Hoje é Quinta") ("Hoje é Sexta") ("Hoje pe Sábado") ("Número inválido") fimalgoritmo 3 Algoritmos e Programação 2 - Peça uma letra e mostre se ela é vogal ou consoante. algoritmo "Letras do Alfabeto seleção multipla“ Tudo na mesma linha do algoritmo var let: caracter caso "b", "c", "d", "f", "g", "h", "j", inicio "k", "l", "m", "n", "p", "q", "r", // Seção de Comandos "s", "t", "v", "x", "w", "y", "z" escreval ("Digite uma letra do alfabeto:") escreval ("É uma consoante") leia (let) outrocaso escolha (let) escreval ("É outro caractere") caso "a", "e", "i", "o", "u" fimescolha escreval ("É uma vogal") fimalgoritmo 4 2 Algoritmos e Programação 3 - Peça três números e mostre o maior entre eles. algoritmo "MAIOR“ var n1,n2,n3, maior: inteiro inicio // Seção de Comandos escreval ("Digite três números") leia (n1,n2,n3) se (n1>n2) e (n1>n3) entao maior:= n1 senao se (n2>n3) entao maior:= n2 senao maior:= n3 fimse fimse escreva (maior) fimalgoritmo 5 Algoritmos e Programação Exercícios 4. Faça um algoritmo para escrever os números pares de 0 a 100. 5. Faça um algoritmo para escrever a série de Fibonacci = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...) enquanto o termo a ser impresso for menor que 300. 6. Construa um algoritmo que receba dois números reais e um dos seguintes símbolos: +, -, * ou /, o qual designará qual operação será aplicada considerando os valores recebidos como seus operandos. O referido algoritmo deve retornar o resultado da operação selecionada com uma precisão de dois dígitos (observar a divisão por 0). 6 3 Algoritmos e Programação 4. Faça um algoritmo para escrever os números pares de 0 a 100. algoritmo "par de 0 a 100“ var par: inteiro Inicio para par de 0 ate 100 faca se(par%2)=0 entao escreval (par) fimse fimpara fimalgoritmo 7 Algoritmos e Programação 5. Faça um algoritmo para escrever a série de Fibonacci = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...) enquanto o termo a ser impresso for menor que 300. enquanto (proximo<300) algoritmo “fibonacci“ faca var proximo:= (atual + anterior) proximo, atual, anterior: inteiro escreval (proximo) Inicio anterior:= atual proximo:= 0 atual:= proximo atual:= 0 fimenquanto anterior:= 1 se proximo = 0 entao escreval (proximo) fimse fimalgoritmo 8 4 Algoritmos e Programação 6. Construa um algoritmo que receba dois números reais e um dos seguintes símbolos: +, -, * ou /, o qual designará qual operação será aplicada considerando os valores recebidos como seus operandos. O referido algoritmo deve retornar o resultado da operação selecionada com uma precisão de dois dígitos. 9 Algoritmos e Programação Ex. 06 - algoritmo “calculadora" var op1, op2: real operador: caractere inicio escreva ("Entre com o primeiro operando: ") leia (op1) escreva ("Entre com o segundo operando: ") leia (op2) escreva ("Entre com um dos operadores (+, -, *, /): ") leia (operador) escolha (operador) caso "+“ escreva (op1," ",operador,op2," =",op1+op2:10:2) caso "-" escreva (op1," ",operador,op2," =",op1-op2:10:2) 10 5 Algoritmos e Programação Ex 6. Continuação caso "*" escreva (op1," ",operador,op2," =", op1*op2:10:2) caso "/" se (op2<>0) entao escreva (op1," ",operador,op2," =") escreval (op1/op2:10:2) senao escreva ("Não é possível efetuar a divisão!") fimse Outrocaso escreva ("Operação inválida! ") fimescolha fimalgoritmo 11 Algoritmos e Programação 7. Escreva um programa que requisita dois números e faz a soma deles e depois pergunta se o usuário quer fazer o cálculo novamente. 8. Escreva um programa que recebe um número e conta a partir deste número até 100. 9. Ler 10 números e dizer se cada um é: nulo, positivo ou negativo. 12 6 Algoritmos e Programação 7. Escreva um programa que requisita dois números e faz a soma deles e depois pergunta se o usuário quer fazer o cálculo novamente. algoritmo “repete soma“ var n1, n2, soma: real resp: caracter Inicio repita escreval ("Digite dois numeros para serem somados:") leia (n1,n2) soma:= n1+n2 escreval ("A soma eh:" ,soma) escreval ("Digite algo p/ fazer novo calculo e fim p/ encerrar") leia (resp) ate (resp = “fim") fimalgoritmo 13 Algoritmos e Programação 8. Escreva um programa que recebe um número e conta a partir deste número até 100. algoritmo “Conta ate 100“ var a: inteiro inicio escreval("Digite um numero inteiro menor que 100") leia(a) repita a<-a+1 escreval (a) ate (a=100) fimalgoritmo 14 7 Algoritmos e Programação 9. Ler 10 números e dizer se cada um é: nulo, positivo ou negativo. algoritmo “definir numero“ var n1: inteiro Inicio para n1 de 0 ate 10 faca escreval ("Digite um numero:") leia (n1) se (n1=0) entao escreval ("nulo") fimse se (n1<0) entao escreval ("Numero negativo") fimse se (n1>0) entao escreval ("Numero positivo") fimse fimpara fimalgoritmo 15 Algoritmos e Programação 10. Escreva um programa que calcula o valor do imposto de renda de uma pessoa física, com as seguintes condições: se o salário >= 3.000, alíquota será 15%. Se 3.000>salário>=1500, alíquota será 7%. Se salário < 1500, isento. 11. Escreva um algoritmo que calcule N!, sendo que N é um inteiro fornecido pelo usuário e que 0! =1, por definição. 12. Elabore um algoritmo para cada estrutura de repetição (enquanto, repita e para) imprimir a tabuada do número 5. 16 8 Algoritmos e Programação 10. Escreva um programa que calcula o valor do imposto de renda de uma pessoa física, com as seguintes condições: se o salário >= 3.000, alíquota será 15%. Se 3.000>salário>=1500, alíquota será 7%. Se salário < 1500, isento. algoritmo "Imposto de Renda" // Seção de Declarações var salario, imposto: real aliquota: caractere inicio // Seção de Comandos escreva(" Informe o valor do salário: ") leia(salario) // definicao da alíquota se (salario >= 3000) entao aliquota <- "c" senao se (salario < 1500) entao aliquota <- "a" senao aliquota <- "b" fimse fimse escolha aliquota caso "a" imposto <- 0 caso "b" imposto <- salario * 0.07 caso "c" imposto <- salario * 0.15 fimescolha escreval(" Valor do imposto de renda:",imposto) fimalgoritmo 17 Algoritmos e Programação 11. Escreva um algoritmo que calcule N!, sendo que N é um inteiro fornecido pelo usuário e que 0! =1, por definição. algoritmo "Fatorial de N" // Seção de Declarações var N, F, C: inteiro // entrada, fatorial e controle) inicio // Seção de Comandos Escreva ("Digite um número inteiro: ") leia(N) Se (N = 0)entao escreva ("Fatorial de ", N, " = 1") senao F <-1 para c de 1 ate n faca F <- F*C fimpara escreva ("Fatorial de ", N, " = ", F) Fimse Fimalgoritmo 18 9 Algoritmos e Programação 12. Elabore um algoritmo para cada estrutura de repetição (enquanto, repita e para) imprimir a tabuada do número 5. algoritmo "Tabuada do 5 usando enquanto" // Seção de Declarações var cont: inteiro inicio // Seção de Comandos cont <- 1 enquanto (cont <=10) faca escreval (cont, " x 5 = " , cont*5) cont <- cont +1 fimenquanto fimalgoritmo algoritmo "Tabuada do 5 usando repita" // Seção de Declarações var cont: inteiro inicio // Seção de Comandos cont <- 1 repita escreval (cont, " x 5 = " , cont*5) cont <- cont +1 ate (cont <10) fimalgoritmo algoritmo "Tabuada do 5 usando para“ var cont: inteiro Inicio cont <- 1 para cont de 1 ate 10 faca escreval (cont, " x 5 = " , cont*5) cont <- cont +1 fimpara fimalgoritmo 19 10