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

86
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

Upload: aldoirjava

Post on 29-Jul-2015

217 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Videoulas de algoritmos e lógica de programação

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_nomeInicio 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 MesaO nome da pessoa é NeriO nome da pessoa é LisiO nome da pessoa é Giulia

Page 2: Videoulas de algoritmos e lógica de programação

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 = 5nota2 = 7media = (5 + 7) / 2 = 6A Média é 6

Page 3: Videoulas de algoritmos e lógica de programação

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

Page 4: Videoulas de algoritmos e lógica de programação

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édiaAlgoritmo 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.

Page 5: Videoulas de algoritmos e lógica de programação

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.

Page 6: Videoulas de algoritmos e lógica de programação

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.

Page 7: Videoulas de algoritmos e lógica de programação

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=10B=5Auxiliar=5

B = 5A = 10

Page 8: Videoulas de algoritmos e lógica de programação

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 Mesacusto_fabrica = 20000perc_revendedor = (25 * 20000) / 100 = 5000impostos = (45 * 20000) / 100 = 9000preco_final = 20000 + 5000 + 9000 = 34000

Page 9: Videoulas de algoritmos e lógica de programação

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 = realInicio 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 MesaProva1 = 6 --------- 6 * 2 / 10 = 1,2Prova2 = 8 --------- 8 * 3 /10 = 2,4Prova3 = 4 ---------- 4 * 5 / 10 = 2,0Media = (1.2 + 2.4 + 2) / 3 = 5.6A media final = 5.6

Page 10: Videoulas de algoritmos e lógica de programação

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 = realInicio 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 MesaSaldo = 500 ---500-200=300Cheque_entrou=200O saldo atual = 300

Page 11: Videoulas de algoritmos e lógica de programação

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 = realInicio 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 MesaFixo = 800Comissao = (500 * 15) /100 = 75vendas_mes = 500salario_total = 800 + 75 = 875

Page 12: Videoulas de algoritmos e lógica de programação

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 = realInicio 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 MesaFixo = 500Bonus = 3 * 50 = 150qtd_softw_vend = 3salario_total = 500 + 150 = 650

O salário fixo = 500O valor de bonus = 150O salário total = 650

Page 13: Videoulas de algoritmos e lógica de programação

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 = 1820Salario_bruto = 2000Inss = (2000 * 9) /100 = 180Nome = NeriO salario bruto = 2000O desconto de inss = 180O salario liquido = 1820

Page 14: Videoulas de algoritmos e lógica de programação

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 Mesatotal_prest = 20qtd_prest_pagas = 5valor_prest = 200total_pago= 5 * 200 = 1000saldo_devedor=200*(20-5)=3000O total pago = 1000O saldo devedor = 3000

