SlideShare una empresa de Scribd logo
1 de 67
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:
Mostrar o nome de 3 pessoas
Algoritmo mostra_nome
Inicio
Mostre “O nome da pessoa é Neri”;
Mostre “O nome da pessoa é Lisi”;
Mostre “O nome da pessoa é Giulia”;
Ou
Mostre “Os nomes são:Neri, Lisi e Giulia”;
Fim.
Teste de Mesa
O nome da pessoa é Neri
O nome da pessoa é Lisi
O nome da pessoa é Giulia
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:
Calcular a media de 2 notas e mostrar essa média
Algoritmo media;
var nota1, nota2, calc_media de Real;
Inicio
nota1  5; //nota1 recebe o valor de 5
nota2  7;
calc_media  (nota1 + nota2) / 2;
Mostrar “A média é “+calc_media;
Fim.
Teste de Mesa:
nota1 = 5
nota2 = 7
media = (5 + 7) / 2 = 6
A Média é 6
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
INICIO
Nota1, Nota2
Media 
(nota1+nota2)/2
Media
Fim
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:
Ler duas notas, calcular a media e mostrar essa média
Algoritmo media;
var nota1, nota2, calc_media de Real;
Inicio
Mostrar “Digite a primeira nota”;
Ler(nota1); //nota1 recebe o valor de 5
Mostrar “Digite a segunda nota”;
Ler(nota2);
calc_media  (nota1 + nota2) / 2;
Mostrar “A média é “+calc_media;
Mostrar “.......Final do Sistema ....”;
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Tipos de Dados. Problema:
Ler o nome de uma pessoa, a sua idade e o seu salário, e mostrar essas informações;
Algoritmo tipos_dados;
var idade de Inteiro;
salario de Real;
nome de caracter;
Inicio
Mostrar “Digite o nome”;
Ler(nome);
Mostrar “digite a idade”;
Ler(idade);
Mostrar “digite o salário”;
Ler(salário);
mostrar “O nome é “+nome;
mostrar “A idade é “+idade
mostrar “O salário é”+salário;
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: (Operadores Matemáticos)
Ler 2 números, efetuar as 4 operações matemáticas e
mostrar os resultados.
Algoritmo operações;
var num1, num2, soma, multiplicacao, divisao, subtracao de real;
Inicio
num1  10;
num2  5;
soma  num1 + num2;
multiplicacao  num1 * num2;
divisao  num / num2;
subtracao  num1 – num2;
mostrar “A multiplicacao = “+multiplicacao;
mostrar “A divisao = “+divisao;
mostrar “A Subtracao = “+subtracao;
mostrar “A soma =”+soma;
Fim.
Algoritmo operações;
var num1, num2, soma, multiplicacao, divisao, subtracao de real;
Inicio
Mostrar “Digite o numero 1.:”;
Ler(num1)
Mostrar “Digite o numero 2.:”;
Ler(num2);
soma  num1 + num2;
multiplicacao  num1 * num2;
divisao  num / num2;
subtracao  num1 – num2;
mostrar “A multiplicacao = “+multiplicacao;
mostrar “A divisao = “+divisao;
mostrar “A Subtracao = “+subtracao;
mostrar “A soma =”+soma;
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Duas variáveis (A e B) possuem valores distintos (A:=5 e B:= 10), Crie um
algoritmo que armazene esses dois valores nessas duas variáveis, e efetue a troca dos valores de
forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir
o valor da variável A. Por fim, apresentar os valores trocado;
Algoritmo operações;
Var A, B, Auxiliar de Inteiro;
Inicio
A  5;
B  10;
Auxiliar  A;
A  B;
B  Auxiliar;
Mostre “B = “+B;
Mostre “A = “+A;
Fim.
Teste de Mesa
A=10
B=5
Auxiliar=5
B = 5
A = 10
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: O custo ao consumidor de um carro novo, é a soma do custo de fábrica com
a percentagem do revendedor e com o custo dos impostos (aplicados ao custo de fábrica).
Supondo que a percentagem do revendedor seja de 25% do custo de fábrica e que os
impostos custam 45 % do custo de fábrica, faça um algoritmo que leia o valor de custo de
fábrica e determine o preço final do automóvel (custo ao consumidor).
Algoritmo automovel;
Var custo_fabrica, perc_revendedor, impostos, preco_final de real;
Inicio
Mostrar “Digite o valor do custo de fabrica deste automóvel.: “;
Ler(custo_fabrica); //custo_fabrica  40000;
perc_revendedor  (25 * custo_fabrica) / 100;
impostos  (45 * custo_fabrica) / 100;
preco_final  custo_fabrica + perc_revendedor + impostos;
mostrar “Custo de Fábrica ..........: “+custo_fabrica;
mostrar “Percentual revendedor .: “+perc_revendedor;
mostrar “impostos .........................: “+impostos;
mostrar “O preço Final é ..............: “+preco_final;
Fim.
Teste de Mesa
custo_fabrica = 20000
perc_revendedor = (25 * 20000) / 100 = 5000
impostos = (45 * 20000) / 100 = 9000
preco_final = 20000 + 5000 + 9000 = 34000
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: O sistema de avaliação de determinada disciplina, é composto por três
provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem
peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina.
Algoritmo avaliacao;
Var prova1, prova2, prova3, media de numérico; //numérico = real
Inicio
Mostrar “digite a nota1”;
Ler(prova1);
Mostrar “digite a nota2”;
Ler(prova2);
Mostrar “digite a nota3”;
Ler(prova3);
Prova1  prova1 * 2 /10;
Prova2  prova2 * 3 /10;
Prova3  prova3 * 5 /10;
Media  (prova1 + prova2 + prova3);
Mostrar “A media final = “+media;
Fim.
Teste de Mesa
Prova1 = 6 --------- 6 * 2 / 10 = 1,2
Prova2 = 8 --------- 8 * 3 /10 = 2,4
Prova3 = 4 ---------- 4 * 5 / 10 = 2,0
Media = (1.2 + 2.4 + 2) / 3 = 5.6
A media final = 5.6
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
1. Problema: Um cliente de um banco tem um saldo positivo de R$ 500,00. Fazer
um algoritmo que leia um cheque que entrou e calcule o saldo, mostrando
(escrevendo) o saldo na tela.
Algoritmo saldo;
Var valor_saldo, cheque_entrou de numérico; //numérico = real
Inicio
Valor_Saldo  500;
Mostrar “digite o valor do cheque que entrou”;
Ler(cheque_entrou);
Valor_saldo  valor_saldo – cheque_entrou;
Mostrar “O saldo atual = “+valor_saldo;
Fim.
Teste de Mesa
Saldo = 500 ---500-200=300
Cheque_entrou=200
O saldo atual = 300
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema.:Uma Empresa de vendas de softwares paga a seu vendedor um fixo de R$
800,00 por mês, mais uma comissão de 15% pelo seu valor de vendas no mês. Faça
uma algoritmo que leia o valor da venda e determine o salário total do funcionário.
Mostre as informações que você achar necessário.
Algoritmo vendas;
Var fixo, comissao, vendas_mes, salario_total de numérico; //numérico = real
Inicio
Fixo  800;
Mostrar “Digite o valor da venda no mês”;
Ler(vendas_mes);
Comissão  (vendas_mes * 15) / 100;
Salário_total  fixo + comissao;
Mostrar “O salário fixo = “+fixo;
Mostrar “o valor de comissao = “+comissao;
Mostrar “o salário total = “+salario_total;
Fim.
Teste de Mesa
Fixo = 800
Comissao = (500 * 15) /100 = 75
vendas_mes = 500
salario_total = 800 + 75 = 875
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema.: Uma Empresa de desenvolvimento de softwares paga a seu vendedor um
fixo de R$ 500,00 por mês, mais um bônus de R$ 50,00 por sistema vendido. Faça
uma algoritmo que leia quantos softwares o funcionário vendeu e determine o salário
total do funcionário. Mostre as informações que você achar necessário.
Algoritmo vendas2;
Var fixo, bonus, qtd_softw_vend, salario_total de numérico; //numérico = real
Inicio
Fixo  500;
Mostrar “Digite quantidade software vendido”;
Ler(qtd_softw_vend);
bonus  qtd_softw_vend * 50;
Salário_total  fixo + bonus;
Mostrar “O salário fixo = “+fixo;
Mostrar “o valor de bonus = “+bonus;
Mostrar “o salário total = “+salario_total;
Fim.
Teste de Mesa
Fixo = 500
Bonus = 3 * 50 = 150
qtd_softw_vend = 3
salario_total = 500 + 150 = 650
O salário fixo = 500
O valor de bonus = 150
O salário total = 650
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Crie um algoritmo para calcular o salário líquido de um funcionário, considerando que seu
salário bruto, incide um desconto de 9% em inss para a previdência. O algoritmo deve
mostrar o nome do funcionário, o seu salário bruto, o valor de desconto de inss e o seu
salário líquido.(dica.: Você deverá pedir (ler) o nome do funcionário e o valor do salário
bruto)
Algoritmo salario;
Var salario_liquido, salario_bruto, inss de numérico; //(Real)
Nome de Caracter;
Inicio
Mostrar “Digite o nome do funcionário”;
Ler(nome);
Mostrar “Digite o valor do salario bruto”;
Ler(salario_bruto);
Inss  (salario_bruto * 9) / 100;
Salario_liquido salario_bruto – inss;
Mostrar “O salario bruto = “+salario_bruto;
Mostrar “O desconto de inss = “+inss;
Mostrar “O salario liquido = “+salario_liquido;
Fim.
Teste de Mesa
PASSO A PASSO
Salario_liquido = 2000 – 180 = 1820
Salario_bruto = 2000
Inss = (2000 * 9) /100 = 180
Nome = Neri
O salario bruto = 2000
O desconto de inss = 180
O salario liquido = 1820
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Considerando que para um consórcio, sabe-se o número total de prestações, a
quantidade de prestações pagas e o valor atual da prestação, escreva um algoritmo que
determine o total pago pelo consorciado e o saldo devedor.
Algoritmo consorcio;
Var valor_prest, total_pago, saldo_devedor de Real;
total_prest, qtd_prest_pagas de Inteiro;
Inicio
mostre “Digite o total das prestacoes.: “;
ler(Total_prest);
mostre “digite a quantidade de prestacoes pagas”;
ler(qtd_prest_pagas);
mostre “digite o valor de cada prestacao”;
ler(valor_prest);
total_pago  qtd_prest_pagas * valor_prest;
saldo_devedor  valor_prest * (total_prest - qtd_prest_pagas);
mostre “O total pago = “+total_pago;
mostre “O saldo devedor =”+saldo_devedor;
Fim.
Teste de Mesa
total_prest = 20
qtd_prest_pagas = 5
valor_prest = 200
total_pago= 5 * 200 = 1000
saldo_devedor=200*(20-5)=3000
O total pago = 1000
O saldo devedor = 3000
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Analisando a fórmula " Prestação = valor + (valor * (taxa/100) * tempo)", crie um
algoritmo para efetuar o cálculo do valor de uma prestação em atraso. (Você deverá ler o VALOR
da prestação, a TAXA de juros imposta pelo banco, e o número de dias em ATRASO.
Algoritmo prestacao;
Var prestacao, valor_prest, taxa de Real;
Dias_atraso de Inteiro;
Inicio
Mostre “Digite o valor da prestacao”;
Ler(valor_prest);
Mostre “digite a taxa de juros”;
Ler(taxa);
Mostre “digite o numero de dias em atraso”;
Ler(dias_atraso);
prestacao  valor_prest + (valor_prest * (taxa/100)*dias_atraso);
Mostre “O valor corrigido da prestacao = “+prestacao;
Fim.
Teste de Mesa
Prestacao=200+(200*(2/100)*10=240
valor_prest = 200
taxa=2
Dias_atraso=10
O valor corrigido da prestacao = 240
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie 2 variáveis (A e B) e leia 1 valor para cada um deles. Disponibilize eles
de forma crescente.
Algoritmo crescenteAB;
Var a,b de inteiro;
Inicio
Mostre “digite o valor para A”
Ler(a)
Mostre “digite o valor para B”
Ler(b)
Se A > B entao
Mostre “ Em ordem crescente “+ B +” – “+A
Senao
Mostre “ Em ordem crescente “+ A +” – “+B
Fim.
Teste de Mesa
A = 2
B =7
Em ordem crescente 2 - 7
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie 2 variáveis (A e B) e leia 1 valor para cada um deles. Disponibilize eles
de forma crescente.
INICIO
A, B
Fim
Em ordem crescente “+
B +” – “+A
A > B VF
Em ordem
crescente “+ A
+” – “+B
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: O sistema de avaliação de determinada disciplina, é composto por três
provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem
peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina.
Caso a media seja maior ou igual a 6 mostre APROVADO, se a media for entre 4
e 6, mostre em RECUPERAÇÃO, e se for menor do que 4 mostre REPROVADO.
Algoritmo avaliacao;
Var prova1, prova2, prova3, media de numérico; //numérico = real
Inicio
Mostrar “digite a nota1”;
Ler(prova1);
Mostrar “digite a nota2”;
Ler(prova2);
Mostrar “digite a nota3”;
Ler(prova3);
Prova1  prova1 * 2 /10;
Prova2  prova2 * 3 /10;
Prova3  prova3 * 5 /10;
Media  (prova1 + prova2 + prova3);
Se media >= 6 entao
Mostrar “Aprovado com media “+media;
Se media >= 4 entao
Mostrar “recuperacao com media “+media;
Senao
Mostrar “Reprovado com media “+media;
Fim.
Teste de Mesa
Prova1 = 6 --------- 6 * 2 / 10 = 1,2
Prova2 = 8 --------- 8 * 3 /10 = 2,4
Prova3 = 4 ---------- 4 * 5 / 10 = 2,0
Media = (1.2 + 2.4 + 2) / 3 = 5.6
Recuperacao com media 5.6
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
Prova1, prova2,
prova3
Fim
“Aprovado com media
“+media;
Media >=6 VF
“Reprovado com
media “+media;
Prova1  prova1 * 2 /10;
Prova2  prova2 * 3 /10;
Prova3  prova3 * 5 /10;
Media  (prova1 + prova2 + prova3);
MEDIA >= 4
“recuperacao com
media “+media;
V
F
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Uma loja oferece para os seus clientes, um determinado desconto de acordo com o
valor da compra efetuada. O desconto é de 10%, se o valor da compra for até R$200.00, 15% se for
maior que R$ 200 e menor ou igual a R$ 500,00 e 20% se for acima de R$ 500,00. Crie um algoritmo
que leia o nome do cliente e o valor da compra. Mostre ao final o nome do cliente, o valor da
compra, o percentual de desconto e o seu valor e valor total a pagar deste cliente.
Algoritmo compra_desconto;
Var valor_compra, valor_desconto, valor_pagar de real;
Desconto de inteiro;
Nome de caracter;
Inicio
Mostrar “digite o nome do cliente”;
Ler(nome);
Mostrar “digite o valor da compra”;
Ler(valor_compra);
Se valor_compra <= 200 entao
Desconto  10;
Senao se valor_compra <= 500 entao
Desconto  15;
Senao
Desconto  20;
Faça Valor_desconto  (valor_compra * desconto) / 100;
Faça valor_pagar  valor_compra – valor_desconto;
Mostre “Nome do Cliente .: “+nome;
Mostre “Valor da Compra .: “+valor_compra;
Mostre “O percentual de desc: “+desconto;
Mostre “Valor do desconto .: “+valor_desconto;
Mostre “Valor a pagar .:” + valor_pagar;
Fim.
Teste de Mesa
Valor_compra = 300
Valor_desconto = (300 * 15) / 100 = 45
Valor_pagar = 300 – 45 = 255
Desconto = 15
Nome = Neri Neitzke
Nome do Cliente .: Neri Neitzke
Valor da Compra .: 300
O percentual desc .: 15
Valor do desconto .: 45
Valor a pagar .: 255
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
Nome,
valor_compra
Fim
Valor_compra <= 200
VF
Valor_desconto  (valor_compra *
desconto) / 100;
valor_pagar  valor_compra –
desconto;
Valor_compra
<= 500
V
F
Mostre “Nome do Cliente .: “+nome;
Mostre “Valor da Compra .: “+valor_compra;
Mostre “O percentual de desc: “+desconto;
Mostre “Valor do desconto .: “+valor_desconto;
Mostre “Valor a pagar .:” + valor_pagar;
Desconto  15
Desconto  10
Desconto  20
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Uma loja oferece para os seus clientes, um determinado desconto de acordo com o
valor da compra efetuada. O desconto é de 10%, se o valor da compra for até R$200.00, 15% se for
maior que R$ 200 e menor ou igual a R$ 500,00 e 20% se for acima de R$ 500,00. Crie um algoritmo
que leia o nome do cliente e o valor da compra. Mostre ao final o nome do cliente, o valor da
compra, o valor do desconto e valor total a pagar deste cliente.
Algoritmo compra_desconto1;
Var valor_compra, valor_desconto, valor_pagar de real;
Nome de caracter;
Inicio
Mostrar “digite o nome do cliente”;
Ler(nome);
Mostrar “digite o valor da compra”;
Ler(valor_compra);
Se valor_compra <= 200 entao
Valor_desconto  (valor_compra * 10) / 100;
Senao se valor_compra <= 500 entao
Valor_desconto  (valor_compra * 15) / 100;
Senao
Valor_desconto  (valor_compra * 20) / 100;
Faça valor_pagar  valor_compra – valor_desconto;
Mostre “Nome do Cliente .: “+nome;
Mostre “Valor da Compra .: “+valor_compra;
Mostre “Valor do desconto .: “+valor_desconto;
Mostre “Valor a pagar .:” + valor_pagar;
Fim.
Teste de Mesa
Valor_compra = 300
Valor_desconto = (300 * 15) / 100 = 45
Valor_pagar = 300 – 45 = 255
Nome = Neri Neitzke
Nome do Cliente .: Neri Neitzke
Valor da Compra .: 300
Valor do desconto .: 45
Valor a pagar .: 255
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
Nome,
valor_compra
Fim
Valor_compra <= 200
VF
valor_pagar  valor_compra –
desconto;
Valor_compra
<= 500
V
F
Mostre “Nome do Cliente .: “+nome;
Mostre “Valor da Compra .: “+valor_compra;
Mostre “Valor do desconto .: “+valor_desconto;
Mostre “Valor a pagar .:” + valor_pagar;
Valor_desconto 
(valor_compra * 15) /
100;
Valor_desconto 
(valor_compra * 10) /
100;
Valor_desconto 
(valor_compra * 20) /
100;
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Fazer um algoritmo que leia o saldo inicial de cliente do banco e leia
também um cheque que entrou e ANALISE se o cheque poderá ser descontado ou não ,
já que este cliente não possui limite. Se o cheque não poderá ser descontado, mostre
essa informação, caso contrário, desconte o cheque e informe o saldo na tela.
Algoritmo saldo_se;
Var valor_saldo, cheque_entrou de numérico; //numérico = real
Inicio
Mostre “Digite o saldo inicial .: “;
Ler(valor_saldo); //Valor_Saldo  500;
Mostrar “digite o valor do cheque que entrou”;
Ler(cheque_entrou);
Se cheque_entrou <= valor_saldo entao
Valor_saldo  valor_saldo – cheque_entrou;
Mostrar “seu novo saldo .: “+valor_saldo;
Senao
Mostrar “este cheque não pode ser descontado”;
Mostrar “seu saldo continua “+valor_saldo;
Fim_se
Fim.
Teste de Mesa
valor_saldo =
cheque_entrou =
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
valor_saldo,
cheque_entrou
Fim
cheque_entrou
<= valor_saldo
VF
Valor_saldo 
valor_saldo –
cheque_entrou
“seu novo saldo .:
“+valor_saldo;
“este cheque não pode ser
descontado”;
“seu saldo continua
“+valor_saldo;
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Fazer um algoritmo que analize 3 valores inteiros
(através das variáveis n1, n2 e n3), e informa qual o maior e qual
o menor deles.
Algoritmo maior_menor;
Var n1, n2, n3 de inteiro;
Inicio
Mostre “digite o valor para n1”;
Ler(n1);
Mostre “digite o valor para n2”;
Ler(n2);
Mostre “digite o valor para n3”;
Ler(n3);
Se (n1 >= n2) e (n1 >= n3) entao
Mostre “o maior é o .: “+n1;
Senao Se (n2 >= n1) e (n2 >= n3) entao
Mostre “o maior é o .: “+n2;
Senao
Mostre “o maior é o .: “+n3;
Se (n1 <= n2) e (n1 <= n3) entao
Mostre “o menor é o .: “+n1;
Senao Se (n2 <= n1) e (n2 <= n3) entao
Mostre “o menor é o .: “+n2;
Senao
Mostre “o menor é o .: “+n3;
Fim.
Teste de Mesa
N1 = 10
N2 = 10
N3 = 20
O MAIOR É O 20
O MENOR É O 10
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Fazer um algoritmo que analize 3 valores inteiros
(através das variáveis n1, n2 e n3), e informa qual o maior e qual
o menor deles.
Algoritmo maior_menor;
Var n1, n2, n3 de inteiro;
Inicio
Mostre “digite o valor para n1”;
Ler(n1);
Mostre “digite o valor para n2”;
Ler(n2);
Mostre “digite o valor para n3”;
Ler(n3);
Se (n1 >= n2) e (n1 >= n3) entao
inicio
Mostre “o maior é o .: “+n1;
Se (n2 <= n3) entao
Mostre “o menor é o .: “+n2;
Senao
Mostre “o menor é o .: “+n3;
Fim_se
Senao Se (n2 >= n1) e (n2 >= n3) entao
inicio
Mostre “o maior é o .: “+n2;
Se (n1 <= n3) entao
Mostre “o menor é o .: “+n1;
Senao
Mostre “o menor é o .: “+n3;
Fim_se
Senao
inicio
Mostre “o maior é o .: “+n3;
Se (n2 <= n1) entao
Mostre “o menor é o .: “+n2;
Senao
Mostre “o menor é o .: “+n1;
Fim_se
Fim
Teste de Mesa
N1 = 15
N2 = 10
N3 = 20
O MAIOR É O 20
O MENOR É O 10
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
n1, n2, n3
Fim
(n1 >= n2) e
(n1 >= n3)
FV
“o maior é o .: “+n1;
n2 <= n3
“o menor é o .:
“+n2;
“o menor é o .: “+n3;
(n2 >= n1) e
(n2 >= n3
“o maior é o .: “+n2;
V
F
V
n1 <= n3
“o menor é o .:
“+n3;
“o menor é o .:
“+n1;V
F
“o maior é o .: “+n3;
n2 <= n1F
V
“o menor é o .:
“+n1;
“o menor é o .:
“+n2;
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que leia três valores le,ld,li e verifique se eles podem ser os
comprimentos dos lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isósceles ou
escaleno. Se eles não formarem um triângulo, escrever a mensagem "Não é um triângulo".
Antes da elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições.
Propriedade - O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos
outros dois lados, fora desta condição as medidas não são consideradas de um triângulo.
Definição 1 - Chama-se triângulo equilátero os que tem os comprimentos dos três lados iguais,
Definição 2 - Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois lados guais.
Definição 3 - Chama-se triângulo escaleno ao triângulo que tem os comprimentos dos três lados diferentes.
Algoritmo triangulo;
Var le, ld, li de real;
Inicio
Mostre “digite o comprimento de LE.: ”
Ler(le);
Mostre “digite o comprimento de LD.: ”
Ler(ld);
Mostre “digite o comprimento de LI.: ”
Ler(li);
Se (li < (le + ld)) e (le < (ld + li)) e (ld < (li + le)) entao
Se (le = ld) e (le = li) entao
Mostrar “triangulo equilatero”;
Senao se ((li = ld) ou (li = le) ou (le = ld)) then
Mostrar “triangulo isosceles”;
Senao // se ((ld <> le) e (ld <> li) e (li <> le)) entao
Mostrar “triangulo escaleno”;
Senao
Mostre “não é um triangulo”;
Fim
Teste de Mesa
Le = 20
Ld = 15
Li = 15
Triangulo isosceles
15
15
20
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
le, ld, li
Fim
((li < (le + ld) e (le < (ld + li) e
(ld < (li + le))
F V
“não é um triangulo”;
(le = ld) e (le
= li)
“triangulo equilátero” V
“triangulo
isosceles”;
F
((li = ld) ou (li = le) ou
(le = ld))
V
“triângulo escaleno”
F
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler 3 valores INTEIROS para as variáveis A, B,
C. Apresentar os valores dispostos em ordem crescente.
Algoritmo abc_crescente;
Var a, b, c de inteiro;
Inicio
Mostre “digite o valor para A.:”;
Ler(a);
Mostre “digite o valor para B.:”;
Ler(b);
Mostre “digite o valor para C.:”;
Ler(c);
Se (A <=B) e (A <= C) entao
Se (B <= C) entao
Mostre “Em ordem crescente ficou.: “+A+”-“+B+”-”+C;
Senao
Mostre “Em ordem crescente ficou.: “+A+”-“+C+”-”+B;
fim_se
fim_se
Senao Se (B <=A) e (B <= C) entao
Se (A<= C) entao
Mostre “Em ordem crescente ficou.: “+B+”-“+A+”-”+C;
Senao
Mostre “Em ordem crescente ficou.: “+B+”-“+C+”-”+A;
fim_se
fim_se
senao
Se (A <= B) entao
Mostre “Em ordem crescente ficou.: “+C+”-“+A+”-”+B;
Senao
Mostre “Em ordem crescente ficou.: “+C+”-“+B+”-”+A;
fim_se
fim_se
Fim
Teste de Mesa
A=9
B=6
C=7
Ordem 6 7 9
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Fluxograma do exercíco anterior.
INICIO
A, b, c
Fim
(A <=B) e (A <= C)
V F
“Em ordem crescente
ficou.: “+A+”-“+C+”-”+B
(B <=A) e (B
<= C)
F
Em ordem crescente
ficou.:
“+B+”-“+A+”-”+C
V
A<= C
V
Em ordem crescente ficou.:
“+B+”-“+C+”-”+A
B <= C
“Em ordem crescente
ficou.: “+A+”-“+B+”-”+C
V
F
A <= B
Em ordem crescente ficou.:
“+C+”-“+A+”-”+B
Em ordem crescente ficou.:
“+C+”-“+B+”-”+A
F
V
F
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler para uma variável INTEIRA um número de 1
a 12 e mostrar o nome do mês correspondente. Caso o mês
não existir, mostrar essa informação.
Algoritmo mes_se;
Var mes de inteiro;
Inicio
Mostrar “digite o mês de 1 a 11 “;
Ler(mês);
Se (mes = 1) então Mostrar “Janeiro”;
Senao Se (mes = 2) então Mostrar “Fevereiro”;
Senao Se (mes = 3) então Mostrar “Marco”;
Senao Se (mes = 4) então Mostrar “Abril”;
Senao Se (mes = 5) então Mostrar “Maio”;
Senao Se (mes = 6) então Mostrar “Junho”;
Senao Se (mes = 7) então Mostrar “Julho”;
Senao Se (mes = 8) então Mostrar “Agosto”;
Senao Se (mes = 9) então Mostrar “Setembro”;
Senao Se (mes = 10) então Mostrar “Outubro”;
Senao Se (mes = 11) então Mostrar “Novembro”;
Senao Se (mes = 12) então Mostrar “Dezembro”;
Senao “Esse mês não existe”;
Fim
Teste de Mesa
Mês = 2
Fevereiro
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler para uma variável INTEIRA um número de 1
a 12 e mostrar o nome do mês correspondente. Caso o mês
não existir, mostrar essa informação.
Algoritmo mes_case;
Var mes de inteiro;
Inicio
Mostrar “digite o mês de 1 a 11 “;
Ler(mês);
Caso mês seja
1: Mostrar “Janeiro”;
2: Mostrar “Fevereiro”;
3: Mostrar “Marco”;
4: Mostrar “Abril”;
5: Mostrar “Maio”;
6: Mostrar “Junho”;
7: Mostrar “Julho”;
8: Mostrar “Agosto”;
9: Mostrar “Setembro”;
10: Mostrar “Outubro”;
11: Mostrar “Novembro”;
12: Mostrar “Dezembro”;
Senao modtrsr “Esse mês não existe”;
Fim_caso
Fim
Teste de Mesa
Mês = 2
Fevereiro
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler uma variável de numero inteiro e mostre se ele
é par ou se ele é impar.
Algoritmo par_impar;
Var numero de inteiro;
Inicio
Mostre “digite um numero qualquer”;
Ler(numero);
Se (numero mod 2 = 0) entao
Mostre “esse numero é par”;
Senao
Mostre “esse numero não é par”;
Fim
Teste de Mesa
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler uma variável de numero inteiro e mostrar a
tabuada desse número.
Algoritmo tabuada;
Var numero de inteiro;
Inicio
Mostre “digite um número para a tabuada”;
Ler(numero);
Mostre numero + “ x 1 = “+(numero * 1);
Mostre numero + “ x 2 = “+(numero * 2);
Mostre numero + “ x 3 = “+(numero * 3);
Mostre numero + “ x 4 = “+(numero * 4);
Mostre numero + “ x 5 = “+(numero * 5);
Mostre numero + “ x 6 = “+(numero * 6);
Mostre numero + “ x 7 = “+(numero * 7);
Mostre numero + “ x 8 = “+(numero * 8);
Mostre numero + “ x 9 = “+(numero * 9);
Fim
Teste de Mesa
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
.....
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler uma variável de numero inteiro e mostrar a
tabuada desse número. Usando o laço de repetição Para
Algoritmo tabuada_para;
Var numero, i de inteiro;
Inicio
Mostre “digite um número para a tabuada”;
Ler(numero);
Para i de 1 até 9 passo 1 faça
Mostre numero + “ x “ + i + “ = “+(numero * i);
Fim
//outras maneiras de fazer esse laço
Para i  1 até 9 faça
Para i = 1 até 9 faça
Para i = 1 até 9 passo 1 faça
Teste de Mesa
Numero = 4
I = 1,2,3,4,5,6,7,8,9,10
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
....
4 x 9 = 36
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler uma variável de numero inteiro e mostrar a
tabuada desse número. Usando o laço de repetição enquanto
Algoritmo tabuada_enquanto;
Var numero, i de inteiro;
Inicio
Mostre “digite um número para a tabuada”;
Ler(numero);
I  1;
Enquanto(i <= 9)
inicio
Mostre numero + “ x “ + i + “ = “+(numero * i);
i++; // igual ao i=i+1
Fim_enquanto
Fim
Teste de Mesa
Numero = 7
I = 1
7 x 1 = 7
7 x 1 = 7
7 x 1 = 7
7 x 1 = 7
7 x 1 = 7
7 x 1 = 7
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler uma variável de numero inteiro e mostrar a
tabuada desse número. Usando o laço de repetição repita
Algoritmo tabuada_repita;
Var numero, i de inteiro;
Inicio
Mostre “digite um número para a tabuada”;
Ler(numero);
I  15;
Repita
Inicio
Mostre numero + “ x “ + i + “ = “+(numero * i);
I++; //i=i+1
Fim
Até que (i > 9); // Enquanto(i <= 9)
Fim
Teste de Mesa
Numero = 9
I = 15
9 x 15 = 135
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Faça um algoritmo que gere a seguinte série: 10,
20, 30, 40, ..... 980, 990, 1000.
Algoritmo serie_para;
Var i de inteiro;
Inicio
Para i de 10 até 1000 passo 10 faça
Mostrar i;
Fim Teste de Mesa
I=10, 20
10, 20, 30, 40
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:Ler a nota de 10 alunos, calcular a media e
mostrar essa média.
Algoritmo media_para;
var nota, calc_media, soma_notas de Real;
i de inteiro;
Inicio
Soma_notas  0;
Para i de 1 até 10 faça
inicio
Mostrar “Digite a “+i+”º de 10 notas”;
Ler(nota);
Soma_notas  soma_notas + nota;
Fim_para
calc_media  soma_notas / 10;
Mostrar “A média é “+calc_media;
Mostrar “.......Final do Sistema ....”;
Fim.
Teste de Mesa
Nota=7,8,6
Calc_media = 9
Soma_notas=90
I=10
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:Ler a nota de 10 alunos, calcular a media e
mostrar essa média. Aceitar somente notas de 0 a 10.
Algoritmo media_para;
var nota, calc_media, soma_notas de Real;
i de inteiro;
Inicio
Soma_notas  0;
Para i de 1 até 10 faça
inicio
Mostrar “Digite a “+i+”º de 10 notas”;
Ler(nota);
Se ((nota >=0) e (nota <= 10)) entao
Soma_notas  soma_notas + nota;
Senao
Inicio
Mostrar “Nota Invaálida, digite apenas notas de 0 a 10”);
i=i-1;
fim_se
Fim_para
calc_media  soma_notas / 10;
Mostrar “A média é “+calc_media;
Mostrar “.......Final do Sistema ....”;
Fim.
Teste de Mesa
Nota=7,8,6
Calc_media = 9
Soma_notas=90
I=10
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Mostre os 10 primeiros números pares.
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler dois números (inicial e final). Escreva quantos
número pares e quantos numeros impares encontran-se entre
os dois números fornecidos pelo usuário.
Algoritmo pares_10;
Var numero, conta_pares de inteiro;
Inicio
Conta_pares  0;
Numero  1;
enquanto(conta_pares < 10)
Inicio_enquanto
Se (numero mod 2 = 0) entao
Inicio_se
Mostre “o numero “+numero+” = par;
Conta_pares  conta_pares + 1;
Fim_se
Numero  numero + 1;
Fim_enquanto
Fim
Teste de Mesa
Numero=1,2,3
Conta_pares=1
O numero 2 .: par
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Ler dois números (inicial e final, o numero final
não pode ser menor do que o numero inicial). Escreva
quantos número pares e quantos numeros impares encontran-
se entre os dois números fornecidos pelo usuário.
Algoritmo par_impar_conta;
Var numero_inicial, numero_final, numeros_pares, numeros_impares,i de inteiro;
Inicio
Numeros_pares  0;
Numeros_impares  0;
Mostre “Digite o número inicial.: “;
Ler(numero_inicial);
I  numero_inicial;
Mostre “Digite o número final.: “;
Ler(numero_final);
Enquanto(i <= numero_final) faça
Inicio_enquanto
Se (i mod 2 = 0) entao
Numeros_pares  Numeros_pares + 1;
Senao
Numeros_impares  Numeros_impares + 1;
i  i + 1;
Fim_enquanto
Mostrar “Entre o numero “+numero_inicial+” e o numero “+numero_final+” existem
“+numeros_pares+” pares e “+numeros_impares+” impares”;
Fim
Teste de Mesa
Numeros_pares=0,1,2
Numeros_impares=0,1,2,3
Numero_inicial=23
Numero_final=27
I = 23,24,25,26,27,28
Entre o numero 23 e o
numero 27 existem 2
pares e 3 impares
Prof Neri A. Neitzke -- www.informaticon.com.br
Algoritmo par_impar_conta;
Var numero_inicial, numero_final, numeros_pares, numeros_impares,i de inteiro;
Inicio
Numeros_pares  0;
Numeros_impares  0;
numero_final  0;
Mostre “Digite o número inicial.: “;
Ler(numero_inicial);
I  numero_inicial;
Repita
Inicio_repita
Mostre “Digite o número final maior que o inicial.: “;
Ler(numero_final);
Se (numero_final < numero_inicial) entao
Mostrar “Número final inválido, deve ser maior do que o inicial”)
Final_repita
Até que(numero_final >= numero_inicial);
Enquanto(i <= numero_final) faça
Inicio_enquanto
Se (i mod 2 = 0) entao
Numeros_pares  Numeros_pares + 1;
Senao
Numeros_impares  Numeros_impares + 1;
i  i + 1;
Fim_enquanto
Mostrar “Entre o numero “+numero_inicial+” e o numero “+numero_final+” existem
“+numeros_pares+” pares e “+numeros_impares+” impares”;
Fim
Teste de Mesa
Numeros_pares=0,1,2
Numeros_impares=0,1,2,3
Numero_inicial=23
Numero_final=27
I = 23,24,25,26,27,28
Entre o numero 23 e o
numero 27 existem 2
pares e 3 impares
Problema: Crie um algoritmo que leia um numero inteiro, e
diga se ele é um numero primo ou não.
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que leia um numero inteiro, e
diga se ele é um numero primo ou não.
Algoritmo primo;
Var numero,contador,i de inteiro;
Inicio
Contador  0;
I  2;
Mostrar “Digite um número .: “;
Ler(numero);
Enquanto(i < (numero/2))
Inicio_enquanto
Se (numero mod i = 0)
Contador  Contador +1;
I  I + 1;
Fim_enquanto
Se contador > 0 entao
Mostrar “O numero “+numero+” não é primo”;
Senao
Mostrar “O numero “+numero+” é primo”;
Fim
Teste de Mesa
Contador = 0
I = 2,
Numero = 5
O numero 5 é primo
Algoritmo primo_logico;
Var numero,i de inteiro;
Num_primo de logico; // verdadeiro ou falso -> boolean
Inicio
Num_primo  verdadeiro;
I  2;
Mostrar “Digite um número .: “;
Ler(numero);
Enquanto((i < (numero/2) e (num_primo = verdadeiro)) faça
Inicio_enquanto
Se (numero mod i = 0)
Num_primo  falso;
I  I + 1;
Fim_enquanto
Se Num_primo = falso entao
Mostrar “O numero “+numero+” não é primo”;
Senao
Mostrar “O numero “+numero+” é primo”;
Fim
Teste de Mesa
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que mostre os 10 primeiros
números primos.
Algoritmo primo_10;
Var contador, numero,i de inteiro;
num_primo de logico;
begin
numero  1;
contador  0;
enquanto (contador < 10) faça
inicio
num_primo  verdadeiro;
numero  numero + 1;
I  2;
enquanto((i <= (numero/2)) e (num_primo = verdadeiro)) faça
inicio
se (numero mod i = 0) entao
inicio
num_primo  falso;
fim
I  I + 1;
Fim_segundo_enquanto;
se num_primo = verdadeiro then
inicio
contador  contador + 1;
escreva(“O numero “+numero+” e o “+contador+”. numero primo');
fim
fim_primeiro_enquanto;
fim.
Teste de Mesa
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Mostrar os 10 primeiros numeros da sequencia
Fibonacci. Ex: 1 1 2 3 5 8 13 21 34 55 89 .....
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Algoritmo fibonacci;
Var i, num_anterior, num_atual, novo_numero de inteiro;
Inicio
Num_anterior  0;
Num_atual  1;
Mostre “o 1. numero fibonaccci é 1”;
Para i de 2 até 10 faça
Inicio
Novo_numero  num_atual + num_anterior;
Num_anterior  num_atual;
Num_atual  novo_numero;
Mostre “o “+i+”. numero fibonaccci é ”+novo_numero;
Fim;
Fim
Teste de Mesa
Num_anterior=0,1,1,2,3,5
Num_atual=1,1,2,3,5,8
Novo_numero=1,2,3,5,8
I=2,3,4,5,6
O 1. numero fibonacci é 1
O 2. numero fibonacci é 1
O 3. numero fibonacci é 2
O 4. numero fibonacci é 3
O 5. numero fibonacci é 5
O 6. numero fibonacci é 8
................
Problema:Ler a nota de 5 alunos, calcular a media e mostrar
essa média e mostrar também quantos alunos ficaram com a
sua nota igual ou acima da média.
Algoritmo media_media;
var nota1, nota2, nota3, nota4, nota5, calc_media, soma_notas de real;
contador de inteiro;
inicio
contador  0;
mostrar “digite a 1. nota.: ”;
ler(nota1);
mostrar “digite a 2. nota.: ”;
ler(nota2);
mostrar “digite a 3. nota.: ”;
ler(nota3);
mostrar “digite a 4. nota.: ”;
ler(nota4);
mostrar “digite a 5. nota.: ”;
ler(nota5);
soma_notas  nota1 + nota2 + nota3 + nota4 + nota5;
calc_media  soma_notas / 5;
se (nota1 > calc_media) entao
contador  contador + 1;
se (nota2 > calc_media) entao
contador  contador + 1;
se (nota3 > calc_media) entao
contador  contador + 1;
se (nota4 > calc_media) entao
contador  contador + 1;
se (nota5 > calc_media) entao
contador  contador + 1;
mostrar “a média é “+calc_media;
mostrar contador + “ alunos ficaram com a nota acima da media”;
mostrar “.......final do sistema ....”;
Fim.
Teste de Mesa
nota1=6
nota2=4
nota3 =9
nota4 =5
nota5 =7
soma_notas=31
calc_media= 31/5=6.2
contador = 0,1,2
A media é 6.2
2 alunos ficaram com
a nota acima da
media
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:Ler a nota de 5 alunos, calcular a media e mostrar
essa média e mostrar também quantos alunos ficaram com a
sua nota igual ou acima da média. (usando vetores)
Algoritmo media_media_vetor;
var notas:vetor [1..5] de real;
calc_media, soma_notas de real;
contador de inteiro;
inicio
contador  0;
//notas[1]  5;
//notas[2]  9;
//notas[3]  7;
//notas[4]  3;
//notas[5]  6;
mostrar “digite a 1. nota.: ”;
ler(notas[1]);
mostrar “digite a 2. nota.: ”;
ler(notas[2]);
mostrar “digite a 3. nota.: ”;
ler(notas[3]);
mostrar “digite a 4. nota.: ”;
ler(notas[4]);
mostrar “digite a 5. nota.: ”;
ler(notas[5]);
soma_notas 
notas[1]+notas[2]+notas[3]+notas[4]+ notas[5];
calc_media  soma_notas / 5;
se (notas[1] >= calc_media) entao
contador  contador + 1;
se (notas[2] >= calc_media) entao
contador  contador + 1;
se (notas[3] >= calc_media) entao
contador  contador + 1;
se (notas[4] >= calc_media) entao
contador  contador + 1;
se (notas[5] >= calc_media) entao
contador  contador + 1;
mostrar “a média é “+calc_media;
mostrar contador + “ alunos ficaram com a nota acima da media”;
mostrar “.......final do sistema ....”;
Fim.
Teste de Mesa
Notas (no pascal)
Posição 1 2 3 4 5
valor 5 9 7 3 6
Calc_media=30/5=6
Soma_notas=5+9+7+3+6 = 30
Contador=0,1,2,3
Notas (no C e no Java)
Posição 0 1 2 3 4
valor 5 9 7 3 6
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema:Ler a nota de 5 alunos, calcular a media e mostrar
essa média e mostrar também quantos alunos ficaram com a
sua nota igual ou acima da média. (usando vetores)
Algoritmo media_media_vetor_correto;
var notas:vetor [1..5] de real;
calc_media, soma_notas de real;
i, contador de inteiro;
inicio
soma_notas  0;
contador  0;
para i de 1 até 5 faça
inicio_para
mostrar “digite a “+i+”. nota.: ”;
ler(notas[i]);
soma_notas  soma_notas + notas[i];
fim_para
calc_media  soma_notas / 5;
para i de 1 até 5 faça
inicio_para
se (notas[i] >= calc_media) entao
contador  contador + 1;
fim_para
mostrar “a média é “+calc_media;
mostrar contador + “ alunos ficaram com a
nota acima da media”;
mostrar “.......final do sistema ....”;
Fim.
Teste de Mesa
Notas (no pascal)
Posição 1 2 3 4 5
valor 8 5 7 9 7
Calc_media=36/5=7.2
Soma_notas=0,8,13,20,29,36
Contador=0,1,2
I = 1,2,3,4,5,6,1,2,3,4,5,6
Notas (no C e no Java)
Posição 0 1 2 3 4
valor
A media é 7.2
2 alunos ficaram com a nota
acima da media
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Fazer um algoritmo que analize 10 valores inteiros
informa qual o maior e qual o menor deles.
Algoritmo maior_menor_vetor;
Var maior_menor:vetor [1..10] de inteiro;
I, maior, menor de inteiro;
Inicio
Maior  0;
Menor  99999;
Maior_menor[]  {2,3,7,8,5,9,1,0,6,4};
Para i de 1 até 10 passo 1 faça
Inicio
Se maior_menor[i] > maior entao
maior  maior_menor[i];
se maior_menor[i] < menor entao
menor  maior_menor[i];
fim
Mostre “o maior valor .: “+maior;
Mostre “o menor valor .: “+menor;
Fim.
Teste de Mesa
Maior_menor
P 1 2 3 4 5 6 7 8 9 10
V 2 3 7 8 5 9 1 0 6 4
Maior=0,2,3,7
Menor=99999,2
I=1,2,3,4 ...........
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que leia um vetor de 5
elementos. Calcule e mostre a soma desses elementos, a media,
quantos elementos são iguais ou maiores do que a média, o
percentual dos elementos que são maiores ou iguais a media e
mostrar quantos desses elementos são positivos e quantos são
negativos.
Algoritmo complexo_vetor ;
Var vetor5 :vetor [1..5] de inteiro;
Media, soma, perc_maior de real;
I, iguais_maior, , qtd_pos, qtd_neg de inteiro;
Inicio
Media 0;
Soma  0;
iguais_maior  0;
perc_maior  0;
qtd_pos  0;
qtd_neg 0;
vetor5[ ]  {9,3,7,8,5};
Para i de 1 até 5 passo 1 faça
Soma  soma + vetor5[i];
Media  soma / 5;
Para i de 1 até 5 passo 1 faça
inicio
Se vetor5[i] > media entao
iguais_maior = iguais_maior + 1;
se vetor5[i] >= 0 entao
qtd_pos  qtd_pos + 1;
senao
qtd_neg  qtd_neg + 1;
fim
perc_maior  (iguais_maior * 100) / 5;
mostrar “ A soma foi .: “+soma;
mostrar “a media foi .: “+media;
mostrar perc_maior+”% são maiores ou iguais a média”;
mostrar iguais_maior +”são iguais ou maiores do que a media”;
mostrar qtd_pos +” são positivos”;
mostrar qtd_neg + “são negativos”;
Fim.
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo lendo um vetor A de 3
elementos do tipo inteiro. Mostre esses elementos do vetor A.
Reordene os elementos em ordem crescente, atualize o vetor A
com os elementos na ordem crescente e mostre novamente o
vetor A.
Algoritmo vetor_crescente;
Var A:vetor [1..3] de inteiro;
i, j, aux de inteiro;
Inicio
A[ ]  {9,3,7};
Mostrar “O valor de A[1] =”+A[1];
Mostrar “O valor de A[2] =”+A[2];
Mostrar “O valor de A[3] =”+A[3];
Para j de 1 até 2 passo 1 faça
Para i de 1 até 2 passo 1 faça
Se A[i] > A[i+1] entao
Inicio_se
Aux  A[i];
A[i]  A[i+1];
A[i+1]  aux;
Fim_se;
Mostrar “O valor de A[1] =”+A[1];
Mostrar “O valor de A[2] =”+A[2];
Mostrar “O valor de A[3] =”+A[3];
Fim
Teste de Mesa
A = Vetor
Posicao 1 2 3
valor 50 21 14
Posicao 1 2 3
valor 14 21 50
I=1,2,3,1,2,3
Aux=50,50,21
J=1,2,3
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo lendo um vetor A de 15
elementos do tipo inteiro. Mostre esses elementos do vetor A.
Reordene os elementos em ordem crescente, atualize o vetor A
com os elementos na ordem crescente e mostre novamente o
vetor A.
Algoritmo vetor_crescente_15;
Var A:vetor [1..15] de inteiro;
i, j, aux de inteiro;
Inicio
A[ ]  {9,3,7,6,21,50,45,36,2,8,7,9,42,32,18};
Para i de 1 até 15 faça
Mostrar “O valor Original de A[“+i+”] =”+A[i];
Para j de 1 até 14 passo 1 faça
Para i de 1 até 14 passo 1 faça
Se A[i] > A[i+1] entao
Inicio_se
Aux  A[i];
A[i]  A[i+1];
A[i+1]  aux;
Fim_se;
Para i de 1 até 15 faça
Mostrar “O valor atualizado de A[“+i+”] =”+A[i];
Fim
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo lendo um vetor A de 15
elementos do tipo inteiro. Mostre esses elementos do vetor A.
Reordene os elementos em ordem decrescente, atualize o vetor
A com os elementos na ordem decrescente e mostre
novamente o vetor A.
Algoritmo vetor_decrescente_15;
Var A:vetor [1..15] de inteiro;
i, j, aux de inteiro;
Inicio
A[ ]  {9,3,7,6,21,50,45,36,2,8,7,9,42,32,18};
Para i de 1 até 15 faça
Mostrar “O valor Original de A[“+i+”] =”+A[i];
Para j de 1 até 14 passo 1 faça
Para i de 1 até 14 passo 1 faça
Se A[i] < A[i+1] entao
Inicio_se
Aux  A[i];
A[i]  A[i+1];
A[i+1]  aux;
Fim_se;
Para i de 1 até 15 faça
Mostrar “O valor atualizado de A[“+i+”] =”+A[i];
Fim
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo lendo dois vetores (A e B) de 5
elementos cada do tipo inteiro, liste os elementos destes dois
vetores. Faça com que os elementos do vetor A passem para o
vetor B, e os elementos do vetor B passem para o vetor A.
Mostre os 2 vetores atualizados.
Algoritmo vetores_troca_5;
Var A,B, C:vetor [1..5] de inteiro;
I de inteiro;
Inicio
A[ ]  {9,3,7,6,21};
B[ ]  {50,45,36,2,14};
Para i de 1 até 5 faça
inicio
Mostrar “O valor Original de A[“+i+”] =”+A[i];
Mostrar “O valor Original de B[“+i+”] =”+A[i];
Fim;
Para i de 1 até 5 passo 1 faça
Inicio_se
C[i]  A[i];
A[i]  B[i];
B[i  C[i];
Fim_se;
Para i de 1 até 5 faça
inicio
Mostrar “O valor Atualizado de A[“+i+”] =”+A[i];
Mostrar “O valor Atualizado de B[“+i+”] =”+A[i];
Fim;
Fim
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que gere uma matriz
exerc_matriz 3x3, inserir dados nos elementos dessa matriz,
por fim, mostre os dados contidos na matriz.
Algoritmo matriz_3x3;
Var exerc_matriz:matriz [1..3,1..3] de inteiro;
l, c de inteiro;
Inicio
Para l de 1 até 3 faça
Para c de 1 até 3 faça
Inicio
Mostrar “Digite valor para exerc_matriz[“+l+”,”+c+”].: ”;
Ler(exerc_matriz[l,c]);
Fim;
Para l de 1 até 3 faça
Para c de 1 até 3 faça
Mostrar “O valor de exerc_matriz[“+l+”,”+c+”].: ”+exerc_matriz[l,c];
Fim
Teste de Mesa
Exerc_matriz
C1 C2 C3
L1 6 9 7
L2 6 6 7
L3 5 3 7
L=1,2
C=1,2,3,4,1
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie um algoritmo que gere uma matriz
exerc_matriz 3x3, inserir dados nos elementos dessa matriz,
por fim, mostre os dados contidos na matriz e mostre qual é o
maior e qual é o menor valor da matriz.
Algoritmo matriz_maior_menor;
Var exerc_matriz:matriz [1..3,1..3] de inteiro;
l, c, maior, menor de inteiro;
Inicio
Maior  0; menor  99999;
Para l de 1 até 3 faça
Para c de 1 até 3 faça
Inicio
Mostrar “Digite valor para exerc_matriz[“+l+”,”+c+”].: ”;
Ler(exerc_matriz[l,c]);
Fim;
Para l de 1 até 3 faça
Para c de 1 até 3 faça
Inicio_para
Mostrar “O valor de exerc_matriz[“+l+”,”+c+”].: ”+exerc_matriz[l,c];
Se exerc_matriz[l,c] > maior entao
maior  exerc_matriz[l,c];
Se exerc_matriz[l,c] < menor entao
menor  exerc_matriz[l,c];
Fim_para
Mostrar “O maior valor da matriz .: “+maior;
Mostrar “O menor valor da matriz .: “+menor;
Fim
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: Crie uma matriz 4x4 chamada Mat4 e leia os valores para todos os
elementos da matriz e :
1) mostre essa matriz;
2) Calcule a soma dos elementos e mostre a soma;
3) calcule e mostre a média dos elementos da matriz;
4) mostre os elementos da diagonal principal;
5) que mostre os elementos da diagonal secundária;
6) mostre os elementos da linha 3;
7) mostre os elementos da Coluna 2;
8) calcule e mostre quantos elementos são números maiores que a média (e mostre esses
elementos);
9) mostre em que posição se encontra o maior e o menor elemento da matriz;
10) crie uma segunda matriz MatNeri de 4x4 e armazene o conteúdo de cada elemento da
matriz multiplicado por 2, mostre os elementos dessa nova matriz;
11) Que mostre os elementos pares e Impares da matriz, e dizer também quantos são pares e
quantos são impares;
12) Crie um vetor chamado Vetor_neri que contenha os elementos da 2º linha e mostre este
vetor
Algoritmo matriz_12questoes;
Var Mat4:matriz [1..4,1..4] de inteiro;
MatNeri:matriz [1..4,1..4] de inteiro;
Vetor_neri:vetor[1..4] de inteiro;
l, c, maior, menor,soma, media, com_media, conta_pares, conta_impares de
inteiro;
elem_vert,elem_sec, elem_l3, elem_c2, mostra_com_media, pos_maior, pos_menor,
mostra_pares, mostra_impares, vetNeri de caracter;
Inicio
Maior  0; menor  99999; soma  0; com_media  0; conta_pares  0;
conta_impares  0;
elem_vert  “”; elem_sec  “”; elem_l3 ””; elem_c2 ””; mostra_com_media  “”;
pos_maior  “”;pos_menor  “”; mostra_pares  “”; mostra_impares  “”;
vetNeri  “”;
Para l de 1 até 4 faça
Para c de 1 até 4 faça
Inicio
Mostrar “Digite valor para Mat4[“+l+”,”+c+”].: ”;
Ler(mat4[l,c]);
Soma  soma + mat4[l,c];
Fim;
Media  soma / 16;
Para l de 1 até 4 faça
Para c de 1 até 4 faça
Inicio_para
Mostrar “O valor de mat4[“+l+”,”+c+”].: ”+mat4[l,c];
Se l = c entao Elem_vert  elem_vert + mat4[l,c];
Se c = (5-l) entao Elem_sec  elem_sec + mat4[l,c];
Se l = 3 entao Elem_l3  elem_l3 + mat4[l,c];
Se c = 2 entao Elem_c2  elem_c2 + mat4[l,c];
Se mat4[l,c] >= media entao
inicio
com_media  com_media + 1;
mostra_com_media  mostra_com_media + mat4[l,c];
fim;
Se mat4[l,c] > maior entao Pos_maior  “mat4[“+l+”,”+c+”]”;
Se mat4[l,c] < menor entao Pos_menor  “mat4[“+l+”,”+c+”]”;
MatNeri[l,c]  Mat4[l,c] * 2;
Se mat4[l,c] mod 2 = 0 então
Inicio
Conta_pares  conta_pares + 1;
Mostra_pares  mostra_pares + mat4[l,c];
Fim
Senao Inicio
Conta_impares  conta_impares + 1;
Mostra_impares  mostra_impares + mat4[l,c];
Fim
Se l = 2 então
inicio
Vetor_neri[c]  mat4[l,c];
VetNeri  vetNeri + mat4[l,c];
Fim;
Fim_para
Mostrar “A soma dos elementos da matriz .: “+soma;
Mostrar “A media dos valores da matriz .: “+media;
Mostrar “Elementos da diagonal principal .: “+Elem_vert;
Mostrar “Elementos da diagonal secundaria .: “+Elem_sec;
Mostrar “Elementos da linha 3 .: “+Elem_l3;
Mostrar “Elementos da Coluna 2 .: “+Elem_c2;
Mostrar com_media “ elementos atingiram a media, eles são.: “+mostra_com_media;
Mostrar “o maior valor está em “+pos_maior+” e o menor valor está em “+pos_menor;
Para l de 1 até 4 faça
Para c de 1 até 4 faça
inicio
Mostrar “O valor de matNeri[“+l+”,”+c+”].: ”+matNeri[l,c];
Fim;
Mostrar conta_pares+” são pares, são eles .: “+mostra_pares;
Mostrar conta_impares+” são impares, são eles .: “+mostra_impares;
Mostrar “O Vetor_neri possui os elementos.: “+vetNeri;
End.
Prof Neri A. Neitzke -- www.informaticon.com.br
Crie um algoritmo que leia para um cadastro de cliente, o seu nome, sua
idade e o seu salário. E por fim, mostre os valores.
Algoritmo cadastro_cliente;
Tipo cadastro = registro
Nome de caracter;
Idade de inteiro;
Salario de real;
Fim;
Var dados_cliente, dados_funcionario de cadastro;
Inicio
Mostre “Digite o nome do cliente”;
Ler(dados_cliente.nome);
Mostre “Digite a idade do cliente”;
Ler(dados_cliente.idade);
Mostre “Digite o salário do cliente”;
Ler(dados_cliente.salario);
Mostre “O nome do cliente .: “+dados_cliente.nome;
Mostre “A idade do cliente .: “+dados_cliente.idade;
Mostre “O salario do cliente .: “+dados_cliente.salario;
Mostre “Digite o nome do funcionario”;
Ler(dados_funcionario.nome);
Mostre “Digite a idade do Funcionario”;
Ler(dados_funcioanrio.idade);
Mostre “Digite o salário do Funcionario”;
Ler(dados_funcionario.salario);
Mostre “O nome do funcionario .: “+dados_funcionario.nome;
Mostre “A idade do funcionario .: “+dados_funcionario.idade;
Mostre “O salario do funcionario .: “+dados_funcionario.salario;
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: subalgoritmos - modularização
Ler 2 números, efetuar as 4 operações matemáticas e
mostrar os resultados.
Algoritmo operações_subalgoritmos;
var num1, num2, soma, multiplicacao, divisao, subtracao de real;
procedimento leitura
inicio
Mostrar “Digite o numero 1.:”;
Ler(num1)
Mostrar “Digite o numero 2.:”;
Ler(num2);
Fim
Procedimento calculos
Inicio
soma  num1 + num2;
multiplicacao  num1 * num2;
divisao  num / num2;
subtracao  num1 – num2;
fim
procedimento imprimir
inicio
mostrar “A multiplicacao = “+multiplicacao;
mostrar “A divisao = “+divisao;
mostrar “A Subtracao = “+subtracao;
mostrar “A soma =”+soma;
fim;
Inicio
Leitura;
Calculos;
Imprimir;
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: subalgoritmos – modularização – procedimentos c/
parâmetros
Ler 2 números, efetuar as 4 operações matemáticas e
mostrar os resultados.
Algoritmo operações_subalgoritmos_parametros;
var num1, num2, soma, multiplicacao, divisao, subtracao de real;
procedimento leitura
inicio
Mostrar “Digite o numero 1.:”;
Ler(num1)
Mostrar “Digite o numero 2.:”;
Ler(num2);
Fim
procedimento calculos(pn1, pn2 de real)
Inicio
soma  pn1 + pn22;
multiplicacao  pn2 * pn22;
divisao  pn1 / pn2;
subtracao  pn1 – pn2;
fim
procedimento imprimir(mult, div, sub, som)
inicio
mostrar “A multiplicacao = “+mult;
mostrar “A divisao = “+div;
mostrar “A Subtracao = “+sub;
mostrar “A soma =”+som;
fim;
Inicio
Leitura;
Calculos(num1, num2);
Imprimir(multiplicacao,divisao, subtracao, soma);
Fim.
Vídeo Aulas de Algoritmos e Lógica de programação
Prof Neri A. Neitzke -- www.informaticon.com.br
Problema: subalgoritmos – modularização – FUNÇÕES
Ler 2 números, efetuar as 4 operações matemáticas e
mostrar os resultados.
Algoritmo subalgoritmos_funcoes;
var num1, num2, soma, multiplicacao, divisao, subtracao de real;
procedimento leitura
inicio
Mostrar “Digite o numero 1.:”;
Ler(num1)
Mostrar “Digite o numero 2.:”;
Ler(num2);
Fim
função somar(pn1, pn2 de real) de real;
Inicio
soma  pn1 + pn22;
retorna soma;
fim
função multiplicar(pn1, pn2 de real) de real;
Inicio
multiplicacao  pn1 * pn22;
retorna multiplicacao;
fim
função dividir(pn1, pn2 de real) de real;
Inicio
divisao  pn1 / pn22;
retorna divisao;
fim
função subtrair(pn1, pn2 de real) de real;
Inicio
subtracao  pn1 - pn22;
retorna subtracao;
fim
Inicio
Leitura;
Mostre “A soma .: “+ somar(num1, num2);
Mostre “A multiplicacao .: “+ multiplicar(num1, num2);
Mostre “A subtração .: “+ subtrair(num1, num2);
Mostre “A divisão .: “+ dividir(num1, num2);
Fim.

