Aula04 Alg

download Aula04 Alg

of 19

Transcript of Aula04 Alg

  • 7/26/2019 Aula04 Alg

    1/19

    Universidade Federal do Amap

    Curso de Engenharia Eltrica

    Algoritmos e Programao

    Unidade 4 Estruturao deAlgoritmos

  • 7/26/2019 Aula04 Alg

    2/19

    Algoritmo e Programao Estruturao de Algoritmos

    Objetivos

    Os principais objetivos dessa unidadeconsitem em: Aprender a desenvolver os principais

    comandos de deciso em algoritmos; Criar comandos de deciso compostos por

    meios de blocos dentro do algoritmo; Aprender a criar laos de repetio de um ou

    mais trecos em um algoritmo; Conceituar e praticar o !bito do uso de

    vari!veis contadoras e acumuladores emalgoritmo

  • 7/26/2019 Aula04 Alg

    3/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    Em programao" os comandos dedeciso tem por objeto instruir am!#uina a no reali$ar todos oscomando inclu%dos em umalgoritmo;

    Esses comandos especi&icamenteensinam a m!#uina a tomardecis'es" optando por e(ecutar ouno um ou mais comandos)

  • 7/26/2019 Aula04 Alg

    4/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    Comando Se (if...then...else) O comando Seconsiste na estrutura b!sica de

    deciso em algoritmos) *ua sinta(e +:

    Se,e(pr-l.gica/ ento,comando/ fimse

    ou

    Se ,e(pr-l.gica/ ento ,comando0/ seno ,comando1/ fimse

    Con&orme podemos veri&icar na e(ecuo doalgoritmo a m!#uina sempre ver! o resultado dae(presso e &ar! apenasumdos dois comandos2nunca os dois ao mesmo tempo3

  • 7/26/2019 Aula04 Alg

    5/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    E(emplo Algoritmo para ler a idade de uma pessoae imprimir a mensagem 5oc6 + maior de idade7 seela tiver 08 anos ou mais)

    // Algoritmo para ler a idade de uma pessoa e dizer se maior de idade// Verso 1.0

    Variveis

    idade:inteiro;

    Incio

    escrever Entre com idade do indivduo:;

    leridade;

    se idade !" 1# ento

    escrever$ indivduo maior de idade;

    seno

    escrever $ indivduo menor de idade;

    fimse

    Fim.

  • 7/26/2019 Aula04 Alg

    6/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    Um outra maneira de escrever o mesmo algoritmosem #ue seja utili$ado a oposeno" + mostrado aseguir)

    // Algoritmo para ler a idade de uma pessoa e dizer se maior de idade// Verso 1.1

    Variveis

    idade:inteiro;

    Incio

    escrever Entre com idade do indivduo:;

    leridade; se idade !" 1# ento

    escrever$ indivduo maior de idade;

    fimse

    se idade % 1#

    escrever $ indivduo menor de idade;

    fimseFim.

  • 7/26/2019 Aula04 Alg

    7/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    Encadeamento

    Um encadeamento caracterizado quando o algoritmoapresenta um comando de deciso dentro de outro, quepode estar localizado internamente ao entoou aoseno,como mostrado a seguir

    se A ! & ento

    se ' ! ( ento

    ) %* ';

    fimsefimse

    se + % ,ento

    - %* +,;

    Seno

    se+ % A& ento

    A %* );

    seno

    & %* );

    imse

  • 7/26/2019 Aula04 Alg

    8/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    Comando Caso (Case) O comando Caso+ importante em situa'es em

    #ue e(iste a necessidade de se testar uma

    mesma vari!vel 2ou e(presso3 #ue possa conterdiversos valores" e(ecutando assim comandos

    di&erentes para valores di&erentes) *ua sinta(e +:

    Caso ,var ou e(pr/ sea

    ,valor0/:,comando0/; ,valor1/:,comando1/;

    )

    ) )

    Seno ,comando/;fimcaso

  • 7/26/2019 Aula04 Alg

    9/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    E(emplo 9ado o nmero de matr%cula de um s.ciode um clube social"&ornecido pelo usu!rio" &aa umalgoritmo #ue imprima o m6s de pagamento daanuidade" de acordo com a tabela:

  • 7/26/2019 Aula04 Alg

    10/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Deciso

    // Algoritmo para impresso do ms de pagamento de anuidade

    // Verso: 1.0

    Variveis

    ninalmatricula:inteiro;

    Incio escrever Entre com o 2ltimo digito da matrcula do s3cio:;

    ler ninalmatricula;

    caso ninalmatricula seja

    0:escrever4agamento em 5aneiro;

    1:escrever4agamento em 6evereiro;

    7:escrever4agamento em (ar8o; 9:escrever4agamento em Aril;

    seno

    escrever 4agemento em (aio;

    fimcaso

    Fim.

  • 7/26/2019 Aula04 Alg

    11/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Repetio

    Comando epita e En#uantoEsses comandos permitem repetir um

    ou mais comandos no corpo de um

    algoritmo) A sinta(e dos comandoconsistem em:

    repita

    ,comando0/;

    ,comando1/;

    )

    ) )

    ,comando

  • 7/26/2019 Aula04 Alg

    12/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estruturas de Repetio - Exemplos// Algoritmo para n2mero pares e impares

    // sando o comando repita < at

    Variveis

    num: inteiro;

    Incio

    escrever Entre com um n2mero inteiro:;

    ler num; repita

    se num !" 0

    senum=7 " 0

    escrever$ n2mero> num> par;

    seno escrever$ n2mero> num> mpar;

    fimse; escrever Entre com um n2mero inteiro:;

    lernum

    fimse;

    at num%0

    fimrepita

    Fim.

    // Algoritmo para n2mero pares e impares

    // sando o comando en?uanto * a8a

    Variveis

    num: inteiro;

    Incio

    escrever Entre com um n2mero inteiro:;

    ler num;

    enquanto num !" 0 faa

    senum=7 " 0

    escrever$ n2mero> num> par;

    seno escrever$ n2mero> num> mpar; fimse;

    escrever Entre com um n2mero inteiro:;

    lernum

    fimenquanto

    Fim.

    Al it P E t t d Al it

  • 7/26/2019 Aula04 Alg

    13/19

    Algoritmo e Programao Estruturao de Algoritmos

    Variveis Cotadoras

    Um vari!vel se caracteri$a comocontadora se ela tem a capacidadede arma$enar uma certa #uantidadede elementos ou itera'es;

    *o muito utili$adas em estruturasde repetio" especi&icamente

    problemas #ue envolvem contagemde valores)

    Al it P E t t d Al it

  • 7/26/2019 Aula04 Alg

    14/19

    Algoritmo e Programao Estruturao de Algoritmos

    Variveis Cotadoras - Exemplo

    // Algoritmo para contar itera8@es

    // sando o comando repita < ate

    Variveis

    cont> iter: inteiro;

    Incio

    escreverEntre com o n2mero de itera8@es:;

    ler iter;

    cont " 0

    repita

    cont " cont 1 // varivel contadora

    atcont %" iter

    fimerepita

    escrever $ contador registrou>cont> contagens;

    Fim.

    // Algoritmo para contar itera8@es

    // sando o comando en?uanto < a8a

    Variveis

    cont> iter: inteiro;

    Incio

    escreverEntre com o n2mero de itera8@es:;

    ler iter;

    cont " 0

    enquanto cont %"iter faa

    cont " cont 1 // varivel contadora

    fimenquanto

    escrever $ contador registrou>cont>contagens;

    Fim.

    Algo itmo e P og amao Est t ao de Algo itmos

  • 7/26/2019 Aula04 Alg

    15/19

    Algoritmo e Programao Estruturao de Algoritmos

    Variveis Acumuladoras

    Esse tipo de vari!vel caracteri$a=se porarma$enar dentro de si resultadoacumulado de uma s+rie de valores" em

    geral" uma soma" por e(emplo;

    >uando no algoritmo e(iste a necessidadede arma$enar sucessivamente um grande

    #uantidade de nmeros" + imprescind%velo uso de vari!veis acumuladoras)

    Algoritmo e Programao Estruturao de Algoritmos

  • 7/26/2019 Aula04 Alg

    16/19

    Algoritmo e Programao Estruturao de Algoritmos

    Variveis Acumuladoras - Exemplo// Algoritmo para somar at 10 numeros aleatorios

    // sando o comando repita < ate

    Variveis

    num> soma: real;

    cont> ?uant: inteiro;

    Incio

    cont " 0; // inicializa8o da variavel contadora soma " 0; //inicializa8o da variavel acumiladora

    escrever Buantidade de numeros a somar:;

    ler?uant;

    repita

    escrever Entre com um n2mero:

    lernum; soma " somanum; // varivel acumuladora

    cont " cont 1

    atcont % ?uant

    fimerepita

    escrever -oma total:>soma;

    Fim.

    // Algoritmo para somar at 10 numeros aleatorios

    // sando o comando en?uanto < a8a

    Variveis

    num> soma: real;

    cont> ?uant: inteiro;

    Incio

    cont " 0; // inicializa8o da variavel contadora

    soma " 0; //inicializa8o da variavel acumiladora

    escrever Buantidade de numeros a somar:;

    ler?uant;

    enquantocont % ?uant faa

    escrever Entre com um n2mero:

    lernum; soma " somanum; // varivel acumuladora

    cont " cont 1;

    fimenquanto

    escrever -oma total:>soma;

    Fim.

    Algoritmo e Programao Estruturao de Algoritmos

  • 7/26/2019 Aula04 Alg

    17/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estrutura de Repetio Complemetar

    Comando Para 2for3 Para &acilitar a construo de laos #ue

    &a$em uso de vari!veis contadoras"especialmente para contagens de 0 em0" podemos utili$ar outro comando derepetio complementar camado?Para@ 2for3) *ua sinta(e +:

    para ,var/ de,valorinicial/ at,valor&inal/ fa$a

    ,comando/;

    fimpara

    Algoritmo e Programao Estruturao de Algoritmos

  • 7/26/2019 Aula04 Alg

    18/19

    Algoritmo e Programao Estruturao de Algoritmos

    Estrutura de Repetio Complemetar

    E(emplo do comando Para

    // Algoritmo para impresso de numeros inteiros

    // sando o comando para * a8a

    Variveis

    valor: inteiro;

    Incio

    escreverC2meros inteiros de 1 at 100:; // impresso complementar

    para valor de1 at100 faa

    escrevervalor">valor; // escreve na tela do computador os n2meros de 1 a100

    fimpara

    Fim.

    Algoritmo e Programao Estruturao de Algoritmos

  • 7/26/2019 Aula04 Alg

    19/19

    Algoritmo e Programao Estruturao de Algoritmos

    !ete "a#er$

    Procure re&a$er o algoritmo paracalcular as ra%$es de uma e#uaodo segundo grau utili$ando agora ocomando de deciso Se...ento)Com a incluso desse comando oalgoritmo &icar! completo)