Vídeo Aulas de Algoritmos e Lógica de programação.pdf

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

Transcript of Vídeo Aulas de Algoritmos e Lógica de programação.pdf

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - 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 so:Neri, Lisi e Giulia;

    Fim.

    Teste de Mesa O nome da pessoa Neri

    O nome da pessoa Lisi

    O nome da pessoa Giulia

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:

    Calcular a media de 2 notas e mostrar essa mdia

    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 mdia +calc_media;

    Fim.

    Teste de Mesa:

    nota1 = 5

    nota2 = 7

    media = (5 + 7) / 2 = 6

    A Mdia 6

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    INICIO

    Nota1, Nota2

    Media

    (nota1+nota2)/2

    Media

    Fim

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:

    Ler duas notas, calcular a media e mostrar essa mdia

    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 mdia +calc_media;

    Mostrar .......Final do Sistema ....;

    Fim.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Tipos de Dados. Problema:

    Ler o nome de uma pessoa, a sua idade e o seu salrio, e mostrar essas informaes;

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

    Ler(salrio);

    mostrar O nome +nome;

    mostrar A idade +idade

    mostrar O salrio +salrio;

    Fim.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: (Operadores Matemticos)

    Ler 2 nmeros, efetuar as 4 operaes matemticas e

    mostrar os resultados. Algoritmo operaes;

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

    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.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Duas variveis (A e B) possuem valores distintos (A:=5 e B:= 10), Crie um algoritmo que armazene esses dois valores nessas duas variveis, e efetue a troca dos valores de

    forma que a varivel A passe a possuir o valor da varivel B e que a varivel B passe a possuir

    o valor da varivel A. Por fim, apresentar os valores trocado;

    Algoritmo operaes;

    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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: O custo ao consumidor de um carro novo, a soma do custo de fbrica com a percentagem do revendedor e com o custo dos impostos (aplicados ao custo de fbrica). Supondo que a percentagem do revendedor seja de 25% do custo de fbrica e que os impostos custam 45 % do custo de fbrica, faa um algoritmo que leia o valor de custo de fbrica e determine o preo final do automvel (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 automvel.: ;

    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 Fbrica ..........: +custo_fabrica;

    mostrar Percentual revendedor .: +perc_revendedor;

    mostrar impostos .........................: +impostos;

    mostrar O preo 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: O sistema de avaliao de determinada disciplina, composto por trs provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem

    peso 5. Faa um algoritmo para calcular a mdia final de um aluno desta disciplina.

    Algoritmo avaliacao;

    Var prova1, prova2, prova3, media de numrico; //numrico = 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - 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 numrico; //numrico = 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Problema.:Uma Empresa de vendas de softwares paga a seu vendedor um fixo de R$

    800,00 por ms, mais uma comisso de 15% pelo seu valor de vendas no ms. Faa

    uma algoritmo que leia o valor da venda e determine o salrio total do funcionrio. Mostre as informaes que voc achar necessrio.

    Algoritmo vendas;

    Var fixo, comissao, vendas_mes, salario_total de numrico; //numrico = real

    Inicio

    Fixo 800;

    Mostrar Digite o valor da venda no ms;

    Ler(vendas_mes);

    Comisso (vendas_mes * 15) / 100;

    Salrio_total fixo + comissao;

    Mostrar O salrio fixo = +fixo;

    Mostrar o valor de comissao = +comissao;

    Mostrar o salrio total = +salario_total;

    Fim.

    Teste de Mesa Fixo = 800

    Comissao = (500 * 15) /100 = 75

    vendas_mes = 500

    salario_total = 800 + 75 = 875

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Problema.: Uma Empresa de desenvolvimento de softwares paga a seu vendedor um fixo de R$ 500,00 por ms, mais um bnus de R$ 50,00 por sistema vendido. Faa

    uma algoritmo que leia quantos softwares o funcionrio vendeu e determine o salrio

    total do funcionrio. Mostre as informaes que voc achar necessrio.

    Algoritmo vendas2;

    Var fixo, bonus, qtd_softw_vend, salario_total de numrico; //numrico = real

    Inicio

    Fixo 500;

    Mostrar Digite quantidade software vendido;

    Ler(qtd_softw_vend);

    bonus qtd_softw_vend * 50;

    Salrio_total fixo + bonus;

    Mostrar O salrio fixo = +fixo;

    Mostrar o valor de bonus = +bonus;

    Mostrar o salrio total = +salario_total;

    Fim.

    Teste de Mesa Fixo = 500

    Bonus = 3 * 50 = 150

    qtd_softw_vend = 3

    salario_total = 500 + 150 = 650

    O salrio fixo = 500

    O valor de bonus = 150

    O salrio total = 650

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Crie um algoritmo para calcular o salrio lquido de um funcionrio, considerando que seu

    salrio bruto, incide um desconto de 9% em inss para a previdncia. O algoritmo deve mostrar o nome do funcionrio, o seu salrio bruto, o valor de desconto de inss e o seu

    salrio lquido.(dica.: Voc dever pedir (ler) o nome do funcionrio e o valor do salrio

    bruto)

    Algoritmo salario;

    Var salario_liquido, salario_bruto, inss de numrico; //(Real)

    Nome de Caracter;

    Inicio

    Mostrar Digite o nome do funcionrio;

    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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Problema: Considerando que para um consrcio, sabe-se o nmero total de prestaes, a

    quantidade de prestaes pagas e o valor atual da prestao, 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Problema: Analisando a frmula " Prestao = valor + (valor * (taxa/100) * tempo)", crie um algoritmo para efetuar o clculo do valor de uma prestao em atraso. (Voc dever ler o VALOR

    da prestao, a TAXA de juros imposta pelo banco, e o nmero 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie 2 variveis (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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie 2 variveis (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

    V F

    Em ordem

    crescente + A

    + +B

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: O sistema de avaliao de determinada disciplina, composto por trs provas. A primeira prova tem peso 2, a Segunda tem peso 3 e a terceira prova tem

    peso 5. Faa um algoritmo para calcular a mdia 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 RECUPERAO, e se for menor do que 4 mostre REPROVADO.

    Algoritmo avaliacao;

    Var prova1, prova2, prova3, media de numrico; //numrico = 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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    Prova1,

    prova2, prova3

    Fim

    Aprovado com

    media +media;

    Media >=6

    V F

    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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - 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

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    Nome,

    valor_compra

    Fim

    Valor_compra

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - 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

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    Nome,

    valor_compra

    Fim

    Valor_compra

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Fazer um algoritmo que leia o saldo inicial de cliente do banco e leia tambm um cheque que entrou e ANALISE se o cheque poder ser descontado ou no ,

    j que este cliente no possui limite. Se o cheque no poder ser descontado, mostre

    essa informao, caso contrrio, desconte o cheque e informe o saldo na tela.

    Algoritmo saldo_se;

    Var valor_saldo, cheque_entrou de numrico; //numrico = 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

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    valor_saldo,

    cheque_entrou

    Fim

    cheque_entrou

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Fazer um algoritmo que analize 3 valores inteiros (atravs das variveis 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

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Fazer um algoritmo que analize 3 valores inteiros (atravs das variveis 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 = n1) e (n2 >= n3) entao

    inicio

    Mostre o maior o .: +n2;

    Se (n1

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    n1, n2, n3

    Fim

    (n1 >= n2) e

    (n1 >= n3) F V

    o maior o .: +n1;

    n2 = n1)

    e (n2 >= n3 o maior o .: +n2;

    V

    F

    V

    n1

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie um algoritmo que leia trs valores le,ld,li e verifique se eles podem ser os comprimentos dos lados de um tringulo, e se forem, verificar se um tringulo equiltero, issceles ou

    escaleno. Se eles no formarem um tringulo, escrever a mensagem "No um tringulo".

    Antes da elaborao do algoritmo, torna-se necessria a reviso de algumas propriedades e definies.

    Propriedade - O comprimento de cada lado de um tringulo menor do que a soma dos comprimentos dos

    outros dois lados, fora desta condio as medidas no so consideradas de um tringulo.

    Definio 1 - Chama-se tringulo equiltero os que tem os comprimentos dos trs lados iguais,

    Definio 2 - Chama-se tringulo issceles ao tringulo que tem os comprimentos de dois lados guais.

    Definio 3 - Chama-se tringulo escaleno ao tringulo que tem os comprimentos dos trs 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 no um triangulo;

    Fim

    Teste de Mesa

    Le = 20

    Ld = 15

    Li = 15

    Triangulo isosceles

    15

    15

    20

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    le, ld, li

    Fim

    ((li < (le + ld) e (le < (ld + li)

    e (ld < (li + le))

    F V

    no um triangulo;

    (le = ld) e

    (le = li)

    triangulo equiltero

    V

    triangulo

    isosceles;

    F

    ((li = ld) ou (li = le) ou

    (le = ld))

    V

    tringulo escaleno

    F

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler 3 valores INTEIROS para as variveis 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

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Fluxograma do exercco anterior.

    INICIO

    A, b, c

    Fim

    (A

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler para uma varivel INTEIRA um nmero de 1

    a 12 e mostrar o nome do ms correspondente. Caso o ms

    no existir, mostrar essa informao.

    Algoritmo mes_se;

    Var mes de inteiro;

    Inicio

    Mostrar digite o ms de 1 a 11 ;

    Ler(ms);

    Se (mes = 1) ento Mostrar Janeiro;

    Senao Se (mes = 2) ento Mostrar Fevereiro;

    Senao Se (mes = 3) ento Mostrar Marco;

    Senao Se (mes = 4) ento Mostrar Abril;

    Senao Se (mes = 5) ento Mostrar Maio;

    Senao Se (mes = 6) ento Mostrar Junho;

    Senao Se (mes = 7) ento Mostrar Julho;

    Senao Se (mes = 8) ento Mostrar Agosto;

    Senao Se (mes = 9) ento Mostrar Setembro;

    Senao Se (mes = 10) ento Mostrar Outubro;

    Senao Se (mes = 11) ento Mostrar Novembro;

    Senao Se (mes = 12) ento Mostrar Dezembro;

    Senao Esse ms no existe;

    Fim

    Teste de Mesa

    Ms = 2

    Fevereiro

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler para uma varivel INTEIRA um nmero de 1

    a 12 e mostrar o nome do ms correspondente. Caso o ms

    no existir, mostrar essa informao.

    Algoritmo mes_case;

    Var mes de inteiro;

    Inicio

    Mostrar digite o ms de 1 a 11 ;

    Ler(ms);

    Caso ms 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 ms no existe;

    Fim_caso

    Fim

    Teste de Mesa

    Ms = 2

    Fevereiro

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler uma varivel 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 no par;

    Fim

    Teste de Mesa

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler uma varivel de numero inteiro e mostrar a

    tabuada desse nmero.

    Algoritmo tabuada;

    Var numero de inteiro;

    Inicio

    Mostre digite um nmero 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

    .....

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler uma varivel de numero inteiro e mostrar a

    tabuada desse nmero. Usando o lao de repetio Para

    Algoritmo tabuada_para;

    Var numero, i de inteiro;

    Inicio

    Mostre digite um nmero para a tabuada;

    Ler(numero);

    Para i de 1 at 9 passo 1 faa

    Mostre numero + x + i + = +(numero * i);

    Fim

    //outras maneiras de fazer esse lao

    Para i 1 at 9 faa

    Para i = 1 at 9 faa

    Para i = 1 at 9 passo 1 faa

    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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler uma varivel de numero inteiro e mostrar a

    tabuada desse nmero. Usando o lao de repetio enquanto

    Algoritmo tabuada_enquanto;

    Var numero, i de inteiro;

    Inicio

    Mostre digite um nmero para a tabuada;

    Ler(numero);

    I 1;

    Enquanto(i

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler uma varivel de numero inteiro e mostrar a

    tabuada desse nmero. Usando o lao de repetio repita

    Algoritmo tabuada_repita;

    Var numero, i de inteiro;

    Inicio

    Mostre digite um nmero 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

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Faa um algoritmo que gere a seguinte srie: 10,

    20, 30, 40, ..... 980, 990, 1000.

    Algoritmo serie_para;

    Var i de inteiro;

    Inicio

    Para i de 10 at 1000 passo 10 faa

    Mostrar i;

    Fim

    Teste de Mesa

    I=10, 20

    10, 20, 30, 40

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:Ler a nota de 10 alunos, calcular a media e

    mostrar essa mdia.

    Algoritmo media_para;

    var nota, calc_media, soma_notas de Real;

    i de inteiro;

    Inicio Soma_notas 0; Para i de 1 at 10 faa

    inicio

    Mostrar Digite a +i+ de 10 notas;

    Ler(nota);

    Soma_notas soma_notas + nota;

    Fim_para

    calc_media soma_notas / 10;

    Mostrar A mdia +calc_media;

    Mostrar .......Final do Sistema ....;

    Fim.

    Teste de Mesa

    Nota=7,8,6

    Calc_media = 9

    Soma_notas=90

    I=10

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:Ler a nota de 10 alunos, calcular a media e

    mostrar essa mdia. 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 faa

    inicio

    Mostrar Digite a +i+ de 10 notas;

    Ler(nota);

    Se ((nota >=0) e (nota

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Mostre os 10 primeiros nmeros pares.

    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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler dois nmeros (inicial e final). Escreva quantos

    nmero pares e quantos numeros impares encontran-se entre

    os dois nmeros fornecidos pelo usurio.

    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 nmero inicial.: ;

    Ler(numero_inicial);

    I numero_inicial;

    Mostre Digite o nmero final.: ;

    Ler(numero_final);

    Enquanto(i

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Ler dois nmeros (inicial e final, o numero final

    no pode ser menor do que o numero inicial). Escreva

    quantos nmero pares e quantos numeros impares encontran-

    se entre os dois nmeros fornecidos pelo usurio.

    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 nmero inicial.: ;

    Ler(numero_inicial);

    I numero_inicial;

    Repita

    Inicio_repita

    Mostre Digite o nmero final maior que o inicial.: ;

    Ler(numero_final);

    Se (numero_final < numero_inicial) entao

    Mostrar Nmero final invlido, deve ser maior do que o inicial)

    Final_repita

    At que(numero_final >= numero_inicial);

    Enquanto(i

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie um algoritmo que leia um numero inteiro, e

    diga se ele um numero primo ou no.

    Algoritmo primo;

    Var numero,contador,i de inteiro;

    Inicio

    Contador 0;

    I 2;

    Mostrar Digite um nmero .: ;

    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+ no primo;

    Senao

    Mostrar O numero +numero+ primo;

    Fim

    Teste de Mesa

    Contador = 0

    I = 2,

    Numero = 5

    O numero 5 primo

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie um algoritmo que leia um numero inteiro, e

    diga se ele um numero primo ou no.

    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 nmero .: ;

    Ler(numero);

    Enquanto((i < (numero/2) e (num_primo = verdadeiro)) faa

    Inicio_enquanto

    Se (numero mod i = 0)

    Num_primo falso;

    I I + 1;

    Fim_enquanto

    Se Num_primo = falso entao

    Mostrar O numero +numero+ no primo;

    Senao

    Mostrar O numero +numero+ primo;

    Fim

    Teste de Mesa

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: Crie um algoritmo que mostre os 10 primeiros

    nmeros primos.

    Algoritmo primo_10;

    Var contador, numero,i de inteiro;

    num_primo de logico;

    begin

    numero 1;

    contador 0;

    enquanto (contador < 10) faa

    inicio

    num_primo verdadeiro;

    numero numero + 1;

    I 2;

    enquanto((i

  • Prof Neri A. Neitzke Ulbra - 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 .....

    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 faa

    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

    ................

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:Ler a nota de 5 alunos, calcular a media e mostrar

    essa mdia e mostrar tambm quantos alunos ficaram com a

    sua nota igual ou acima da mdia. 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 mdia +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

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:Ler a nota de 5 alunos, calcular a media e mostrar

    essa mdia e mostrar tambm quantos alunos ficaram com a

    sua nota igual ou acima da mdia. (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 mdia +calc_media;

    mostrar contador + alunos ficaram com a nota acima da media;

    mostrar .......final do sistema ....;

    Fim.

    Teste de Mesa

    Notas (no pascal)

    Posio 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)

    Posio 0 1 2 3 4

    valor 5 9 7 3 6

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema:Ler a nota de 5 alunos, calcular a media e mostrar

    essa mdia e mostrar tambm quantos alunos ficaram com a

    sua nota igual ou acima da mdia. (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 faa

    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 faa

    inicio_para

    se (notas[i] >= calc_media) entao

    contador contador + 1;

    fim_para

    mostrar a mdia +calc_media;

    mostrar contador + alunos ficaram com

    a nota acima da media; mostrar .......final do sistema ....;

    Fim.

    Teste de Mesa

    Notas (no pascal)

    Posio 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)

    Posio 0 1 2 3 4

    valor

    A media 7.2

    2 alunos ficaram com a nota

    acima da media

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - 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 faa

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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 so iguais ou maiores do que a mdia, o

    percentual dos elementos que so maiores ou iguais a media e

    mostrar quantos desses elementos so positivos e quantos so

    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 faa

    Soma soma + vetor5[i];

    Media soma / 5;

    Para i de 1 at 5 passo 1 faa

    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+% so maiores ou iguais a mdia;

    mostrar iguais_maior +so iguais ou maiores do que a media;

    mostrar qtd_pos + so positivos;

    mostrar qtd_neg + so negativos; Fim.

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 faa

    Para i de 1 at 2 passo 1 faa

    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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 faa

    Mostrar O valor Original de A[+i+] =+A[i];

    Para j de 1 at 14 passo 1 faa

    Para i de 1 at 14 passo 1 faa

    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 faa

    Mostrar O valor atualizado de A[+i+] =+A[i]; Fim

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 faa

    Mostrar O valor Original de A[+i+] =+A[i];

    Para j de 1 at 14 passo 1 faa

    Para i de 1 at 14 passo 1 faa

    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 faa

    Mostrar O valor atualizado de A[+i+] =+A[i]; Fim

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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. Faa 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 faa

    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 faa

    Inicio_se

    C[i] A[i];

    A[i] B[i];

    B[i C[i];

    Fim_se;

    Para i de 1 at 5 faa

    inicio

    Mostrar O valor Atualizado de A[+i+] =+A[i];

    Mostrar O valor Atualizado de B[+i+] =+A[i];

    Fim; Fim

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 faa

    Para c de 1 at 3 faa

    Inicio

    Mostrar Digite valor para exerc_matriz[+l+,+c+].: ;

    Ler(exerc_matriz[l,c]);

    Fim;

    Para l de 1 at 3 faa

    Para c de 1 at 3 faa

    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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 faa

    Para c de 1 at 3 faa

    Inicio

    Mostrar Digite valor para exerc_matriz[+l+,+c+].: ;

    Ler(exerc_matriz[l,c]);

    Fim;

    Para l de 1 at 3 faa

    Para c de 1 at 3 faa

    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

    http://www.informaticon.com.br/

  • Prof Neri A. Neitzke Ulbra - 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 mdia dos elementos da matriz;

    4) mostre os elementos da diagonal principal;

    5) que mostre os elementos da diagonal secundria;

    6) mostre os elementos da linha 3;

    7) mostre os elementos da Coluna 2;

    8) calcule e mostre quantos elementos so nmeros maiores que a mdia (e mostre esses

    elementos);

    9) mostre em que posio se encontra o maior e o menor elemento da matriz;

    10) crie uma segunda matriz MatNeri de 4x4 e armazene o contedo 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 tambm quantos so pares e

    quantos so impares;

    12) Crie um vetor chamado Vetor_neri que contenha os elementos da 2 linha e mostre este

    vetor

    http://www.informaticon.com.br/

  • 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 faa

    Para c de 1 at 4 faa

    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 faa

    Para c de 1 at 4 faa

    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 ento

    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 ento

    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 so.: +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 faa

    Para c de 1 at 4 faa

    inicio

    Mostrar O valor de matNeri[+l+,+c+].: +matNeri[l,c];

    Fim;

    Mostrar conta_pares+ so pares, so eles .: +mostra_pares;

    Mostrar conta_impares+ so impares, so eles .: +mostra_impares;

    Mostrar O Vetor_neri possui os elementos.: +vetNeri;

    End.

  • Prof Neri A. Neitzke Ulbra - www.informaticon.com.br Crie um algoritmo que leia para um cadastro de cliente, o seu nome, sua

    idade e o seu salrio. 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 salrio 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 salrio 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.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: subalgoritmos - modularizao

    Ler 2 nmeros, efetuar as 4 operaes matemticas e

    mostrar os resultados.

    Algoritmo operaes_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.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: subalgoritmos modularizao procedimentos c/

    parmetros

    Ler 2 nmeros, efetuar as 4 operaes matemticas e

    mostrar os resultados.

    Algoritmo operaes_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.

    http://www.informaticon.com.br/

  • Vdeo Aulas de Algoritmos e Lgica de programao

    Prof Neri A. Neitzke Ulbra - www.informaticon.com.br

    Problema: subalgoritmos modularizao FUNES

    Ler 2 nmeros, efetuar as 4 operaes matemticas 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

    funo somar(pn1, pn2 de real) de real;

    Inicio

    soma pn1 + pn22;

    retorna soma;

    fim

    funo multiplicar(pn1, pn2 de real) de real;

    Inicio

    multiplicacao pn1 * pn22;

    retorna multiplicacao;

    fim

    funo dividir(pn1, pn2 de real) de real;

    Inicio

    divisao pn1 / pn22;

    retorna divisao;

    fim

    funo 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 subtrao .: + subtrair(num1, num2);

    Mostre A diviso .: + dividir(num1, num2);

    Fim.

    http://www.informaticon.com.br/