Más contenido relacionado

La actualidad más candente

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3Débora Inocêncio
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Exercicios resolvidos algoritmos
Exercicios resolvidos algoritmosExercicios resolvidos algoritmos
Exercicios resolvidos algoritmosDébora Inocêncio
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoElaine Cecília Gatto
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 
[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catchLoiane Groner
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 

La actualidad más candente (20)

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
1ª lista de_algoritmos
1ª lista de_algoritmos1ª lista de_algoritmos
1ª lista de_algoritmos
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Exercicios resolvidos algoritmos
Exercicios resolvidos algoritmosExercicios resolvidos algoritmos
Exercicios resolvidos algoritmos
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de Repetição
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 47: try, catch
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 

Similar a Videoulas de algoritmos e lógica de programação

Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - AlgoritmosPsLucas
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1Thalles Anderson
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06André Phillip Bertoletti
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Os Fantasmas !
 
Algoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.pptAlgoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.pptRobertoPereiradePaiv
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
Cucumber Best Practices
Cucumber Best PracticesCucumber Best Practices
Cucumber Best PracticesKaroline Leite
 
Exercicios sequenciais
Exercicios sequenciaisExercicios sequenciais
Exercicios sequenciaisMirlem Pereira
 

Similar a Videoulas de algoritmos e lógica de programação (20)

Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - Algoritmos
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Hggyjg
HggyjgHggyjg
Hggyjg
 
Resumo computação I
Resumo computação IResumo computação I
Resumo computação I
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Algoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.pptAlgoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.ppt
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
portugol
portugolportugol
portugol
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Cucumber Best Practices
Cucumber Best PracticesCucumber Best Practices
Cucumber Best Practices
 
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
 
Exercicios sequenciais
Exercicios sequenciaisExercicios sequenciais
Exercicios sequenciais
 

Videoulas de algoritmos e lógica de programação

  • 1. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Mostrar o nome de 3 pessoas Algoritmo mostra_nome Inicio Mostre “O nome da pessoa é Neri”; Mostre “O nome da pessoa é Lisi”; Mostre “O nome da pessoa é Giulia”; Ou Mostre “Os nomes são:Neri, Lisi e Giulia”; Fim. Teste de Mesa O nome da pessoa é Neri O nome da pessoa é Lisi O nome da pessoa é Giulia
  • 2. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Calcular a media de 2 notas e mostrar essa média Algoritmo media; var nota1, nota2, calc_media de Real; Inicio nota1  5; //nota1 recebe o valor de 5 nota2  7; calc_media  (nota1 + nota2) / 2; Mostrar “A média é “+calc_media; Fim. Teste de Mesa: nota1 = 5 nota2 = 7 media = (5 + 7) / 2 = 6 A Média é 6
  • 3. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br INICIO Nota1, Nota2 Media  (nota1+nota2)/2 Media Fim
  • 4. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler duas notas, calcular a media e mostrar essa média Algoritmo media; var nota1, nota2, calc_media de Real; Inicio Mostrar “Digite a primeira nota”; Ler(nota1); //nota1 recebe o valor de 5 Mostrar “Digite a segunda nota”; Ler(nota2); calc_media  (nota1 + nota2) / 2; Mostrar “A média é “+calc_media; Mostrar “.......Final do Sistema ....”; Fim.
  • 5. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Tipos de Dados. Problema: Ler o nome de uma pessoa, a sua idade e o seu salário, e mostrar essas informações; Algoritmo tipos_dados; var idade de Inteiro; salario de Real; nome de caracter; Inicio Mostrar “Digite o nome”; Ler(nome); Mostrar “digite a idade”; Ler(idade); Mostrar “digite o salário”; Ler(salário); mostrar “O nome é “+nome; mostrar “A idade é “+idade mostrar “O salário é”+salário; Fim.
  • 6. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: (Operadores Matemáticos) Ler 2 números, efetuar as 4 operações matemáticas e mostrar os resultados. Algoritmo operações; var num1, num2, soma, multiplicacao, divisao, subtracao de real; Inicio num1  10; num2  5; soma  num1 + num2; multiplicacao  num1 * num2; divisao  num / num2; subtracao  num1 – num2; mostrar “A multiplicacao = “+multiplicacao; mostrar “A divisao = “+divisao; mostrar “A Subtracao = “+subtracao; mostrar “A soma =”+soma; Fim. Algoritmo operações; var num1, num2, soma, multiplicacao, divisao, subtracao de real; Inicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2); soma  num1 + num2; multiplicacao  num1 * num2; divisao  num / num2; subtracao  num1 – num2; mostrar “A multiplicacao = “+multiplicacao; mostrar “A divisao = “+divisao; mostrar “A Subtracao = “+subtracao; mostrar “A soma =”+soma; Fim.
  • 7. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Duas variáveis (A e B) possuem valores distintos (A:=5 e B:= 10), Crie um algoritmo que armazene esses dois valores nessas duas variáveis, e efetue a troca dos valores de forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir o valor da variável A. Por fim, apresentar os valores trocado; Algoritmo operações; Var A, B, Auxiliar de Inteiro; Inicio A  5; B  10; Auxiliar  A; A  B; B  Auxiliar; Mostre “B = “+B; Mostre “A = “+A; Fim. Teste de Mesa A=10 B=5 Auxiliar=5 B = 5 A = 10
  • 8. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: O custo ao consumidor de um carro novo, é a soma do custo de fábrica com a percentagem do revendedor e com o custo dos impostos (aplicados ao custo de fábrica). Supondo que a percentagem do revendedor seja de 25% do custo de fábrica e que os impostos custam 45 % do custo de fábrica, faça um algoritmo que leia o valor de custo de fábrica e determine o preço final do automóvel (custo ao consumidor). Algoritmo automovel; Var custo_fabrica, perc_revendedor, impostos, preco_final de real; Inicio Mostrar “Digite o valor do custo de fabrica deste automóvel.: “; Ler(custo_fabrica); //custo_fabrica  40000; perc_revendedor  (25 * custo_fabrica) / 100; impostos  (45 * custo_fabrica) / 100; preco_final  custo_fabrica + perc_revendedor + impostos; mostrar “Custo de Fábrica ..........: “+custo_fabrica; mostrar “Percentual revendedor .: “+perc_revendedor; mostrar “impostos .........................: “+impostos; mostrar “O preço Final é ..............: “+preco_final; Fim. Teste de Mesa custo_fabrica = 20000 perc_revendedor = (25 * 20000) / 100 = 5000 impostos = (45 * 20000) / 100 = 9000 preco_final = 20000 + 5000 + 9000 = 34000
  • 9. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: O sistema de avaliação de determinada disciplina, é composto por três provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina. Algoritmo avaliacao; Var prova1, prova2, prova3, media de numérico; //numérico = real Inicio Mostrar “digite a nota1”; Ler(prova1); Mostrar “digite a nota2”; Ler(prova2); Mostrar “digite a nota3”; Ler(prova3); Prova1  prova1 * 2 /10; Prova2  prova2 * 3 /10; Prova3  prova3 * 5 /10; Media  (prova1 + prova2 + prova3); Mostrar “A media final = “+media; Fim. Teste de Mesa Prova1 = 6 --------- 6 * 2 / 10 = 1,2 Prova2 = 8 --------- 8 * 3 /10 = 2,4 Prova3 = 4 ---------- 4 * 5 / 10 = 2,0 Media = (1.2 + 2.4 + 2) / 3 = 5.6 A media final = 5.6
  • 10. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br 1. Problema: Um cliente de um banco tem um saldo positivo de R$ 500,00. Fazer um algoritmo que leia um cheque que entrou e calcule o saldo, mostrando (escrevendo) o saldo na tela. Algoritmo saldo; Var valor_saldo, cheque_entrou de numérico; //numérico = real Inicio Valor_Saldo  500; Mostrar “digite o valor do cheque que entrou”; Ler(cheque_entrou); Valor_saldo  valor_saldo – cheque_entrou; Mostrar “O saldo atual = “+valor_saldo; Fim. Teste de Mesa Saldo = 500 ---500-200=300 Cheque_entrou=200 O saldo atual = 300
  • 11. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema.:Uma Empresa de vendas de softwares paga a seu vendedor um fixo de R$ 800,00 por mês, mais uma comissão de 15% pelo seu valor de vendas no mês. Faça uma algoritmo que leia o valor da venda e determine o salário total do funcionário. Mostre as informações que você achar necessário. Algoritmo vendas; Var fixo, comissao, vendas_mes, salario_total de numérico; //numérico = real Inicio Fixo  800; Mostrar “Digite o valor da venda no mês”; Ler(vendas_mes); Comissão  (vendas_mes * 15) / 100; Salário_total  fixo + comissao; Mostrar “O salário fixo = “+fixo; Mostrar “o valor de comissao = “+comissao; Mostrar “o salário total = “+salario_total; Fim. Teste de Mesa Fixo = 800 Comissao = (500 * 15) /100 = 75 vendas_mes = 500 salario_total = 800 + 75 = 875
  • 12. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema.: Uma Empresa de desenvolvimento de softwares paga a seu vendedor um fixo de R$ 500,00 por mês, mais um bônus de R$ 50,00 por sistema vendido. Faça uma algoritmo que leia quantos softwares o funcionário vendeu e determine o salário total do funcionário. Mostre as informações que você achar necessário. Algoritmo vendas2; Var fixo, bonus, qtd_softw_vend, salario_total de numérico; //numérico = real Inicio Fixo  500; Mostrar “Digite quantidade software vendido”; Ler(qtd_softw_vend); bonus  qtd_softw_vend * 50; Salário_total  fixo + bonus; Mostrar “O salário fixo = “+fixo; Mostrar “o valor de bonus = “+bonus; Mostrar “o salário total = “+salario_total; Fim. Teste de Mesa Fixo = 500 Bonus = 3 * 50 = 150 qtd_softw_vend = 3 salario_total = 500 + 150 = 650 O salário fixo = 500 O valor de bonus = 150 O salário total = 650
  • 13. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Crie um algoritmo para calcular o salário líquido de um funcionário, considerando que seu salário bruto, incide um desconto de 9% em inss para a previdência. O algoritmo deve mostrar o nome do funcionário, o seu salário bruto, o valor de desconto de inss e o seu salário líquido.(dica.: Você deverá pedir (ler) o nome do funcionário e o valor do salário bruto) Algoritmo salario; Var salario_liquido, salario_bruto, inss de numérico; //(Real) Nome de Caracter; Inicio Mostrar “Digite o nome do funcionário”; Ler(nome); Mostrar “Digite o valor do salario bruto”; Ler(salario_bruto); Inss  (salario_bruto * 9) / 100; Salario_liquido salario_bruto – inss; Mostrar “O salario bruto = “+salario_bruto; Mostrar “O desconto de inss = “+inss; Mostrar “O salario liquido = “+salario_liquido; Fim. Teste de Mesa PASSO A PASSO Salario_liquido = 2000 – 180 = 1820 Salario_bruto = 2000 Inss = (2000 * 9) /100 = 180 Nome = Neri O salario bruto = 2000 O desconto de inss = 180 O salario liquido = 1820
  • 14. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Considerando que para um consórcio, sabe-se o número total de prestações, a quantidade de prestações pagas e o valor atual da prestação, escreva um algoritmo que determine o total pago pelo consorciado e o saldo devedor. Algoritmo consorcio; Var valor_prest, total_pago, saldo_devedor de Real; total_prest, qtd_prest_pagas de Inteiro; Inicio mostre “Digite o total das prestacoes.: “; ler(Total_prest); mostre “digite a quantidade de prestacoes pagas”; ler(qtd_prest_pagas); mostre “digite o valor de cada prestacao”; ler(valor_prest); total_pago  qtd_prest_pagas * valor_prest; saldo_devedor  valor_prest * (total_prest - qtd_prest_pagas); mostre “O total pago = “+total_pago; mostre “O saldo devedor =”+saldo_devedor; Fim. Teste de Mesa total_prest = 20 qtd_prest_pagas = 5 valor_prest = 200 total_pago= 5 * 200 = 1000 saldo_devedor=200*(20-5)=3000 O total pago = 1000 O saldo devedor = 3000
  • 15. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Analisando a fórmula " Prestação = valor + (valor * (taxa/100) * tempo)", crie um algoritmo para efetuar o cálculo do valor de uma prestação em atraso. (Você deverá ler o VALOR da prestação, a TAXA de juros imposta pelo banco, e o número de dias em ATRASO. Algoritmo prestacao; Var prestacao, valor_prest, taxa de Real; Dias_atraso de Inteiro; Inicio Mostre “Digite o valor da prestacao”; Ler(valor_prest); Mostre “digite a taxa de juros”; Ler(taxa); Mostre “digite o numero de dias em atraso”; Ler(dias_atraso); prestacao  valor_prest + (valor_prest * (taxa/100)*dias_atraso); Mostre “O valor corrigido da prestacao = “+prestacao; Fim. Teste de Mesa Prestacao=200+(200*(2/100)*10=240 valor_prest = 200 taxa=2 Dias_atraso=10 O valor corrigido da prestacao = 240
  • 16. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie 2 variáveis (A e B) e leia 1 valor para cada um deles. Disponibilize eles de forma crescente. Algoritmo crescenteAB; Var a,b de inteiro; Inicio Mostre “digite o valor para A” Ler(a) Mostre “digite o valor para B” Ler(b) Se A > B entao Mostre “ Em ordem crescente “+ B +” – “+A Senao Mostre “ Em ordem crescente “+ A +” – “+B Fim. Teste de Mesa A = 2 B =7 Em ordem crescente 2 - 7
  • 17. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie 2 variáveis (A e B) e leia 1 valor para cada um deles. Disponibilize eles de forma crescente. INICIO A, B Fim Em ordem crescente “+ B +” – “+A A > B VF Em ordem crescente “+ A +” – “+B
  • 18. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: O sistema de avaliação de determinada disciplina, é composto por três provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina. Caso a media seja maior ou igual a 6 mostre APROVADO, se a media for entre 4 e 6, mostre em RECUPERAÇÃO, e se for menor do que 4 mostre REPROVADO. Algoritmo avaliacao; Var prova1, prova2, prova3, media de numérico; //numérico = real Inicio Mostrar “digite a nota1”; Ler(prova1); Mostrar “digite a nota2”; Ler(prova2); Mostrar “digite a nota3”; Ler(prova3); Prova1  prova1 * 2 /10; Prova2  prova2 * 3 /10; Prova3  prova3 * 5 /10; Media  (prova1 + prova2 + prova3); Se media >= 6 entao Mostrar “Aprovado com media “+media; Se media >= 4 entao Mostrar “recuperacao com media “+media; Senao Mostrar “Reprovado com media “+media; Fim. Teste de Mesa Prova1 = 6 --------- 6 * 2 / 10 = 1,2 Prova2 = 8 --------- 8 * 3 /10 = 2,4 Prova3 = 4 ---------- 4 * 5 / 10 = 2,0 Media = (1.2 + 2.4 + 2) / 3 = 5.6 Recuperacao com media 5.6
  • 19. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO Prova1, prova2, prova3 Fim “Aprovado com media “+media; Media >=6 VF “Reprovado com media “+media; Prova1  prova1 * 2 /10; Prova2  prova2 * 3 /10; Prova3  prova3 * 5 /10; Media  (prova1 + prova2 + prova3); MEDIA >= 4 “recuperacao com media “+media; V F
  • 20. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Uma loja oferece para os seus clientes, um determinado desconto de acordo com o valor da compra efetuada. O desconto é de 10%, se o valor da compra for até R$200.00, 15% se for maior que R$ 200 e menor ou igual a R$ 500,00 e 20% se for acima de R$ 500,00. Crie um algoritmo que leia o nome do cliente e o valor da compra. Mostre ao final o nome do cliente, o valor da compra, o percentual de desconto e o seu valor e valor total a pagar deste cliente. Algoritmo compra_desconto; Var valor_compra, valor_desconto, valor_pagar de real; Desconto de inteiro; Nome de caracter; Inicio Mostrar “digite o nome do cliente”; Ler(nome); Mostrar “digite o valor da compra”; Ler(valor_compra); Se valor_compra <= 200 entao Desconto  10; Senao se valor_compra <= 500 entao Desconto  15; Senao Desconto  20; Faça Valor_desconto  (valor_compra * desconto) / 100; Faça valor_pagar  valor_compra – valor_desconto; Mostre “Nome do Cliente .: “+nome; Mostre “Valor da Compra .: “+valor_compra; Mostre “O percentual de desc: “+desconto; Mostre “Valor do desconto .: “+valor_desconto; Mostre “Valor a pagar .:” + valor_pagar; Fim. Teste de Mesa Valor_compra = 300 Valor_desconto = (300 * 15) / 100 = 45 Valor_pagar = 300 – 45 = 255 Desconto = 15 Nome = Neri Neitzke Nome do Cliente .: Neri Neitzke Valor da Compra .: 300 O percentual desc .: 15 Valor do desconto .: 45 Valor a pagar .: 255
  • 21. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO Nome, valor_compra Fim Valor_compra <= 200 VF Valor_desconto  (valor_compra * desconto) / 100; valor_pagar  valor_compra – desconto; Valor_compra <= 500 V F Mostre “Nome do Cliente .: “+nome; Mostre “Valor da Compra .: “+valor_compra; Mostre “O percentual de desc: “+desconto; Mostre “Valor do desconto .: “+valor_desconto; Mostre “Valor a pagar .:” + valor_pagar; Desconto  15 Desconto  10 Desconto  20
  • 22. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Uma loja oferece para os seus clientes, um determinado desconto de acordo com o valor da compra efetuada. O desconto é de 10%, se o valor da compra for até R$200.00, 15% se for maior que R$ 200 e menor ou igual a R$ 500,00 e 20% se for acima de R$ 500,00. Crie um algoritmo que leia o nome do cliente e o valor da compra. Mostre ao final o nome do cliente, o valor da compra, o valor do desconto e valor total a pagar deste cliente. Algoritmo compra_desconto1; Var valor_compra, valor_desconto, valor_pagar de real; Nome de caracter; Inicio Mostrar “digite o nome do cliente”; Ler(nome); Mostrar “digite o valor da compra”; Ler(valor_compra); Se valor_compra <= 200 entao Valor_desconto  (valor_compra * 10) / 100; Senao se valor_compra <= 500 entao Valor_desconto  (valor_compra * 15) / 100; Senao Valor_desconto  (valor_compra * 20) / 100; Faça valor_pagar  valor_compra – valor_desconto; Mostre “Nome do Cliente .: “+nome; Mostre “Valor da Compra .: “+valor_compra; Mostre “Valor do desconto .: “+valor_desconto; Mostre “Valor a pagar .:” + valor_pagar; Fim. Teste de Mesa Valor_compra = 300 Valor_desconto = (300 * 15) / 100 = 45 Valor_pagar = 300 – 45 = 255 Nome = Neri Neitzke Nome do Cliente .: Neri Neitzke Valor da Compra .: 300 Valor do desconto .: 45 Valor a pagar .: 255
  • 23. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO Nome, valor_compra Fim Valor_compra <= 200 VF valor_pagar  valor_compra – desconto; Valor_compra <= 500 V F Mostre “Nome do Cliente .: “+nome; Mostre “Valor da Compra .: “+valor_compra; Mostre “Valor do desconto .: “+valor_desconto; Mostre “Valor a pagar .:” + valor_pagar; Valor_desconto  (valor_compra * 15) / 100; Valor_desconto  (valor_compra * 10) / 100; Valor_desconto  (valor_compra * 20) / 100;
  • 24. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Fazer um algoritmo que leia o saldo inicial de cliente do banco e leia também um cheque que entrou e ANALISE se o cheque poderá ser descontado ou não , já que este cliente não possui limite. Se o cheque não poderá ser descontado, mostre essa informação, caso contrário, desconte o cheque e informe o saldo na tela. Algoritmo saldo_se; Var valor_saldo, cheque_entrou de numérico; //numérico = real Inicio Mostre “Digite o saldo inicial .: “; Ler(valor_saldo); //Valor_Saldo  500; Mostrar “digite o valor do cheque que entrou”; Ler(cheque_entrou); Se cheque_entrou <= valor_saldo entao Valor_saldo  valor_saldo – cheque_entrou; Mostrar “seu novo saldo .: “+valor_saldo; Senao Mostrar “este cheque não pode ser descontado”; Mostrar “seu saldo continua “+valor_saldo; Fim_se Fim. Teste de Mesa valor_saldo = cheque_entrou =
  • 25. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO valor_saldo, cheque_entrou Fim cheque_entrou <= valor_saldo VF Valor_saldo  valor_saldo – cheque_entrou “seu novo saldo .: “+valor_saldo; “este cheque não pode ser descontado”; “seu saldo continua “+valor_saldo;
  • 26. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Fazer um algoritmo que analize 3 valores inteiros (através das variáveis n1, n2 e n3), e informa qual o maior e qual o menor deles. Algoritmo maior_menor; Var n1, n2, n3 de inteiro; Inicio Mostre “digite o valor para n1”; Ler(n1); Mostre “digite o valor para n2”; Ler(n2); Mostre “digite o valor para n3”; Ler(n3); Se (n1 >= n2) e (n1 >= n3) entao Mostre “o maior é o .: “+n1; Senao Se (n2 >= n1) e (n2 >= n3) entao Mostre “o maior é o .: “+n2; Senao Mostre “o maior é o .: “+n3; Se (n1 <= n2) e (n1 <= n3) entao Mostre “o menor é o .: “+n1; Senao Se (n2 <= n1) e (n2 <= n3) entao Mostre “o menor é o .: “+n2; Senao Mostre “o menor é o .: “+n3; Fim. Teste de Mesa N1 = 10 N2 = 10 N3 = 20 O MAIOR É O 20 O MENOR É O 10
  • 27. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Fazer um algoritmo que analize 3 valores inteiros (através das variáveis n1, n2 e n3), e informa qual o maior e qual o menor deles. Algoritmo maior_menor; Var n1, n2, n3 de inteiro; Inicio Mostre “digite o valor para n1”; Ler(n1); Mostre “digite o valor para n2”; Ler(n2); Mostre “digite o valor para n3”; Ler(n3); Se (n1 >= n2) e (n1 >= n3) entao inicio Mostre “o maior é o .: “+n1; Se (n2 <= n3) entao Mostre “o menor é o .: “+n2; Senao Mostre “o menor é o .: “+n3; Fim_se Senao Se (n2 >= n1) e (n2 >= n3) entao inicio Mostre “o maior é o .: “+n2; Se (n1 <= n3) entao Mostre “o menor é o .: “+n1; Senao Mostre “o menor é o .: “+n3; Fim_se Senao inicio Mostre “o maior é o .: “+n3; Se (n2 <= n1) entao Mostre “o menor é o .: “+n2; Senao Mostre “o menor é o .: “+n1; Fim_se Fim Teste de Mesa N1 = 15 N2 = 10 N3 = 20 O MAIOR É O 20 O MENOR É O 10
  • 28. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO n1, n2, n3 Fim (n1 >= n2) e (n1 >= n3) FV “o maior é o .: “+n1; n2 <= n3 “o menor é o .: “+n2; “o menor é o .: “+n3; (n2 >= n1) e (n2 >= n3 “o maior é o .: “+n2; V F V n1 <= n3 “o menor é o .: “+n3; “o menor é o .: “+n1;V F “o maior é o .: “+n3; n2 <= n1F V “o menor é o .: “+n1; “o menor é o .: “+n2;
  • 29. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que leia três valores le,ld,li e verifique se eles podem ser os comprimentos dos lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever a mensagem "Não é um triângulo". Antes da elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições. Propriedade - O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados, fora desta condição as medidas não são consideradas de um triângulo. Definição 1 - Chama-se triângulo equilátero os que tem os comprimentos dos três lados iguais, Definição 2 - Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois lados guais. Definição 3 - Chama-se triângulo escaleno ao triângulo que tem os comprimentos dos três lados diferentes. Algoritmo triangulo; Var le, ld, li de real; Inicio Mostre “digite o comprimento de LE.: ” Ler(le); Mostre “digite o comprimento de LD.: ” Ler(ld); Mostre “digite o comprimento de LI.: ” Ler(li); Se (li < (le + ld)) e (le < (ld + li)) e (ld < (li + le)) entao Se (le = ld) e (le = li) entao Mostrar “triangulo equilatero”; Senao se ((li = ld) ou (li = le) ou (le = ld)) then Mostrar “triangulo isosceles”; Senao // se ((ld <> le) e (ld <> li) e (li <> le)) entao Mostrar “triangulo escaleno”; Senao Mostre “não é um triangulo”; Fim Teste de Mesa Le = 20 Ld = 15 Li = 15 Triangulo isosceles 15 15 20
  • 30. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO le, ld, li Fim ((li < (le + ld) e (le < (ld + li) e (ld < (li + le)) F V “não é um triangulo”; (le = ld) e (le = li) “triangulo equilátero” V “triangulo isosceles”; F ((li = ld) ou (li = le) ou (le = ld)) V “triângulo escaleno” F
  • 31. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler 3 valores INTEIROS para as variáveis A, B, C. Apresentar os valores dispostos em ordem crescente. Algoritmo abc_crescente; Var a, b, c de inteiro; Inicio Mostre “digite o valor para A.:”; Ler(a); Mostre “digite o valor para B.:”; Ler(b); Mostre “digite o valor para C.:”; Ler(c); Se (A <=B) e (A <= C) entao Se (B <= C) entao Mostre “Em ordem crescente ficou.: “+A+”-“+B+”-”+C; Senao Mostre “Em ordem crescente ficou.: “+A+”-“+C+”-”+B; fim_se fim_se Senao Se (B <=A) e (B <= C) entao Se (A<= C) entao Mostre “Em ordem crescente ficou.: “+B+”-“+A+”-”+C; Senao Mostre “Em ordem crescente ficou.: “+B+”-“+C+”-”+A; fim_se fim_se senao Se (A <= B) entao Mostre “Em ordem crescente ficou.: “+C+”-“+A+”-”+B; Senao Mostre “Em ordem crescente ficou.: “+C+”-“+B+”-”+A; fim_se fim_se Fim Teste de Mesa A=9 B=6 C=7 Ordem 6 7 9
  • 32. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Fluxograma do exercíco anterior. INICIO A, b, c Fim (A <=B) e (A <= C) V F “Em ordem crescente ficou.: “+A+”-“+C+”-”+B (B <=A) e (B <= C) F Em ordem crescente ficou.: “+B+”-“+A+”-”+C V A<= C V Em ordem crescente ficou.: “+B+”-“+C+”-”+A B <= C “Em ordem crescente ficou.: “+A+”-“+B+”-”+C V F A <= B Em ordem crescente ficou.: “+C+”-“+A+”-”+B Em ordem crescente ficou.: “+C+”-“+B+”-”+A F V F
  • 33. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler para uma variável INTEIRA um número de 1 a 12 e mostrar o nome do mês correspondente. Caso o mês não existir, mostrar essa informação. Algoritmo mes_se; Var mes de inteiro; Inicio Mostrar “digite o mês de 1 a 11 “; Ler(mês); Se (mes = 1) então Mostrar “Janeiro”; Senao Se (mes = 2) então Mostrar “Fevereiro”; Senao Se (mes = 3) então Mostrar “Marco”; Senao Se (mes = 4) então Mostrar “Abril”; Senao Se (mes = 5) então Mostrar “Maio”; Senao Se (mes = 6) então Mostrar “Junho”; Senao Se (mes = 7) então Mostrar “Julho”; Senao Se (mes = 8) então Mostrar “Agosto”; Senao Se (mes = 9) então Mostrar “Setembro”; Senao Se (mes = 10) então Mostrar “Outubro”; Senao Se (mes = 11) então Mostrar “Novembro”; Senao Se (mes = 12) então Mostrar “Dezembro”; Senao “Esse mês não existe”; Fim Teste de Mesa Mês = 2 Fevereiro
  • 34. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler para uma variável INTEIRA um número de 1 a 12 e mostrar o nome do mês correspondente. Caso o mês não existir, mostrar essa informação. Algoritmo mes_case; Var mes de inteiro; Inicio Mostrar “digite o mês de 1 a 11 “; Ler(mês); Caso mês seja 1: Mostrar “Janeiro”; 2: Mostrar “Fevereiro”; 3: Mostrar “Marco”; 4: Mostrar “Abril”; 5: Mostrar “Maio”; 6: Mostrar “Junho”; 7: Mostrar “Julho”; 8: Mostrar “Agosto”; 9: Mostrar “Setembro”; 10: Mostrar “Outubro”; 11: Mostrar “Novembro”; 12: Mostrar “Dezembro”; Senao modtrsr “Esse mês não existe”; Fim_caso Fim Teste de Mesa Mês = 2 Fevereiro
  • 35. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler uma variável de numero inteiro e mostre se ele é par ou se ele é impar. Algoritmo par_impar; Var numero de inteiro; Inicio Mostre “digite um numero qualquer”; Ler(numero); Se (numero mod 2 = 0) entao Mostre “esse numero é par”; Senao Mostre “esse numero não é par”; Fim Teste de Mesa
  • 36. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler uma variável de numero inteiro e mostrar a tabuada desse número. Algoritmo tabuada; Var numero de inteiro; Inicio Mostre “digite um número para a tabuada”; Ler(numero); Mostre numero + “ x 1 = “+(numero * 1); Mostre numero + “ x 2 = “+(numero * 2); Mostre numero + “ x 3 = “+(numero * 3); Mostre numero + “ x 4 = “+(numero * 4); Mostre numero + “ x 5 = “+(numero * 5); Mostre numero + “ x 6 = “+(numero * 6); Mostre numero + “ x 7 = “+(numero * 7); Mostre numero + “ x 8 = “+(numero * 8); Mostre numero + “ x 9 = “+(numero * 9); Fim Teste de Mesa 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 .....
  • 37. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler uma variável de numero inteiro e mostrar a tabuada desse número. Usando o laço de repetição Para Algoritmo tabuada_para; Var numero, i de inteiro; Inicio Mostre “digite um número para a tabuada”; Ler(numero); Para i de 1 até 9 passo 1 faça Mostre numero + “ x “ + i + “ = “+(numero * i); Fim //outras maneiras de fazer esse laço Para i  1 até 9 faça Para i = 1 até 9 faça Para i = 1 até 9 passo 1 faça Teste de Mesa Numero = 4 I = 1,2,3,4,5,6,7,8,9,10 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 .... 4 x 9 = 36
  • 38. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler uma variável de numero inteiro e mostrar a tabuada desse número. Usando o laço de repetição enquanto Algoritmo tabuada_enquanto; Var numero, i de inteiro; Inicio Mostre “digite um número para a tabuada”; Ler(numero); I  1; Enquanto(i <= 9) inicio Mostre numero + “ x “ + i + “ = “+(numero * i); i++; // igual ao i=i+1 Fim_enquanto Fim Teste de Mesa Numero = 7 I = 1 7 x 1 = 7 7 x 1 = 7 7 x 1 = 7 7 x 1 = 7 7 x 1 = 7 7 x 1 = 7
  • 39. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler uma variável de numero inteiro e mostrar a tabuada desse número. Usando o laço de repetição repita Algoritmo tabuada_repita; Var numero, i de inteiro; Inicio Mostre “digite um número para a tabuada”; Ler(numero); I  15; Repita Inicio Mostre numero + “ x “ + i + “ = “+(numero * i); I++; //i=i+1 Fim Até que (i > 9); // Enquanto(i <= 9) Fim Teste de Mesa Numero = 9 I = 15 9 x 15 = 135
  • 40. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Faça um algoritmo que gere a seguinte série: 10, 20, 30, 40, ..... 980, 990, 1000. Algoritmo serie_para; Var i de inteiro; Inicio Para i de 10 até 1000 passo 10 faça Mostrar i; Fim Teste de Mesa I=10, 20 10, 20, 30, 40
  • 41. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema:Ler a nota de 10 alunos, calcular a media e mostrar essa média. Algoritmo media_para; var nota, calc_media, soma_notas de Real; i de inteiro; Inicio Soma_notas  0; Para i de 1 até 10 faça inicio Mostrar “Digite a “+i+”º de 10 notas”; Ler(nota); Soma_notas  soma_notas + nota; Fim_para calc_media  soma_notas / 10; Mostrar “A média é “+calc_media; Mostrar “.......Final do Sistema ....”; Fim. Teste de Mesa Nota=7,8,6 Calc_media = 9 Soma_notas=90 I=10
  • 42. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema:Ler a nota de 10 alunos, calcular a media e mostrar essa média. Aceitar somente notas de 0 a 10. Algoritmo media_para; var nota, calc_media, soma_notas de Real; i de inteiro; Inicio Soma_notas  0; Para i de 1 até 10 faça inicio Mostrar “Digite a “+i+”º de 10 notas”; Ler(nota); Se ((nota >=0) e (nota <= 10)) entao Soma_notas  soma_notas + nota; Senao Inicio Mostrar “Nota Invaálida, digite apenas notas de 0 a 10”); i=i-1; fim_se Fim_para calc_media  soma_notas / 10; Mostrar “A média é “+calc_media; Mostrar “.......Final do Sistema ....”; Fim. Teste de Mesa Nota=7,8,6 Calc_media = 9 Soma_notas=90 I=10
  • 43. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Mostre os 10 primeiros números pares. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler dois números (inicial e final). Escreva quantos número pares e quantos numeros impares encontran-se entre os dois números fornecidos pelo usuário. Algoritmo pares_10; Var numero, conta_pares de inteiro; Inicio Conta_pares  0; Numero  1; enquanto(conta_pares < 10) Inicio_enquanto Se (numero mod 2 = 0) entao Inicio_se Mostre “o numero “+numero+” = par; Conta_pares  conta_pares + 1; Fim_se Numero  numero + 1; Fim_enquanto Fim Teste de Mesa Numero=1,2,3 Conta_pares=1 O numero 2 .: par
  • 44. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Ler dois números (inicial e final, o numero final não pode ser menor do que o numero inicial). Escreva quantos número pares e quantos numeros impares encontran- se entre os dois números fornecidos pelo usuário. Algoritmo par_impar_conta; Var numero_inicial, numero_final, numeros_pares, numeros_impares,i de inteiro; Inicio Numeros_pares  0; Numeros_impares  0; Mostre “Digite o número inicial.: “; Ler(numero_inicial); I  numero_inicial; Mostre “Digite o número final.: “; Ler(numero_final); Enquanto(i <= numero_final) faça Inicio_enquanto Se (i mod 2 = 0) entao Numeros_pares  Numeros_pares + 1; Senao Numeros_impares  Numeros_impares + 1; i  i + 1; Fim_enquanto Mostrar “Entre o numero “+numero_inicial+” e o numero “+numero_final+” existem “+numeros_pares+” pares e “+numeros_impares+” impares”; Fim Teste de Mesa Numeros_pares=0,1,2 Numeros_impares=0,1,2,3 Numero_inicial=23 Numero_final=27 I = 23,24,25,26,27,28 Entre o numero 23 e o numero 27 existem 2 pares e 3 impares
  • 45. Prof Neri A. Neitzke -- www.informaticon.com.br Algoritmo par_impar_conta; Var numero_inicial, numero_final, numeros_pares, numeros_impares,i de inteiro; Inicio Numeros_pares  0; Numeros_impares  0; numero_final  0; Mostre “Digite o número inicial.: “; Ler(numero_inicial); I  numero_inicial; Repita Inicio_repita Mostre “Digite o número final maior que o inicial.: “; Ler(numero_final); Se (numero_final < numero_inicial) entao Mostrar “Número final inválido, deve ser maior do que o inicial”) Final_repita Até que(numero_final >= numero_inicial); Enquanto(i <= numero_final) faça Inicio_enquanto Se (i mod 2 = 0) entao Numeros_pares  Numeros_pares + 1; Senao Numeros_impares  Numeros_impares + 1; i  i + 1; Fim_enquanto Mostrar “Entre o numero “+numero_inicial+” e o numero “+numero_final+” existem “+numeros_pares+” pares e “+numeros_impares+” impares”; Fim Teste de Mesa Numeros_pares=0,1,2 Numeros_impares=0,1,2,3 Numero_inicial=23 Numero_final=27 I = 23,24,25,26,27,28 Entre o numero 23 e o numero 27 existem 2 pares e 3 impares
  • 46. Problema: Crie um algoritmo que leia um numero inteiro, e diga se ele é um numero primo ou não. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que leia um numero inteiro, e diga se ele é um numero primo ou não. Algoritmo primo; Var numero,contador,i de inteiro; Inicio Contador  0; I  2; Mostrar “Digite um número .: “; Ler(numero); Enquanto(i < (numero/2)) Inicio_enquanto Se (numero mod i = 0) Contador  Contador +1; I  I + 1; Fim_enquanto Se contador > 0 entao Mostrar “O numero “+numero+” não é primo”; Senao Mostrar “O numero “+numero+” é primo”; Fim Teste de Mesa Contador = 0 I = 2, Numero = 5 O numero 5 é primo
  • 47. Algoritmo primo_logico; Var numero,i de inteiro; Num_primo de logico; // verdadeiro ou falso -> boolean Inicio Num_primo  verdadeiro; I  2; Mostrar “Digite um número .: “; Ler(numero); Enquanto((i < (numero/2) e (num_primo = verdadeiro)) faça Inicio_enquanto Se (numero mod i = 0) Num_primo  falso; I  I + 1; Fim_enquanto Se Num_primo = falso entao Mostrar “O numero “+numero+” não é primo”; Senao Mostrar “O numero “+numero+” é primo”; Fim Teste de Mesa
  • 48. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que mostre os 10 primeiros números primos. Algoritmo primo_10; Var contador, numero,i de inteiro; num_primo de logico; begin numero  1; contador  0; enquanto (contador < 10) faça inicio num_primo  verdadeiro; numero  numero + 1; I  2; enquanto((i <= (numero/2)) e (num_primo = verdadeiro)) faça inicio se (numero mod i = 0) entao inicio num_primo  falso; fim I  I + 1; Fim_segundo_enquanto; se num_primo = verdadeiro then inicio contador  contador + 1; escreva(“O numero “+numero+” e o “+contador+”. numero primo'); fim fim_primeiro_enquanto; fim. Teste de Mesa
  • 49. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Mostrar os 10 primeiros numeros da sequencia Fibonacci. Ex: 1 1 2 3 5 8 13 21 34 55 89 ..... Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Algoritmo fibonacci; Var i, num_anterior, num_atual, novo_numero de inteiro; Inicio Num_anterior  0; Num_atual  1; Mostre “o 1. numero fibonaccci é 1”; Para i de 2 até 10 faça Inicio Novo_numero  num_atual + num_anterior; Num_anterior  num_atual; Num_atual  novo_numero; Mostre “o “+i+”. numero fibonaccci é ”+novo_numero; Fim; Fim Teste de Mesa Num_anterior=0,1,1,2,3,5 Num_atual=1,1,2,3,5,8 Novo_numero=1,2,3,5,8 I=2,3,4,5,6 O 1. numero fibonacci é 1 O 2. numero fibonacci é 1 O 3. numero fibonacci é 2 O 4. numero fibonacci é 3 O 5. numero fibonacci é 5 O 6. numero fibonacci é 8 ................
  • 50. Problema:Ler a nota de 5 alunos, calcular a media e mostrar essa média e mostrar também quantos alunos ficaram com a sua nota igual ou acima da média. Algoritmo media_media; var nota1, nota2, nota3, nota4, nota5, calc_media, soma_notas de real; contador de inteiro; inicio contador  0; mostrar “digite a 1. nota.: ”; ler(nota1); mostrar “digite a 2. nota.: ”; ler(nota2); mostrar “digite a 3. nota.: ”; ler(nota3); mostrar “digite a 4. nota.: ”; ler(nota4); mostrar “digite a 5. nota.: ”; ler(nota5); soma_notas  nota1 + nota2 + nota3 + nota4 + nota5; calc_media  soma_notas / 5; se (nota1 > calc_media) entao contador  contador + 1; se (nota2 > calc_media) entao contador  contador + 1; se (nota3 > calc_media) entao contador  contador + 1; se (nota4 > calc_media) entao contador  contador + 1; se (nota5 > calc_media) entao contador  contador + 1; mostrar “a média é “+calc_media; mostrar contador + “ alunos ficaram com a nota acima da media”; mostrar “.......final do sistema ....”; Fim. Teste de Mesa nota1=6 nota2=4 nota3 =9 nota4 =5 nota5 =7 soma_notas=31 calc_media= 31/5=6.2 contador = 0,1,2 A media é 6.2 2 alunos ficaram com a nota acima da media
  • 51. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema:Ler a nota de 5 alunos, calcular a media e mostrar essa média e mostrar também quantos alunos ficaram com a sua nota igual ou acima da média. (usando vetores) Algoritmo media_media_vetor; var notas:vetor [1..5] de real; calc_media, soma_notas de real; contador de inteiro; inicio contador  0; //notas[1]  5; //notas[2]  9; //notas[3]  7; //notas[4]  3; //notas[5]  6; mostrar “digite a 1. nota.: ”; ler(notas[1]); mostrar “digite a 2. nota.: ”; ler(notas[2]); mostrar “digite a 3. nota.: ”; ler(notas[3]); mostrar “digite a 4. nota.: ”; ler(notas[4]); mostrar “digite a 5. nota.: ”; ler(notas[5]); soma_notas  notas[1]+notas[2]+notas[3]+notas[4]+ notas[5]; calc_media  soma_notas / 5; se (notas[1] >= calc_media) entao contador  contador + 1; se (notas[2] >= calc_media) entao contador  contador + 1; se (notas[3] >= calc_media) entao contador  contador + 1; se (notas[4] >= calc_media) entao contador  contador + 1; se (notas[5] >= calc_media) entao contador  contador + 1; mostrar “a média é “+calc_media; mostrar contador + “ alunos ficaram com a nota acima da media”; mostrar “.......final do sistema ....”; Fim. Teste de Mesa Notas (no pascal) Posição 1 2 3 4 5 valor 5 9 7 3 6 Calc_media=30/5=6 Soma_notas=5+9+7+3+6 = 30 Contador=0,1,2,3 Notas (no C e no Java) Posição 0 1 2 3 4 valor 5 9 7 3 6
  • 52. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema:Ler a nota de 5 alunos, calcular a media e mostrar essa média e mostrar também quantos alunos ficaram com a sua nota igual ou acima da média. (usando vetores) Algoritmo media_media_vetor_correto; var notas:vetor [1..5] de real; calc_media, soma_notas de real; i, contador de inteiro; inicio soma_notas  0; contador  0; para i de 1 até 5 faça inicio_para mostrar “digite a “+i+”. nota.: ”; ler(notas[i]); soma_notas  soma_notas + notas[i]; fim_para calc_media  soma_notas / 5; para i de 1 até 5 faça inicio_para se (notas[i] >= calc_media) entao contador  contador + 1; fim_para mostrar “a média é “+calc_media; mostrar contador + “ alunos ficaram com a nota acima da media”; mostrar “.......final do sistema ....”; Fim. Teste de Mesa Notas (no pascal) Posição 1 2 3 4 5 valor 8 5 7 9 7 Calc_media=36/5=7.2 Soma_notas=0,8,13,20,29,36 Contador=0,1,2 I = 1,2,3,4,5,6,1,2,3,4,5,6 Notas (no C e no Java) Posição 0 1 2 3 4 valor A media é 7.2 2 alunos ficaram com a nota acima da media
  • 53. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Fazer um algoritmo que analize 10 valores inteiros informa qual o maior e qual o menor deles. Algoritmo maior_menor_vetor; Var maior_menor:vetor [1..10] de inteiro; I, maior, menor de inteiro; Inicio Maior  0; Menor  99999; Maior_menor[]  {2,3,7,8,5,9,1,0,6,4}; Para i de 1 até 10 passo 1 faça Inicio Se maior_menor[i] > maior entao maior  maior_menor[i]; se maior_menor[i] < menor entao menor  maior_menor[i]; fim Mostre “o maior valor .: “+maior; Mostre “o menor valor .: “+menor; Fim. Teste de Mesa Maior_menor P 1 2 3 4 5 6 7 8 9 10 V 2 3 7 8 5 9 1 0 6 4 Maior=0,2,3,7 Menor=99999,2 I=1,2,3,4 ...........
  • 54. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que leia um vetor de 5 elementos. Calcule e mostre a soma desses elementos, a media, quantos elementos são iguais ou maiores do que a média, o percentual dos elementos que são maiores ou iguais a media e mostrar quantos desses elementos são positivos e quantos são negativos. Algoritmo complexo_vetor ; Var vetor5 :vetor [1..5] de inteiro; Media, soma, perc_maior de real; I, iguais_maior, , qtd_pos, qtd_neg de inteiro; Inicio Media 0; Soma  0; iguais_maior  0; perc_maior  0; qtd_pos  0; qtd_neg 0; vetor5[ ]  {9,3,7,8,5}; Para i de 1 até 5 passo 1 faça Soma  soma + vetor5[i]; Media  soma / 5; Para i de 1 até 5 passo 1 faça inicio Se vetor5[i] > media entao iguais_maior = iguais_maior + 1; se vetor5[i] >= 0 entao qtd_pos  qtd_pos + 1; senao qtd_neg  qtd_neg + 1; fim perc_maior  (iguais_maior * 100) / 5; mostrar “ A soma foi .: “+soma; mostrar “a media foi .: “+media; mostrar perc_maior+”% são maiores ou iguais a média”; mostrar iguais_maior +”são iguais ou maiores do que a media”; mostrar qtd_pos +” são positivos”; mostrar qtd_neg + “são negativos”; Fim.
  • 55. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo lendo um vetor A de 3 elementos do tipo inteiro. Mostre esses elementos do vetor A. Reordene os elementos em ordem crescente, atualize o vetor A com os elementos na ordem crescente e mostre novamente o vetor A. Algoritmo vetor_crescente; Var A:vetor [1..3] de inteiro; i, j, aux de inteiro; Inicio A[ ]  {9,3,7}; Mostrar “O valor de A[1] =”+A[1]; Mostrar “O valor de A[2] =”+A[2]; Mostrar “O valor de A[3] =”+A[3]; Para j de 1 até 2 passo 1 faça Para i de 1 até 2 passo 1 faça Se A[i] > A[i+1] entao Inicio_se Aux  A[i]; A[i]  A[i+1]; A[i+1]  aux; Fim_se; Mostrar “O valor de A[1] =”+A[1]; Mostrar “O valor de A[2] =”+A[2]; Mostrar “O valor de A[3] =”+A[3]; Fim Teste de Mesa A = Vetor Posicao 1 2 3 valor 50 21 14 Posicao 1 2 3 valor 14 21 50 I=1,2,3,1,2,3 Aux=50,50,21 J=1,2,3
  • 56. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo lendo um vetor A de 15 elementos do tipo inteiro. Mostre esses elementos do vetor A. Reordene os elementos em ordem crescente, atualize o vetor A com os elementos na ordem crescente e mostre novamente o vetor A. Algoritmo vetor_crescente_15; Var A:vetor [1..15] de inteiro; i, j, aux de inteiro; Inicio A[ ]  {9,3,7,6,21,50,45,36,2,8,7,9,42,32,18}; Para i de 1 até 15 faça Mostrar “O valor Original de A[“+i+”] =”+A[i]; Para j de 1 até 14 passo 1 faça Para i de 1 até 14 passo 1 faça Se A[i] > A[i+1] entao Inicio_se Aux  A[i]; A[i]  A[i+1]; A[i+1]  aux; Fim_se; Para i de 1 até 15 faça Mostrar “O valor atualizado de A[“+i+”] =”+A[i]; Fim
  • 57. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo lendo um vetor A de 15 elementos do tipo inteiro. Mostre esses elementos do vetor A. Reordene os elementos em ordem decrescente, atualize o vetor A com os elementos na ordem decrescente e mostre novamente o vetor A. Algoritmo vetor_decrescente_15; Var A:vetor [1..15] de inteiro; i, j, aux de inteiro; Inicio A[ ]  {9,3,7,6,21,50,45,36,2,8,7,9,42,32,18}; Para i de 1 até 15 faça Mostrar “O valor Original de A[“+i+”] =”+A[i]; Para j de 1 até 14 passo 1 faça Para i de 1 até 14 passo 1 faça Se A[i] < A[i+1] entao Inicio_se Aux  A[i]; A[i]  A[i+1]; A[i+1]  aux; Fim_se; Para i de 1 até 15 faça Mostrar “O valor atualizado de A[“+i+”] =”+A[i]; Fim
  • 58. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo lendo dois vetores (A e B) de 5 elementos cada do tipo inteiro, liste os elementos destes dois vetores. Faça com que os elementos do vetor A passem para o vetor B, e os elementos do vetor B passem para o vetor A. Mostre os 2 vetores atualizados. Algoritmo vetores_troca_5; Var A,B, C:vetor [1..5] de inteiro; I de inteiro; Inicio A[ ]  {9,3,7,6,21}; B[ ]  {50,45,36,2,14}; Para i de 1 até 5 faça inicio Mostrar “O valor Original de A[“+i+”] =”+A[i]; Mostrar “O valor Original de B[“+i+”] =”+A[i]; Fim; Para i de 1 até 5 passo 1 faça Inicio_se C[i]  A[i]; A[i]  B[i]; B[i  C[i]; Fim_se; Para i de 1 até 5 faça inicio Mostrar “O valor Atualizado de A[“+i+”] =”+A[i]; Mostrar “O valor Atualizado de B[“+i+”] =”+A[i]; Fim; Fim
  • 59. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que gere uma matriz exerc_matriz 3x3, inserir dados nos elementos dessa matriz, por fim, mostre os dados contidos na matriz. Algoritmo matriz_3x3; Var exerc_matriz:matriz [1..3,1..3] de inteiro; l, c de inteiro; Inicio Para l de 1 até 3 faça Para c de 1 até 3 faça Inicio Mostrar “Digite valor para exerc_matriz[“+l+”,”+c+”].: ”; Ler(exerc_matriz[l,c]); Fim; Para l de 1 até 3 faça Para c de 1 até 3 faça Mostrar “O valor de exerc_matriz[“+l+”,”+c+”].: ”+exerc_matriz[l,c]; Fim Teste de Mesa Exerc_matriz C1 C2 C3 L1 6 9 7 L2 6 6 7 L3 5 3 7 L=1,2 C=1,2,3,4,1
  • 60. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie um algoritmo que gere uma matriz exerc_matriz 3x3, inserir dados nos elementos dessa matriz, por fim, mostre os dados contidos na matriz e mostre qual é o maior e qual é o menor valor da matriz. Algoritmo matriz_maior_menor; Var exerc_matriz:matriz [1..3,1..3] de inteiro; l, c, maior, menor de inteiro; Inicio Maior  0; menor  99999; Para l de 1 até 3 faça Para c de 1 até 3 faça Inicio Mostrar “Digite valor para exerc_matriz[“+l+”,”+c+”].: ”; Ler(exerc_matriz[l,c]); Fim; Para l de 1 até 3 faça Para c de 1 até 3 faça Inicio_para Mostrar “O valor de exerc_matriz[“+l+”,”+c+”].: ”+exerc_matriz[l,c]; Se exerc_matriz[l,c] > maior entao maior  exerc_matriz[l,c]; Se exerc_matriz[l,c] < menor entao menor  exerc_matriz[l,c]; Fim_para Mostrar “O maior valor da matriz .: “+maior; Mostrar “O menor valor da matriz .: “+menor; Fim
  • 61. Prof Neri A. Neitzke -- www.informaticon.com.br Problema: Crie uma matriz 4x4 chamada Mat4 e leia os valores para todos os elementos da matriz e : 1) mostre essa matriz; 2) Calcule a soma dos elementos e mostre a soma; 3) calcule e mostre a média dos elementos da matriz; 4) mostre os elementos da diagonal principal; 5) que mostre os elementos da diagonal secundária; 6) mostre os elementos da linha 3; 7) mostre os elementos da Coluna 2; 8) calcule e mostre quantos elementos são números maiores que a média (e mostre esses elementos); 9) mostre em que posição se encontra o maior e o menor elemento da matriz; 10) crie uma segunda matriz MatNeri de 4x4 e armazene o conteúdo de cada elemento da matriz multiplicado por 2, mostre os elementos dessa nova matriz; 11) Que mostre os elementos pares e Impares da matriz, e dizer também quantos são pares e quantos são impares; 12) Crie um vetor chamado Vetor_neri que contenha os elementos da 2º linha e mostre este vetor Algoritmo matriz_12questoes;
  • 62. Var Mat4:matriz [1..4,1..4] de inteiro; MatNeri:matriz [1..4,1..4] de inteiro; Vetor_neri:vetor[1..4] de inteiro; l, c, maior, menor,soma, media, com_media, conta_pares, conta_impares de inteiro; elem_vert,elem_sec, elem_l3, elem_c2, mostra_com_media, pos_maior, pos_menor, mostra_pares, mostra_impares, vetNeri de caracter; Inicio Maior  0; menor  99999; soma  0; com_media  0; conta_pares  0; conta_impares  0; elem_vert  “”; elem_sec  “”; elem_l3 ””; elem_c2 ””; mostra_com_media  “”; pos_maior  “”;pos_menor  “”; mostra_pares  “”; mostra_impares  “”; vetNeri  “”; Para l de 1 até 4 faça Para c de 1 até 4 faça Inicio Mostrar “Digite valor para Mat4[“+l+”,”+c+”].: ”; Ler(mat4[l,c]); Soma  soma + mat4[l,c]; Fim; Media  soma / 16; Para l de 1 até 4 faça Para c de 1 até 4 faça Inicio_para Mostrar “O valor de mat4[“+l+”,”+c+”].: ”+mat4[l,c]; Se l = c entao Elem_vert  elem_vert + mat4[l,c]; Se c = (5-l) entao Elem_sec  elem_sec + mat4[l,c]; Se l = 3 entao Elem_l3  elem_l3 + mat4[l,c]; Se c = 2 entao Elem_c2  elem_c2 + mat4[l,c]; Se mat4[l,c] >= media entao inicio com_media  com_media + 1; mostra_com_media  mostra_com_media + mat4[l,c]; fim; Se mat4[l,c] > maior entao Pos_maior  “mat4[“+l+”,”+c+”]”; Se mat4[l,c] < menor entao Pos_menor  “mat4[“+l+”,”+c+”]”; MatNeri[l,c]  Mat4[l,c] * 2; Se mat4[l,c] mod 2 = 0 então Inicio Conta_pares  conta_pares + 1; Mostra_pares  mostra_pares + mat4[l,c]; Fim Senao Inicio Conta_impares  conta_impares + 1;
  • 63. Mostra_impares  mostra_impares + mat4[l,c]; Fim Se l = 2 então inicio Vetor_neri[c]  mat4[l,c]; VetNeri  vetNeri + mat4[l,c]; Fim; Fim_para Mostrar “A soma dos elementos da matriz .: “+soma; Mostrar “A media dos valores da matriz .: “+media; Mostrar “Elementos da diagonal principal .: “+Elem_vert; Mostrar “Elementos da diagonal secundaria .: “+Elem_sec; Mostrar “Elementos da linha 3 .: “+Elem_l3; Mostrar “Elementos da Coluna 2 .: “+Elem_c2; Mostrar com_media “ elementos atingiram a media, eles são.: “+mostra_com_media; Mostrar “o maior valor está em “+pos_maior+” e o menor valor está em “+pos_menor; Para l de 1 até 4 faça Para c de 1 até 4 faça inicio Mostrar “O valor de matNeri[“+l+”,”+c+”].: ”+matNeri[l,c]; Fim; Mostrar conta_pares+” são pares, são eles .: “+mostra_pares; Mostrar conta_impares+” são impares, são eles .: “+mostra_impares; Mostrar “O Vetor_neri possui os elementos.: “+vetNeri; End.
  • 64. Prof Neri A. Neitzke -- www.informaticon.com.br Crie um algoritmo que leia para um cadastro de cliente, o seu nome, sua idade e o seu salário. E por fim, mostre os valores. Algoritmo cadastro_cliente; Tipo cadastro = registro Nome de caracter; Idade de inteiro; Salario de real; Fim; Var dados_cliente, dados_funcionario de cadastro; Inicio Mostre “Digite o nome do cliente”; Ler(dados_cliente.nome); Mostre “Digite a idade do cliente”; Ler(dados_cliente.idade); Mostre “Digite o salário do cliente”; Ler(dados_cliente.salario); Mostre “O nome do cliente .: “+dados_cliente.nome; Mostre “A idade do cliente .: “+dados_cliente.idade; Mostre “O salario do cliente .: “+dados_cliente.salario; Mostre “Digite o nome do funcionario”; Ler(dados_funcionario.nome); Mostre “Digite a idade do Funcionario”; Ler(dados_funcioanrio.idade); Mostre “Digite o salário do Funcionario”; Ler(dados_funcionario.salario); Mostre “O nome do funcionario .: “+dados_funcionario.nome; Mostre “A idade do funcionario .: “+dados_funcionario.idade; Mostre “O salario do funcionario .: “+dados_funcionario.salario; Fim.
  • 65. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: subalgoritmos - modularização Ler 2 números, efetuar as 4 operações matemáticas e mostrar os resultados. Algoritmo operações_subalgoritmos; var num1, num2, soma, multiplicacao, divisao, subtracao de real; procedimento leitura inicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2); Fim Procedimento calculos Inicio soma  num1 + num2; multiplicacao  num1 * num2; divisao  num / num2; subtracao  num1 – num2; fim procedimento imprimir inicio mostrar “A multiplicacao = “+multiplicacao; mostrar “A divisao = “+divisao; mostrar “A Subtracao = “+subtracao; mostrar “A soma =”+soma; fim; Inicio Leitura; Calculos; Imprimir; Fim.
  • 66. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: subalgoritmos – modularização – procedimentos c/ parâmetros Ler 2 números, efetuar as 4 operações matemáticas e mostrar os resultados. Algoritmo operações_subalgoritmos_parametros; var num1, num2, soma, multiplicacao, divisao, subtracao de real; procedimento leitura inicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2); Fim procedimento calculos(pn1, pn2 de real) Inicio soma  pn1 + pn22; multiplicacao  pn2 * pn22; divisao  pn1 / pn2; subtracao  pn1 – pn2; fim procedimento imprimir(mult, div, sub, som) inicio mostrar “A multiplicacao = “+mult; mostrar “A divisao = “+div; mostrar “A Subtracao = “+sub; mostrar “A soma =”+som; fim; Inicio Leitura; Calculos(num1, num2); Imprimir(multiplicacao,divisao, subtracao, soma); Fim.
  • 67. Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.br Problema: subalgoritmos – modularização – FUNÇÕES Ler 2 números, efetuar as 4 operações matemáticas e mostrar os resultados. Algoritmo subalgoritmos_funcoes; var num1, num2, soma, multiplicacao, divisao, subtracao de real; procedimento leitura inicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2); Fim função somar(pn1, pn2 de real) de real; Inicio soma  pn1 + pn22; retorna soma; fim função multiplicar(pn1, pn2 de real) de real; Inicio multiplicacao  pn1 * pn22; retorna multiplicacao; fim função dividir(pn1, pn2 de real) de real; Inicio divisao  pn1 / pn22; retorna divisao; fim função subtrair(pn1, pn2 de real) de real; Inicio subtracao  pn1 - pn22; retorna subtracao; fim Inicio Leitura; Mostre “A soma .: “+ somar(num1, num2); Mostre “A multiplicacao .: “+ multiplicar(num1, num2); Mostre “A subtração .: “+ subtrair(num1, num2); Mostre “A divisão .: “+ dividir(num1, num2); Fim.