Algoritmos x Pascal

Embed Size (px)

Citation preview

  • 8/18/2019 Algoritmos x Pascal

    1/21

    Algoritmos

    Pascal/Delphi

    Luciano TopolniakNoções de Programação I

  • 8/18/2019 Algoritmos x Pascal

    2/21

    Desvio condicional simples –seleção simples

    Para solucionar este problema, vamos aprenderuma nova instrução de algoritmos, chamada desviocondicional simples ou seleção simples .

    Este tipo de estrutura de controle tem porfinalidade tomar uma decisão com base nasavaliações das expressões passadas.

    A avaliação de uma expressão sempre retornará

    apenas um valor válido, podendo ser: verdadeiroou falso .

  • 8/18/2019 Algoritmos x Pascal

    3/21

    Algoritmos: Se .. entao

    Se entao< Instrução I >

    fimse se (10 >= 5) entaoA 10 * 5

    fimse

    Se entao< Instrução I >< Instrução II >

    fimsese (10 >= 5) entao

    A 10 * 5b 10 + 10

    fimse

  • 8/18/2019 Algoritmos x Pascal

    4/21

    Pascal/Delphi: If .. ThenIf Then

    < Instrução I >If (10 >= 5) Then

    A:= 10 * 5;

    If ThenBegin

    < Instrução I >< Instrução II >< Instrução III >

    End ;

    If (10 >= 5) ThenBegin

    A:= 10 * 5;B:= 10 + 5;C:= 10 - 5;

    End;

  • 8/18/2019 Algoritmos x Pascal

    5/21

    Algoritmos: se .. entao .. senao

    se (10 >= 5) entaoA 10 * 5b 10 + 10

    senaoA 10 / 5b 10 - 10

    fimse

    Se entao< Instrução I >< Instrução II >

    Senao< Instrução III >

    < Instrução IV >Fimse

  • 8/18/2019 Algoritmos x Pascal

    6/21

    Pascal/Delphi: if .. then .. else

    If (10 >= 5) ThenA:= 10 * 5

    ElseA:= 10 / 5

    If (10 >= 5) ThenBegin

    A:= 10 * 5;B:= 10 + 5;C:= 10 - 5;

    End ElseBegin

    A:= 10 * 2;B:= 10 + 2;C:= 10 - 2;

    End;

  • 8/18/2019 Algoritmos x Pascal

    7/21

    Algoritmos: escolha .. casoescolha < expressão-de-seleção >

    caso ,,...,

    caso ,,...,

    outrocaso

    < lista-de-comandos-3 >

    fimescolha

  • 8/18/2019 Algoritmos x Pascal

    8/21

    ExemploInício da execuçãoNome do Atleta = Luciano Topolniak Idade do Atleta = 25Categoria = ProfissionalFim da execução.

    Início da execução

    Nome do Atleta = GasparIdade do Atleta = 7Categoria = InfantilFim da execução.

    Início da execução

    Nome do Atleta = JúniorIdade do Atleta = 15Categoria = JuvenilFim da execução.

  • 8/18/2019 Algoritmos x Pascal

    9/21

    Pascal/Delphi: Case .. Of Case of

    ,,...,:

    ,,...,:

    else

    < lista-de-comandos-3 >

    End;

  • 8/18/2019 Algoritmos x Pascal

    10/21

    ExemploNome do Atleta = Luciano Topolniak Idade do Atleta = 25Categoria = Profissional

    Nome do Atleta = GasparIdade do Atleta = 7Categoria = Infantil

    Nome do Atleta = JúniorIdade do Atleta = 15Categoria = Juvenil

  • 8/18/2019 Algoritmos x Pascal

    11/21

    Estruturas de Repetição

    Laços

  • 8/18/2019 Algoritmos x Pascal

    12/21

    Na estrutura para..faca , a variável decontrole é inicializada com e noinício de cada iteração, seu valor é comparadocom . Se o valor da variável formenor ou igual a , a lista de

    comandos é executada e após ser executado oúltimo comando da lista, a variável de controle éincrementada. Isto repete-se até que o valor davariável de controle seja maior que , quando então é executado o comando

    imediatamente após a palavra fimpara .

    Laços • Laço Para .. Faca / For .. Do

  • 8/18/2019 Algoritmos x Pascal

    13/21

    Para .. Faca / For .. Do

    Pascal/Delphi

    Pascal/Delphi

    Algoritmos

  • 8/18/2019 Algoritmos x Pascal

    14/21

    Exemplo Para ..facaEscrever a tabuada de um número qualquer.

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    Fim da execução.

  • 8/18/2019 Algoritmos x Pascal

    15/21

    Exemplo For.. DoEscrever a tabuada de um número qualquer.

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    program LacoFor;var

    tab,i: integer; begin

    Writeln('Qual tabuada voce deseja fazer?');Readln(tab);

    for i := 1 to 10 doWriteln(tab, ' x ',i,' = ', tab * i);

    readln;end .

    Pascal/Delphi

    Resultado

  • 8/18/2019 Algoritmos x Pascal

    16/21

    enquanto faca

    fimenquanto

    Enquanto .. Faca / While .. Do• Teste no início.• Nem sempre entra no laço.• Executa enquanto a condição for verdadeira.

    Sintaxe:

    While Do While Do

    Begin

    End ;

  • 8/18/2019 Algoritmos x Pascal

    17/21

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    Fim da execução.

    Exemplo: Enquanto .. Faca

  • 8/18/2019 Algoritmos x Pascal

    18/21

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    Exemplo: While .. Do

    program LacoWhile;var

    tab,i: integer; begin

    Writeln('Qual tabuada voce deseja fazer?');Readln(tab);i:=1;

    While i

  • 8/18/2019 Algoritmos x Pascal

    19/21

    Comando Repita .. Ate / Repeat .. Until • Teste no final.• O laço sempre é executado pelo menos uma vez.• Executa até que a condição se torne verdadeira.

    repita

    ate

    Repeat

    Until

  • 8/18/2019 Algoritmos x Pascal

    20/21

    Exemplo: Repita .. Ate

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    Fim da execução.

  • 8/18/2019 Algoritmos x Pascal

    21/21

    Exemplo: Repeat .. Until

    Qual tabuada vocêdeseja fazer?55 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 40

    5 x 9 = 455 x 10 = 50

    Fim da execução.

    program LacoRepeat;var

    tab,i: integer;

    beginWriteln('Qual tabuada voce deseja fazer?');Readln(tab);i:=1;Repeat

    Writeln(tab, ' x ',i,' = ', tab * i);i := i +1;

    Until (i > 10);readln;

    end .

    Delphi