1
Prof. Jorge Cavalcanti
jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Algoritmos e Programação
Algoritmos e Programação –
– Exercícios Unidade 01
Exercícios Unidade 01
2 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.
3
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”...
3 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 ("Hoje é Quarta") caso 5
escreval ("Hoje é Quinta") caso 6
escreval ("Hoje é Sexta") caso 7
escreval ("Hoje pe Sábado") outrocaso
escreval ("Número inválido") fimescolha
fimalgoritmo
2 - Peça uma letra e mostre se ela é vogal ou consoante.
Algoritmos e Programação
algoritmo "Letras do Alfabeto seleção multipla“ var
let: caracter inicio
// Seção de Comandos
escreval ("Digite uma letra do alfabeto:") leia (let)
escolha (let)
caso "a", "e", "i", "o", "u" escreval ("É uma vogal")
caso "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "x", "w", "y", "z" escreval ("É uma consoante") outrocaso
escreval ("É outro caractere") fimescolha
fimalgoritmo
Tudo na mesma linha do algoritmo
5
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 6
Exercícios
Algoritmos e Programação
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).
7
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
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) faca
proximo:= (atual + anterior) escreval (proximo) anterior:= atual atual:= proximo fimenquanto fimalgoritmo algoritmo “fibonacci“ var
proximo, atual, anterior: inteiro Inicio proximo:= 0 atual:= 0 anterior:= 1 se proximo = 0 entao escreval (proximo) fimse
9
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.
10
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)
Algoritmos e Programação
11
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
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.
13
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
14
8. Escreva um programa que recebe um número e conta a partir deste número até 100.
Algoritmos e Programação
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
15
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
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.
Algoritmos e Programação
17 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
18
11. Escreva um algoritmo que calcule N!, sendo que N é um inteiro fornecido pelo usuário e que 0! =1, por definição.
Algoritmos e Programaçã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
19
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