Page 15: Videoulas de algoritmos e lógica de programação

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 MesaPrestacao=200+(200*(2/100)*10=240valor_prest = 200taxa=2Dias_atraso=10O valor corrigido da prestacao = 240

Page 16: Videoulas de algoritmos e lógica de programação

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 +” – “+BFim.

Teste de Mesa

A = 2B =7

Em ordem crescente 2 - 7

Page 17: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 18: Videoulas de algoritmos e lógica de programação

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 = realInicio 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 MesaProva1 = 6 --------- 6 * 2 / 10 = 1,2Prova2 = 8 --------- 8 * 3 /10 = 2,4Prova3 = 4 ---------- 4 * 5 / 10 = 2,0Media = (1.2 + 2.4 + 2) / 3 = 5.6Recuperacao com media 5.6

Page 19: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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

Page 20: Videoulas de algoritmos e lógica de programação

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 MesaValor_compra = 300Valor_desconto = (300 * 15) / 100 = 45Valor_pagar = 300 – 45 = 255Desconto = 15

Nome = Neri NeitzkeNome do Cliente .: Neri NeitzkeValor da Compra .: 300O percentual desc .: 15Valor do desconto .: 45Valor a pagar .: 255

Page 21: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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

Page 22: Videoulas de algoritmos e lógica de programação

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 MesaValor_compra = 300Valor_desconto = (300 * 15) / 100 = 45Valor_pagar = 300 – 45 = 255

Nome = Neri NeitzkeNome do Cliente .: Neri NeitzkeValor da Compra .: 300Valor do desconto .: 45Valor a pagar .: 255

Page 23: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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;

Page 24: Videoulas de algoritmos e lógica de programação

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 = realInicio 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_seFim.

Teste de Mesa

valor_saldo = cheque_entrou =

Page 25: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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;

Page 26: Videoulas de algoritmos e lógica de programação

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 = 10N2 = 10N3 = 20

O MAIOR É O 20O MENOR É O 10

Page 27: Videoulas de algoritmos e lógica de programação

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_seFim

Teste de Mesa

N1 = 15N2 = 10N3 = 20

O MAIOR É O 20O MENOR É O 10

Page 28: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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;

Page 29: Videoulas de algoritmos e lógica de programação

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 = 20Ld = 15Li = 15

Triangulo isosceles

15

15

20

Page 30: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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

Page 31: Videoulas de algoritmos e lógica de programação

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=9B=6C=7

Ordem 6 7 9

Page 32: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brFluxograma 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 <= BEm ordem crescente ficou.: “+C+”-“+A+”-”+B

Em ordem crescente ficou.: “+C+”-“+B+”-”+A

F

V

F

Page 33: Videoulas de algoritmos e lógica de programação

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

Page 34: Videoulas de algoritmos e lógica de programação

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

Page 35: Videoulas de algoritmos e lógica de programação

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

Page 36: Videoulas de algoritmos e lógica de programação

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 Mesa6 x 1 = 66 x 2 = 126 x 3 = 186 x 4 = 246 x 5 = 30.....

Page 37: Videoulas de algoritmos e lógica de programação

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çoPara i 1 até 9 façaPara i = 1 até 9 façaPara i = 1 até 9 passo 1 faça

Teste de MesaNumero = 4I = 1,2,3,4,5,6,7,8,9,10

4 x 1 = 44 x 2 = 84 x 3 = 12....4 x 9 = 36

Page 38: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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_enquantoFim

Teste de MesaNumero = 7I = 1

7 x 1 = 77 x 1 = 77 x 1 = 77 x 1 = 77 x 1 = 77 x 1 = 7

Page 39: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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 MesaNumero = 9I = 15

9 x 15 = 135

Page 40: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 41: Videoulas de algoritmos e lógica de programação

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,6Calc_media = 9Soma_notas=90I=10

Page 42: Videoulas de algoritmos e lógica de programação

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,6Calc_media = 9Soma_notas=90I=10

Page 43: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: Mostre os 10 primeiros números pares.

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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_enquantoFim

Teste de Mesa

Numero=1,2,3Conta_pares=1

O numero 2 .: par

Page 44: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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 MesaNumeros_pares=0,1,2Numeros_impares=0,1,2,3Numero_inicial=23Numero_final=27I = 23,24,25,26,27,28

Entre o numero 23 e o numero 27 existem 2 pares e 3 impares

Page 45: Videoulas de algoritmos e lógica de programação

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 MesaNumeros_pares=0,1,2Numeros_impares=0,1,2,3Numero_inicial=23Numero_final=27I = 23,24,25,26,27,28

Entre o numero 23 e o numero 27 existem 2 pares e 3 impares

Page 46: Videoulas de algoritmos e lógica de programação

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.brProblema: 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 MesaContador = 0I = 2,Numero = 5

O numero 5 é primo

Page 47: Videoulas de algoritmos e lógica de programação

Algoritmo primo_logico;Var numero,i de inteiro; Num_primo de logico; // verdadeiro ou falso -> booleanInicio 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

Page 48: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 49: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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,5Num_atual=1,1,2,3,5,8Novo_numero=1,2,3,5,8I=2,3,4,5,6

O 1. numero fibonacci é 1O 2. numero fibonacci é 1O 3. numero fibonacci é 2O 4. numero fibonacci é 3O 5. numero fibonacci é 5O 6. numero fibonacci é 8................

Page 50: Videoulas de algoritmos e lógica de programação

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 Mesanota1=6nota2=4nota3 =9nota4 =5nota5 =7soma_notas=31calc_media= 31/5=6.2contador = 0,1,2

A media é 6.22 alunos ficaram com a nota acima da media

Page 51: Videoulas de algoritmos e lógica de programação

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 5valor 5 9 7 3 6

Calc_media=30/5=6Soma_notas=5+9+7+3+6 = 30Contador=0,1,2,3

Notas (no C e no Java)

Posição 0 1 2 3 4valor 5 9 7 3 6

Page 52: Videoulas de algoritmos e lógica de programação

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 5valor 8 5 7 9 7Calc_media=36/5=7.2Soma_notas=0,8,13,20,29,36Contador=0,1,2I = 1,2,3,4,5,6,1,2,3,4,5,6Notas (no C e no Java)

Posição 0 1 2 3 4valorA media é 7.22 alunos ficaram com a nota acima da media

Page 53: Videoulas de algoritmos e lógica de programação

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 MesaMaior_menor

P 1 2 3 4 5 6 7 8 9 10V 2 3 7 8 5 9 1 0 6 4

Maior=0,2,3,7Menor=99999,2I=1,2,3,4 ...........

Page 54: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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.

Page 55: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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 MesaA = Vetor

Posicao 1 2 3valor 50 21 14

Posicao 1 2 3valor 14 21 50

I=1,2,3,1,2,3Aux=50,50,21J=1,2,3

Page 56: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 57: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 58: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 59: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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 MesaExerc_matriz

C1 C2 C3L1 6 9 7L2 6 6 7L3 5 3 7L=1,2C=1,2,3,4,1

Page 60: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 61: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brProblema: 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

Page 62: Videoulas de algoritmos e lógica de programação

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];

