- Conceitos básicos de algoritmos
- Tipos de dados para uso em algoritmos
- Variáveis e Constantes
- Operações Aritméticas
- Operações relacionais e lógicas
- Expressões matemáticas
- Representação de Algoritmos
- Pseudocódigo
- Comando de Controle IF
- Comando de Controle While
- Comando de Controle Switch Case
- Comando de Controle For
- Comando de Controle Do-While
- Funções e Procedimentos – Parte 1
- Funções e Procedimentos – Parte 2
- Funções e Procedimentos – Parte 3
- Funções e Procedimentos – Parte 4
- Funções e Procedimentos – Modularização
- Recursividade
- Algoritmos: Resolução dos Exercícios Parte 1
- Algoritmos: Resolução dos Exercícios Parte 2
- Algoritmos: Resolução de Exercícios Parte 3
Oi pessoal. Hoje trago para vocês a continuação da resolução dos exercícios da série de Introdução à Algoritmos.
Artigo Comando Switch/Case
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
Algoritmo "exercicio_1" Var preco : real situacao, categoria : inteiro Inicio escreval("Digite o preço: ") leia(preco) escreval("Escolha a categoria: ") escreval("1. Limpeza") escreval("2. Alimentação") escreval("3. Vestuário") leia(categoria) escreval("Escolha a situação: ") escreval("1. Refrigeração") escreval("2. Sem Refrigeração") leia(situacao) escolha categoria caso 1 se (preco<=25) entao preco <- preco + (preco*5/100) senao preco <- preco + (preco*12/100) fimse escreval("Preco com aumento: ", preco) caso 2 se (preco<=25) entao preco <- preco + (preco*8/100) senao preco <- preco + (preco*15/100) fimse escreval("Preco com aumento: ", preco) caso 3 se (preco<=25) entao preco <- preco + (preco*10/100) senao preco <- preco + (preco*18/100) fimse escreval("Preco com aumento: ", preco) fimescolha se (categoria=2) ou (situacao=1) entao preco <- preco - (preco *5/100) escreval("Preco Atualizado: ", preco) senao preco <- preco - (preco *8/100) escreval("Preco Atualizado: ", preco) fimse se (preco<=50) entao escreval("barato") senao se (preco<120) entao escreval("normal) senao escreval("caro") fimse fimse Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
Algoritmo "exercicio_2" // eu fiz uma pequena adaptação aqui ok, mudei para apenas 4 casos Var codigoProduto, qtdeProduto : inteiro preco, valor, desconto, precoFinal : real Inicio escreval("Digite um dos codigos do produto: 1, 2, 3 ou 4 ") leia(codigoProduto) escreval("Digite a quantidade comprada do produto: ") leia(qtdeProduto) escolha codigoProduto caso1 preco <- 10.00 valor <- qtdeProduto*preco caso2 preco <- 15.00 valor <- qtdeProduto*preco caso3 preco <- 20.00 valor <- qtdeProduto*preco caso4 preco <- 30.00 valor <- qtdeProduto*preco fimescolha se (valor<=250) entao desconto <- preco * 0.5 senao se (valor<=500) entao desconto <- preco * 0.10 senao desconto <- preco * 1.5 fimse fimse precoFinal <- preco - desconto escreval("o valor final é: ", precoFinal) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Algoritmo "exericio_3" Var codigoProduto : inteiro preco : real procedencia : caractere Inicio escreval("Digite um dos codigos do produto: 1, 2, 3 ou 4 ") leia(codigoProduto) escreval("Digite o preço do produto: ") leia(preco) escolha codigoProduto caso 1 procedencia <- "sul" caso 2 procedencia <- "sul" caso 3 procedencia <- "norte" caso 4 procedencia <- "norte" caso 5 procedencia <- "leste" caso 6 procedencia <- "leste" caso 7 procedencia <- "oeste" caso 8 procedencia <- "oeste" caso 9 procedencia <- "nordeste" caso 10 procedencia <- "nordeste" caso 11 procedencia <- "sudeste" caso 12 procedencia <- "sudeste" caso 13 procedencia <- "centro-oeste" caso 14 procedencia <- "centro-oeste" caso 15 procedencia <- "noroeste" caso 16 procedencia <- "noroeste" fimescolha escreval("produto procedente da região: ", procedencia) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Algoritmo "exercicio_4" Var num1, num2, media, diferenca, divisao, produto : real op : inteiro Inicio escreval("Digite um numero: ") leia(num1) escreval("Digite outro numero: ") leia(num2) escreval("Digite a operação desejada: ") leia(op) escolha op caso 1 media <- ((num1+num2)/2) escreval("media: ", media) caso 2 se(num1<num2)entao diferenca <- (num1-num2) escreval("o numero 1 é menor que o numero 2 e a diferença entre eles é: ", diferenca) fimse se(num2<num1)entao diferenca <- (num1-num2) escreval("o numero 2 é menor que o numero 1 e a diferença entre eles é: ", diferenca) fimse caso 3 produto <- (num1*num2) escreval("produto: ", produto) caso 4 divisao <- num1/num2 escreval("divisao: ", divisao) fimescolha Fimalgoritmo |
Artigo Comando For
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Algoritmo "exercicio_1" Var i, ano_atual : inteiro salario, novo_salario, percentual : real Inicio escreval("digite o ano: ") leia(ano_atual) escreval("digite o valor do salario: ") leia(salario) percentual <- 1.5/100 novo_salario <- salario + percentual * salario para i <- 2007 até ano_atual faça percentual <- 2 * percentual novo_salario <- novo_salario + percentual * novo_salario fimpara escreval("novo salario: ", novo_salario) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Algoritmo "exercicio_2" Var n, b, fat: real i, j : inteiro Inicio escreval("digite um numero: ") leia(n) b <- 1 i <- 0 j <- 0 fat <- 0 para i de 1 ate n faca fat <- 1 para j de 1 ate i faca fat <- fat * j fimpara b <- b+ (1/fat) fimpara escreval("o valor de fat é: ", b) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Algoritmo "exercicio_3" // Declarando variáveis Var n, i : inteiro // inicio do programa principal Inicio // obtendo os dados de entrada escreval("digite um numero: ") leia(n) // inicializando variáveis i <- 0 // calculando a tabuada para i de 1 ate n faca escreval(n*i) i <- i + 1 fimpara Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
Algoritmo "exercicio_4" Var cont, cod, num_vei, num_acid, maior, cid_maior, menor, cid_menor, media_vei, soma_vei, media_acid, soma_acid, cont_acid : real i : inteiro Inicio soma_vei <- 0 soma_acid <- 0 cont_acid <- 0 i <- 1 para i de 1 ate 5 faça escreval("digite o código: ") leia(cod) escreval("digite o número do veículo: ") leia(num_vei) escreval("digite o número de acidentes: ") leia(num_acid) se (cont=1) entao maior <- num_acid cid_maior <- cod menor <- num_acid cid_menor <- cod senao se (num_acid>maior) entao maior <- num_acid cid_maior <- cod senao se (num_acid<menor) entao menor <- num_acid cid_menor <- cod senao fimse fimse fimse soma_vei <- soma_vei + num_vei se (num_vei<2000) entao soma_acid <- soma_acid + num_acid cont_acid <- cont_acid + 1 fimse escreval("Maiores acidentes: ", maior, cid_maior) escreval("Menores acidentes: ", menor, cid_menor) media_vei <- soma_vei/5 escreval("Média de veículos: ", media_vei) se (cont_acid = 0) entao escreval("não foi digitada nenhuma cidade com menos de 2000 veículos") senao media_acid <- soma_acid / cont_acid escreval("Média de acidentes: ", media_acid) fimse fimpara Fimalgoritmo |
Artigo Comando Do/While
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Algoritmo "exercicio_1" Var base, altura, area : real Inicio repita escreval("digite a base: ") leia(base) ate(base>0) repita escreval("digite a altura: ") leia(altura) ate(altura>0) area <- base * altura / 2 escreval("area: ", area) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
Algoritmo "exercicio_2" Var sal, imp, aum, novo_salario : real op : inteiro Inicio escreval("Digite o salário: ") leia(sal) repita escreval("menu de opções: ") escreval("1 - imposto ") escreval("2 - novo salário ") escreval("3 - classificação ") escreval("4 - finalizar o programa ") escreval("Digite a opção desejada: ") leia(op) escreval("opção escolhida: ", op) se ((op>4)ou(op<1)) entao escreval("Não existe essa opção") senao escolha(op) case 1 se(sal<500) entao imp<- sal*5/100 senao se((sal>=500) e (sal<=850)) entao imp <- sal*10/100 senao imp <- sal*15/100 fimse fimse escreval("imposto: ", imp) case 2 se(sal>1500) entao aum <- 25 senao se((sal>=750) e (sal<=1500))entao aum <- 50 senao se((sal>=450) e (sal<750))entao aum <- 75 senao aum <- 100 fimse fimse fimse novo_sal <- sal + aum escreval("novo salario: ", novo_sal) case 3 se (sal<=700) entao escreval("mal remunerado") senao escreval("bem remunerado") fimse fimescolha fimse ate(op=4) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Algoritmo "execicio_3" Var idade, cont : inteiro media, soma : real Inicio escreval("Digite a idade: ") leia(idade) repita escreval("Digite a idade: ") leia(idade) soma <- idade + idade cont <- cont + 1 ate(idade<0) media <- soma/cont escreval("a media das idades digitadas é: ", media) Fimalgoritmo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Algoritmo "exercicio_4" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Antonio Carlos Nicolodi Var numeroCanal, numeroPessoas, ligada, desligada, cont : inteiro soma1, media1 : real Inicio escreval("Digite o numero do canal: ") leia(numeroCanal) escreval("Digite o numero de pessoas: ") leia(numeroPessoas) soma1 <- 0 media1 <- 0 cont <- 0 repita soma1 <- soma1 + numeroPessoas cont <- cont + 1 escreval("Digite o numero de pessoas: ") leia(numeroPessoas) ate(numeroPessoas<0) media1 <- soma1 / cont escreval("Media: ", media1) Fimalgoritmo |
Por hoje é só pessoal. Muito Obrigada. Dúvidas, deixem nos comentários. Até a próxima!