conceitos fundamentais de algoritmos[1]

Upload: joscelma-erminia-da-silva

Post on 07-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    1/94

    Conceitos Fundamentais deAlgoritmos

    e Programao para iniciantes

    [email protected]

    REFERNCIA: Material dos Profs. Reinaldo Gomes

    (UFRPE) e Robson Fidalgo (UFPE)

    www.xiscanoe.org

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    2/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    3/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    4/94

    Algoritmo Grfico-Textual Informal

    Montagem de um Aeromodelo Material

    Cola especial para plsticos

    Estilete Lixas finas

    Durex ou fita crepe

    Pregador de roupas, elsticos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    5/94

    Identificao das peas

    Algoritmo Grfico-Textual

    Informal

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    6/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    7/94

    Troca de pneu

    Abra o porta-mala e verifique se todosacessrios esto l. Em caso negativo,feche o porta-malas e pea carona aalgum. Em caso positivo, retire otringulo, posicione-o a cerca de 30 m do

    carro, e, depois, retire o estepe e o macaco.Levante o carro...

    Algoritmo Textual Informal 2

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    8/94

    Troca de pneu

    Algoritmo Grfico Informal

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    9/94

    AcessriosOK?

    Abre porta-malas

    Pega tringulo

    Fechaporta-malas

    Troca de pneu (Fluxograma)

    Algoritmo Grfico Semi-formal

    No

    Sim

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    10/94

    Troca de pneu

    abre(porta_malas)

    Se acessorio_ok = FALSOEnto

    fecha(porta_malas)

    espera_carona()

    Seno

    pega_triangulo()

    ...

    Algoritmo Textual Formal

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    11/94

    Problema da Torre de Hani Seja a seguinte situao:

    deve-se mover todos os discos do primeiro eixo para oterceiro mantendo-se a ordem original

    em cada movimento, pode-se mover apenas um disco um disco nunca poder ser sobreposto por outro maior

    Algoritmo: Problemas Complexos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    12/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    13/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    14/94

    Passo 3:mova disco menor para segundo eixo

    Algoritmo: Problemas Complexos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    15/94

    Passo 4:mova disco maior para terceiro eixo

    Algoritmo: Problemas Complexos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    16/94

    Passo 5:mova disco menor para primeiro eixo

    Algoritmo: Problemas Complexos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    17/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    18/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    19/94

    Seqncia de passos completa:Passo 1: mova disco menor para terceiro eixo

    Passo 2: mova disco mdio para segundo eixo

    Passo 3: mova disco menor para segundo eixo

    Passo 4: mova disco maior para terceiro eixo

    Passo 5: mova disco menor para primeiro eixo

    Passo 6: mova disco mdio para terceiro eixo

    Passo 7: mova disco menor para terceiro eixo

    Algoritmo: Problemas Complexos

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    20/94

    Algoritmo: CONCEITO

    O que um ALGORITMO?

    OBS.: No existe um algoritmo paraconstruir algoritmos

    a criao de um algoritmo um exerccio de criatividade

    (conhecimento) e experincia (tcnica e prtica)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    21/94

    O que Programao? =ABSTRAO!

    A realidade complexae rica em detalhes!

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    22/94

    Abstrao

    RealidadeRealidade

    O que vocO que voc abstraiabstrai dessa realidade?dessa realidade?

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    23/94

    Abstrao

    O que abstrao?

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    24/94

    Abstrao

    Abstrao=

    Operao mental queobserva a realidade e

    captura apenas os

    aspectos relevantespara um contexto

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    25/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    26/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    27/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    28/94

    MASLOW

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    29/94

    A tarefa de programarsistemas computacionais

    envolve o exerccioconstante da abstrao darealidade e sua codificaoem uma linguagem de

    programao

    Abstrao

    Rea li adeRealidade

    Sistema de Locadora de VeculoSistema de Locadora de Veculo

    AbstraoAbstrao++

    ProgramaoProgramao

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    30/94

    Sistema Computacional

    O que umSistema Computacional?

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    31/94

    Sistema Computacional

    SistemaComputacional

    SoftwareHardware

    Peopleware

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    32/94

    Programao de SistemaComputacional

    A programao de um sistema computacionalpode ser resumida em 3 passos bsicos

    ProcessamentoEntrada Sada

    Dispositivode Entrada

    Dispositivode Sada

    Memria

    UCP

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    33/94

    Programao de Sistema

    Computacional Exemplo 1 Exibir a mdia de dois nmeros

    ProcessamentoEntrada Sada

    Dispositivode Entrada

    Dispositivode Sada

    Memria

    UCP

    6 , 8 (6 + 8) / 2 7

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    34/94

    Programao de Sistema

    Computacional Exemplo 2 Exibir se o aluno est aprovado ou reprovado

    ProcessamentoEntrada Sada

    Dispositivode Entrada

    Dispositivode Sada

    Memria

    UCP

    Ana, 5, 3 Se (5+3)/2>=7aprovado

    Senoreprovado

    Ana, reprovado

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    35/94

    Programao de Sistema Computacional

    Tipos de Linguagens de Programao 1 - Totalmente codificadas em binrio (0s e 1s) 2 - Usa instrues simblicas para representar os 0s e 1s 3 - Voltadas para facilitar o raciocnio humano

    LinguagemAssembly

    (Mnemnica)

    LOAD R1, val1LOAD R2, val2

    ADD R1, R2

    STORE R1, val2

    Linguagemde

    Mquina

    0010 0001 11100010 0010 1111

    0001 0001 0010

    0011 0001 1111

    Linguagemde

    Alto Nvel

    val2 = val1+val2

    Baixo Nvel Alto Nvel

    (1) (2) (3)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    36/94

    Noes de Lgica

    Exemplos de aplicao da lgica

    O quarto est fechado e que meu livro est no quarto. Ento,preciso primeiro abrir o quarto para pegar o livro

    Rosa me de Ana, Paula filha de Rosa, Jlia filha de Ana.Ento, Jlia neta de Rosa e sobrinha de Paula

    Todo mamfero animal e todo cavalo mamfero. Ento, todocavalo animal

    Todo mamfero bebe leite e o homem bebe leite. Ento, todohomem mamfero e animal (mas no um cavalo)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    37/94

    Atividade 1 (10min)

    Resolva os seguintes problemas de lgica

    P1 Uma lesma deve subir um poste de 10m dealtura. De dia sobe 2m e noite desce 1m. Emquantos dias atingir o topo do poste?

    P2 - Trs gatos comem trs ratos em trs minutos.Cem gatos comem cem ratos em quantos minutos?

    P3 - O pai do padre filho do meu pai. O que eu soudo Padre?

    P4 - Se um bezerro pesa 75 kg mais meio bezerro,quanto pesa um bezerro inteiro?

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    38/94

    Atividade 1 (10min)

    Resolva os seguintes problemas de lgica P5 Qual o prximo nmero da seqncia

    7,8,10,13,17,?

    P6 Um pai de 80kg e suas 2 filhas (40kg cada),

    precisam sair de uma ilha com um barco. Porm acapacidade do barco de 80kg. Como faro para sairda ilha?

    P7 Usando uma jangada, um campons precisaatravessar uma cabra, um leo e um fardo de capimpara a outra margem do rio. A jangada s tem lugarpara ele e mais outra coisa. O que ele deve fazer para atravessar o rio com seus pertences intactos?

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    39/94

    RESPOSTAS - Atividade 1

    Respostas

    R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros,atinge o topo e evidentemente no desce 1 metro

    R2 3 (trs) minutos

    R3 Tio R4 150 (cento e cinqenta) kg

    R5 22

    R6 Vo as duas filhas. Uma delas volta. O pai sai. A outra filhavolta. As duas filhas saem juntas.

    R7 - Primeiro leve a cabra, volte e pegue o capim; deixe o capime leve a cabra de volta; deixe a cabra e leve o leo, depois svoltar e pegar a cabra.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    40/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    41/94

    Noes de Lgica

    Proposio: um enunciado verbal, ao qual deve ser atribudo,sem ambigidade, um valor lgico verdadeiro (V) ou falso (F).

    Exemplos de proposies:

    Robson Fidalgo Professor (V)

    3 + 5 = 10 (F) 5 < 8 (V)

    Contra-exemplos de Proposies:

    Onde voc vai ?

    3 + 5 Os estudantes jogam vlei. (quais ?)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    42/94

    Noes de Lgica

    Operaes Lgicas: so usadas para formar novas proposies apartir de proposies existentes.

    Considerando p e q duas proposies genricas, pode-seaplicar as seguintes operaes lgicas bsicas sobre elas

    Definindo a prioridade: Usar parnteses Ex:((p v q)^(~q)) ou

    Obedecer (~) > (^) > (v)

    Operao Smbolo SignificadoNegao ~ No

    Conjuno ^ EDisjuno v OU

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    43/94

    Noes de Lgica

    Exemplos de aplicao das operaes lgica

    Considere: p = 7 primo = (V)

    q= 4 i mpar= (F)

    Ento:

    4 NO impar = ~q= (~F) = (V) 7 NO primo = ~p = (~V) = (F)

    7 primo E 4 NO impar = p ^ ~q= (V ^ (~F)) = ( V ^ V) =(V)

    7 primo E 4 i mpar = p ^ q= ( V ^ F) = (F)

    4 i mparE 7 primo = q^ p = ( F ^ V) = (F)

    4 i mparE 7 NO primo = q^ ~p = (F ^ (~V)) = (F ^ F) =(F)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    44/94

    Noes de Lgica

    Exemplos de aplicao das operaes lgica (Cont.) Considere:

    p = 7 primo = (V)

    q= 4 i mpar = (F)

    Ento: 7 primo OU 4 NO impar = p v~q= (V v (~F)) = (V v V)

    = (V)

    7 primo OU 4 i mpar = p vq= (V v F) = (V)

    4 i mparOU 7 primo = qv p = (F v V) = (V)

    4 i mparOU 7 NO primo = qv~p = (F v (~V)) = (F v F) = (F)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    45/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    46/94

    Atividade 2

    Considerando p = V e q = F, resolva as seguintes expresseslgicas

    ~p

    ~q

    p ^ q p v q

    (~p) ^ q

    (~p) v q

    p ^ (~q)

    p v (~q)

    (~p) ^ (~q)

    (~p) v (~q)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    47/94

    RESPOSTAS - Atividade 2

    Considerando p = V e q = F, resolva as seguintes expresseslgicas

    ~p = F

    ~q = V

    p ^ q = F

    p v q = V

    (~p) ^ q = F

    (~p) v q = F

    p ^ (~q) = V

    p v (~q) = V (~p) ^ (~q) = F

    (~p) v (~q) = V

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    48/94

    Lgica de Programao &

    Algoritmo

    O que Programao

    de computadores?

    INSTRUES

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    49/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    50/94

    Declarao de Variveis

    Utilizado para especificar os nomes e osrespectivos tipos das variveisnecessrias no algoritmo

    declare : ;onde: - lista de nomes de variveis

    separados por vrgula - inteiro, real, caracter, string, lgico

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    51/94

    Declarao de Variveis

    Exemplos:

    declare a,b,c: real;

    declare nome: string;

    declare sexo: caracter;

    declare pratica_esporte: lgico;

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    52/94

    Bloco de Comentrio

    Serve para explicar um determinadotrecho do algoritmo, para torna-lo maisclaro, facilitando seu entendimento poroutras pessoas ou posteriormente.

    { }

    Exemplo:

    { Isto um exemplo de comentrio }

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    53/94

    Instruo de Entrada

    Usada para ler dados de entrada doalgoritmo.

    leia();

    onde:

    - contero os dados lidos.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    54/94

    Instruo de Entrada

    Exemplos:

    leia(a,b,c);

    leia(nome);

    leia(sexo);

    leia(pratica_esporte);

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    55/94

    Instruo de Sada

    Usada para mostrar os resultados doprocessamento dos dados de entrada.

    escreva();

    onde:

    - geralmente o contedo de uma

    ou mais variveis com a resposta doproblema.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    56/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    57/94

    Instruo de Atribuio

    Utilizado para atribuir um determinadovalor a uma varivel.

    ;onde:

    - nome de uma varivel

    - um valor do mesmo tipo davarivel ou uma expresso lgica ouaritmtica.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    58/94

    Instruo de Atribuio

    Exemplos

    D B^2-4*A*C;

    nome Paulo;Pratica_Esporte TRUE;

    Sexo M;

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    59/94

    Estruturas de Controle

    Baseado na lgica estruturada, Bohn eJacopini provaram que apenas trsestruturas so suficientes para explicar asoluo de qualquer problema, inclusivetornando-os estruturados e mais legveis.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    60/94

    Estruturas de Controle

    So elas: Estrutura Seqencial: os comandos ou

    instrues vo sendo executados na ordem

    em que aparecem no algoritmo.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    61/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    62/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    63/94

    Instrues de Seleo

    Tipo simples:se ento

    ;

    fim-se

    OBS.:

    sero executados apenas se resultar em TRUE.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    64/94

    Instrues de Seleo

    Exemplo:

    se A>0 ento

    B A + 1;

    A 0;

    fim-se

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    65/94

    Instrues de Seleo

    Tipo composto:se ento

    ;

    seno;fim-seOBS.:

    sero executados apenas se resultar em TRUE. Em caso contrrio, sero executados.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    66/94

    Instrues de Seleo

    Exemplo:se A>B ento

    B A + 1;

    A 0;seno

    A 0;

    B A + 1;

    fim-se

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    67/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    68/94

    Instrues de Repetio

    Exemplo:enquanto A>0 faa

    leia(B);

    escreva(B);

    A A - 1;

    fim-enquanto;

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    69/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    70/94

    Instrues de Repetio

    Exemplo:

    repita

    leia(B);

    escreva(B);

    A A - 1;

    atA

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    71/94

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    72/94

    Instrues de Repetio

    Exemplo:

    { Comandos para escrever 10 vezes uma frasena tela do computador }

    para i 1 at 10 faa

    escreva(ltimo tipo de repetio);

    fim-para;

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    73/94

    Estrutura de um Algoritmo

    Um algoritmo em Portugol tem a seguinteestrutura:incio

    fim

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    74/94

    Lgica de Programao & Algoritmo

    Estruturas bsicas de um algoritmo:

    Seqncia Incio/Fim

    Define uma estrutura onde as instrues seroexecutadas na ordem que aparecem.

    Seleo Se-Ento/Seno

    Define uma estrutura condicional que dada a suaavaliao (V ou F) determina qual caminho do

    algoritmo ser executado Repetio Repita, Enquanto ou Para

    Define uma estrutura de iterao condicional (V ouF) ou contada (pr-definida) de instrues

    L i d P &

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    75/94

    Lgica de Programao &Algoritmo

    Algoritmo para ligar de um telefone pblico - Seqncia

    Incio

    1. Tirar o fone do gancho;

    2. Ouvir o sinal de linha;3. Introduzir o carto;

    4. Teclar o nmero desejado;

    5. Conversar;

    6. Desligar;

    7. Retirar o carto;

    Fim.

    Este algoritmo s usa umaestrutura de seqncia

    Incio/Fim

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    76/94

    Lgica de Programao & Algoritmo

    Algoritmo para ligar de um telefonepblico SeleoE se o telefone pblico estiver com defeito?

    Incio

    1. Tirar o fone do gancho;2. Se ouvir o sinal de linha, ento

    1. Introduzir o carto;

    2. Teclar o nmero desejado;

    3. Conversar;

    4. Desligar;5. Retirar o carto;

    3. Seno

    1. ir para o prximo telefone;

    Fim.

    Este algoritmo usa umaestrutura de decisoSe-ento/Seno

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    77/94

    Lgica de Programao & Algoritmo

    Algoritmo para ligar de um telefone pblico RepetioE se o prximo telefone pblico tambm estiver com defeito?

    Incio1. Repita

    1. Tirar o fone do gancho;

    2. Se ouvir o sinal de linha ento1. Introduzir o carto;2. Teclar o nmero desejado;3. Conversar;4. Desligar;5. Retirar o carto;

    3. Seno1. ir para o prximo telefone;

    2. At ouvir o sinal de linhaFim.

    Este algoritmo usa umaestrutura de repetio

    Repita/At

    L i d P & Al it

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    78/94

    Lgica de Programao & Algoritmo

    Algoritmo para ligar de um telefone pblico Repetio

    E se o telefone chamado estiver com defeito?

    E se o telefone chamado estiver ocupado?

    E se acabarem os crditos do carto telefnico?

    E se ...?

    Um algoritmo

    SEMP

    RE

    sofre melhorias sucessivas.(Tcnica de refinamentos sucessivos)

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    79/94

    Fluxogramas - Exemplo 1

    Achar o valor da expresso: D = B2

    - 4AC.

    Incio

    Ler A, B, C D = B^2 - 4*A*C

    1

    1

    Escrever D

    Fim

    Fluxogramas:

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    80/94

    Fluxogramas:Exemplo 2

    Achar o maior dedois nmeros A eB.

    Incio

    Ler A, B

    A=B AB

    Comparar

    A com B

    Escrever:

    A e B iguais

    Fim

    Escrever:

    A maior

    Escrever:

    B maior

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    81/94

    Portugus Estruturado - Exemplo 1

    Achar o valor da expresso: D = B2 - 4AC.

    Ler os valores de A, B e CCalcular a expresso D = B2 - 4AC

    Mostrar o resultado desse clculo

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    82/94

    Portugus Estruturado - Exemplo 2

    Achar o maior de dois nmeros A e B.

    Ler dois nmeros A e BComparar A com B

    Mostrar o resultado dessa comparao

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    83/94

    Pseudocdigo - Exemplo 1

    Achar o valor da expresso: D = B2 - 4AC.

    Incio

    Declare A,B,C,D; { Declarao de variveis }Leia(A,B,C);

    D B^2 - 4*A*C; { Operao de atribuio }

    Escreva(D);

    Fim.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    84/94

    Pseudocdigo - Exemplo 2

    Achar o maior de dois nmeros A e B.Incio

    Declare A,B; { Declarao de variveis }

    Leia(A,B);Se A = B Ento Escreva(A e B iguais);Seno Se A>B Ento Escreva(A maior);

    Seno Escreva(B maior);Fim-Se

    Fim-SeFim.

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    85/94

    RESPOSTA Ati id d 3

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    86/94

    RESPOSTA - Atividade 3

    Algoritmo aprovao

    Incio1. Repita

    1. Obter as 2 notas do aluno;

    2. Se Mdia do aluno >=7, ento

    1. Informar que o aluno estAPROVADO3. Seno

    1. Informar que o aluno est REPROVADO;

    2. At ltimo aluno

    Fim

    #! /usr/bin/perl -w

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    87/94

    my $file = $ARGV[0];

    open NEW, $file;

    my $numero_g=0; my $numero_c=0; my $numero_total=0;

    my $um=0;

    while () { if (/\>/) { # if ($um == 2) { # last;

    # } # $um++; next; }

    # print $_;

    chomp;

    for ($i=0; $i

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    88/94

    UM EXERCCIO

    Construa um algoritmo para escolher asduas maiores laranjas de um balaio

    Outros exerccios

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    89/94

    1) leia um nmero inteiro e mostre uma mensagem indicando seeste nmero par ou mpar, e se positivo ou negativo

    2) leia quatro nmeros inteiros e encontre a mdia aritmticasimples entre as que correspondem a nmeros pares. Lembre-se que no pode haver diviso por zero

    3) leia 4 notas, calcule a mdia dessas e escreva: Reprovado(mdia < 5), Recuperao (mdia >= 5 e < 7) e Aprovado

    (mdia >= 7)

    Outros exerccios...

    i i

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    90/94

    4) leia a idade de um nadador e exiba sua categoria segundo asregras: A(5 at 7); B(8 at 10); C(11 at 13); D(14 at 18) e E(Idade > 18)

    5) leia dois nmeros inteiros, uma operao matemtica(+,-,*,/) e faa o calculo destes nmeros segundo a operaolida

    6) leia o nome e a idade de trs pessoas e informe o nome dapessoa mais velha e o nome da pessoa mais nova. Considereque no existem idades iguais

    mais exerccios...

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    91/94

    AMBIENTES/LINGUAGENS DE

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    92/94

    AMBIENTES/LINGUAGENS DEPROGRAMAO

    LA PASCAL

    declare Var

    Incio Begin

    Fim EndCaracter Char

    Inteiro Integer

    Real Real

    Lgico BooleanLeia Read

    Escreva Write

    AMBIENTES/LINGUAGENS DE

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    93/94

    AMBIENTES/LINGUAGENS DEPROGRAMAO

    LA C

    declare

    Incio {

    Fim }Caracter Char

    Inteiro Int

    Real Double

    Lgico BooleanLeia Scanf

    Escreva Printf

  • 8/6/2019 Conceitos Fundamentais de Algoritmos[1]

    94/94

    Prximos passos?

    Praticar a leitura e entendimento deAlgoritmos de sua rea de aplicao

    Aprender uma Linguagem deProgramao para Computadores

    Programao!