Page 63: Videoulas de algoritmos e lógica de programação

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.

Page 64: Videoulas de algoritmos e lógica de programação

Prof Neri A. Neitzke -- www.informaticon.com.brCrie 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.

Page 65: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brProblema: subalgoritmos - modularizaçãoLer 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 leiturainicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2);FimProcedimento calculosInicio soma num1 + num2; multiplicacao num1 * num2; divisao num / num2; subtracao num1 – num2;fimprocedimento imprimirinicio mostrar “A multiplicacao = “+multiplicacao; mostrar “A divisao = “+divisao; mostrar “A Subtracao = “+subtracao; mostrar “A soma =”+soma; fim;Inicio Leitura; Calculos; Imprimir; Fim.

Page 66: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brProblema: subalgoritmos – modularização – procedimentos c/ parâmetrosLer 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 leiturainicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2);Fimprocedimento calculos(pn1, pn2 de real)Inicio soma pn1 + pn22; multiplicacao pn2 * pn22; divisao pn1 / pn2; subtracao pn1 – pn2;fimprocedimento 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.

Page 67: Videoulas de algoritmos e lógica de programação

Vídeo Aulas de Algoritmos e Lógica de programação Prof Neri A. Neitzke -- www.informaticon.com.brProblema: subalgoritmos – modularização – FUNÇÕESLer 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 leiturainicio Mostrar “Digite o numero 1.:”; Ler(num1) Mostrar “Digite o numero 2.:”; Ler(num2);Fimfunção somar(pn1, pn2 de real) de real;Inicio soma pn1 + pn22; retorna soma;fimfunção multiplicar(pn1, pn2 de real) de real;Inicio multiplicacao pn1 * pn22; retorna multiplicacao;fimfunção dividir(pn1, pn2 de real) de real;Inicio divisao pn1 / pn22; retorna divisao;fimfunção subtrair(pn1, pn2 de real) de real;Inicio subtracao pn1 - pn22; retorna subtracao;fimInicio 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.

Page 68: Videoulas de algoritmos e lógica de programação