Lógica de Programação_Conteúdo PRONATEC (1).pdf

download Lógica de Programação_Conteúdo PRONATEC (1).pdf

of 80

Transcript of Lógica de Programação_Conteúdo PRONATEC (1).pdf

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    1/80

    2aedio

    Lgica de Programao

    1

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    2/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    3/80

    Lgica de Programao

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    4/80

    Copyright 2014 Editora etb Ltda.

    2 edio

    Todos os direitos reservados.

    Diretora Editorial: Simone Savarego

    Coordenadora editorial: Rosiane Aparecida Marinho Botelho

    Produo editorial: etb - Editora Tcnica do Brasil

    Projeto grfico: Alexandre Ponzetto

    As informaes e as imagens so de responsabilidade dos autores.

    Proibida a reproduo, mesmo parcial, por qualquer processo, sem a autorizao escrita da Editora.

    A Editora no se responsabiliza por eventuais danos causados pelo mau uso das informaes contidas neste livro.

    Impresso no Brasil

    Printed in Brazil

    Esse livro est catalogado na CIP.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    5/80

    Palavra a Abril Educao

    Desenvolver uma gerao de profissionais capazes de estar frente de um mercado de trabalhodesafiador, que exige cada vez mais eficincia e competncias comprovadas, uma das preocupaes

    mais evidentes dos Governos Federal, Estaduais e Municipais, dos gestores de polticas pblicas e dosdesenvolvedores de programas implementados.

    Com o objetivo de conquistar esse desafio e contribuir para a formao de profissionaiscompetentes e eficazes, o Sistema etb de ensino tcnico apresenta uma proposta de apoio aoprocesso de ensino-aprendizagem, a partir de um material didtico desenvolvido especificamentepara programas de formao profissional Cursos Profissionalizantes de Nvel Mdio na modalidadeSubsequente e Concomitante.

    Abrangendo mais de 12 eixos de conhecimento e com mais de 50 colees de cadernos de

    contedo, o Sistema etb cobre mais de 90% das demandas de formao profissional por todo oBrasil, contando com o endosso da Abril Educao, cuja trajetria bem-sucedida j atravessa cincodcadas.

    O Sistema etb tem ao seu dispor a experincia e a abrangncia de um dos maiores expoentes nosetor educacional, com destaque para metodologias diferenciadas e recursos educacionais exclusivospara a educao profissional.

    A oferta de programas de formao profissional, baseada em um material didtico de qualidade

    e focado no desenvolvimento de habilidades e competncias, associada sequncia de polticaspblicas que estimulam o investimento no setor da educao profissional compem uma propostaaos cidados para que consigam entrar no mercado de trabalho pela porta da frente, como convidadosa exercer suas atividades de maneira segura e eficiente em empresas que clamam por profissionaisdiferenciados.

    Este livro mais um convite na direo da real compreenso da expresso SER PROFISSIONAL.O objetivo deste curso a formao de profissionais que no s tenham conhecimento profundo ecapacidade de resolver problemas, mas tambm sejam criativos, ticos e preocupados com aes eprocessos sustentveis.

    A reunio de autores renomados na rea do ensino fortalece o carter criterioso e responsvel doscaptulos componentes desta obra, para que, com eles, o aluno esteja provido do material necessriopara iniciar sua carreira profissional, a qual ser repleta de conquistas e outras lies.

    Ivan SartoriDiretor de Novos Negcios da Abril Educao Mantenedora do etb Editora Tcnica do Brasil

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    6/80

    Autor(es)

    Lucy Mari Tabuti

    Mestre em cincia da computao pela IME-USP. Especialista em educao matemtica pela FaculdadeSo Luis. Graduada em matemtica pela USP. Tcnica em administrao de empresas pela FundaoBradesco. Atuou como analista na rea tcnica, chefe de servio na rea administrativa e de recursoshumanos. Atualmente professora e orientadora no colgio Rainha da Paz.

    Rodrigo Assirati Dias

    Mestre em cincia da computao pelo Instituto de Matemtica e Estatstica (USP). Licenciado emcomputao pelo Centro Universitrio Claretiano. Bacharel em cincia da computao pelo CentroUniversitrio SENAC. Tcnico em processamento de dados pelo Colgio Oswaldo Cruz. Atuou como

    programador Jr. na Cia Melhoramentos de So Paulo, programador Jr. na Pro Connection Provedor deInternet, consultor pleno na TCS Brasil. Atualmente coordenador de TI da Associao de Educaoe Cultura, professor das disciplinas de programao orientada a objetos, tcnicas de programao,bioinformtica, inteligncia artificial, sistemas de informao gerenciais e ferramentas de TI na Faculdadede Engenharia, Faculdade de Computao e Informtica e Faculdade de Administrao da FAAP,professor das disciplinas de linguagens de programao, computao paralela e distribuda, programaoorientada a objetos e inteligencia artificial nos cursos de tecnologia em anlise e desenvolvimento desistemas, tecnologia em desenvolvimento web, bacharelado em cincia da computao e em engenhariada computao do IBTA.

    Antonio lvaro de Assis Moura

    Possui graduao em Direito pela Faculdade de Direito de So Bernardo do Campo (1989), graduaoem Engenharia Eltrica pela Escola de Engenharia Mau (1991), mestrado (2003) e doutorado (2012) emEngenharia de Produo pela Universidade Metodista de Piracicaba. Atualmente professor adjunto daUniversidade Federal de Uberlndia Campus Pontal, no curso de Engenharia de Produo. Foi professornas seguintes IES: Unaerp (Guaruj- SP); IBTA (Campinas-SP); Unimep (Santa Brbara dOeste-SP) e Unisal(Americana-SP) . Tem experincia na rea de Desenvolvimento do Produto, atuando principalmente nosseguintes temas: integrao CAD/CAM/CAx, Desenvolvimento do Produto e Gesto da Produo. Possui

    experincia profissional de 10 anos na Cia. de Saneamento Bsico do Estado de So Paulo - SABESP,onde atuou desde engenheiro de manuteno at Gerente de Setor Tcnico (Guaruj). Tambm temexperincia profissional na Administrao de Ensino Superior, pois foi coordenador geral da FaculdadeIBTA (hoje Veris Educacional S.A.) em Campinas.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    7/80

    SumrioLgica de ProgramaoLucy Mari Tabuti / Rodrigo Assirati Dias /Antonio lvaro de Assis Moura (Revisor Tcnico)

    Conceitos Bsicos ..............................................................................................................................................7

    Utilizando o VisualG ..........................................................................................................................................9

    Como Construir um Algoritmo ...................................................................................................................11

    Constantes, Variveis e Tipos de Dados nos Algoritmos .................................................................13

    Expresses Aritmticas e Lgicas nos Algoritmos .............................................................................. 17

    Estrutura Sequencial nos Algoritmos ...................................................................................................... 21

    Estrutura de Deciso nos Algoritmos ......................................................................................................24Estrutura de Mltipla Escolha nos Algoritmos ....................................................................................27

    Estruturas de Repetio do Enquanto nos Algoritmos ....................................................................32

    Estruturas de Repetio do faa/enquanto .......................................................................................... 34

    Exerccios 1.........................................................................................................................................................36

    Estrutura de Repetio do para ................................................................................................................. 37

    Estrutura de Repetio do enquanto, faa/enquanto e para ........................................................ 39

    Estrutura de Vetores ....................................................................................................................................... 40

    Estrutura de Vetores ....................................................................................................................................... 42

    Conceitos de Modularizao ...................................................................................................................... 43

    Procedimentos e Funes ............................................................................................................................ 44

    Procedimentos e Funes Parametrizados ............................................................................................ 45

    Exemplos de Modularizao em Algoritmos ........................................................................................47

    Exerccios 2 ....................................................................................................................................................... 51

    Atividade Complementar 1 .........................................................................................................................52

    Atividade Complementar 2 .........................................................................................................................53

    Atividade Complementar 3 .........................................................................................................................54

    Atividade Complementar 4 .........................................................................................................................54Referncias bibliogrficas ............................................................................................................................55

    Gabarito - Exerccios 1 .................................................................................................................................. 55

    Gabarito - Exerccios 2 .................................................................................................................................. 63

    Gabarito - Atividade complementar 1 ....................................................................................................71

    Gabarito - Atividade complementar 2 ....................................................................................................71

    Gabarito - Atividade complementar 3 ................................................................................................... 73

    Gabarito - Atividade complementar 4 ..................................................................................................75

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    8/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    9/80

    7

    Lgica de Programao

    Lgica de ProgramaoLucy Mari Tabuti / Rodrigo Assirati Dias /

    Antonio lvaro de Assis Moura (Revisor Tcnico)Conceitos Bsicos

    Conceitos bsicos de Lgica, Processamento de Dados, Algoritmo, Programa e Linguagem deProgramao.

    Lgica

    Definio de lgica

    Segundo o dicionrio Aurlio1, Lgica :

    Inform. Forma pela qual as assertivas, pressupostos e instrues so organizadasem um algoritmo para implementao de um programa de computador.

    Lgica de programao

    A lgica de programao nada mais do que a lgica usada na programao de computadores,que segue as leis do pensamento e os processos do raciocnio, cujo objetivo desenvolver tcnicas queajudem as pessoas a realizar uma tarefa com o mnimo de esforo.

    Processamento de Dados

    Na informtica, o processamento de dados refere-se entrada de dados, processamento desses dadosde entrada e a sada dos resultados deste processamento, numa sequncia como mostra a Figura 1.

    Entrada Processamento Sada

    Figura 1 - Processamento de dados. Fonte: Autor.

    A entrada de dados, que pode ser uma coleta de dados, uma depurao de dados ou um armazenamentode dados, recebe a informao necessria que ser tratada no processamento de dados. Essa entradapode ser feita atravs de dispositivos de entrada, por exemplo, teclado, mouse, etc.

    O processamento de dados, que pode ser aritmtico ou lgico, trata a informao recebida na entradade dados, gerando resultados. Esse processamento efetuado dentro do computador, na unidade lgica

    1 Ferreira, Aurlio Buarque de Holanda. Novo Aurlio sculo XXI: O Dicionrio da Lngua Portuguesa. 3a edio.Nova Fronteira. Rio de Janeiro. 1999.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    10/80

    8

    e aritmtica conhecida como ULA Unidade Lgica e Aritmtica que fica dentro da CPU UnidadeCentral de Processamento, o crebro do computador.

    A sada de dados, que pode ser uma coleta de resultados ou uma distribuio de resultados, a

    entrega dos dados processados para o usurio. Essa sada pode ser feita atravs de dispositivos de sada,por exemplo, monitor, impressora, etc.

    Algoritmo

    Definio

    Pode-se definir algoritmo como um processo que rene um conjunto de aes que so necessriaspara tratar os dados de entrada e transform-los em resultados para um determinado objetivo.

    Neste sentido, pode-se considerar que uma receita de bolo um algoritmo, pois a partir dosingredientes (dados de entrada), realizam-se vrias aes como bater os ingredientes numa batedeira,colocar numa assadeira e depois assar por determinado tempo (processamento) para, no final, ter umbolo bem feito (resultado de sada).

    Mtodo para o desenvolvimento de um algoritmo

    Para a construo de um bom algoritmo, devem-se seguir os seguintes passos:

    ler e compreender o problema para o qual ser construdo um algoritmo;

    determinar qual ser a entrada de dados do seu algoritmo;

    determinar quais as aes, lgicas e/ou aritmticas, que devero ser realizadas no seu algoritmo,bem como, as restries, se houver, para cada uma dessas aes;

    determinar qual ser a sada de resultados do seu algoritmo;

    construir o algoritmo em um dos tipos de algoritmo descritos na prxima seo;

    testar o algoritmo usando o teste de mesa descrito no final deste captulo.

    Tipos de algoritmo

    As formas mais importantes para a construo de algoritmos so: a descrio narrativa, o fluxogramae o pseudocdigo (ou portugus estruturado ou portugol).

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    11/80

    9

    Lgica de Programao

    Descrio narrativa. A descrio narrativa nada mais do que descrever, utilizando umalinguagem natural (no nosso caso, a lngua portuguesa), as aes a serem realizadas no tratamentodos dados de entrada para os resultados de sada na resoluo do problema proposto.

    Fluxograma.O fluxograma a forma de descrever as aes a serem realizadas no tratamento dosdados de entrada para os resultados de sada usando uma representao simblica preestabelecida,por exemplo, como os smbolos na Figura 2.

    Smbolo utilizado para determinar o incio e o trmino doalgoritmo

    Smbolo utilizado para determinar o sentido do fluxo de dados doalgoritmo. Utilizado para conectar os smbolos existentes

    Smbolo utilizado para determinar uma ao que pode ser umclculo ou uma atribuio de valores

    Smbolo utilizado para determinar a entrada de dados doalgoritmo. Esta entrada de dados pode ser via dispositivos deentrada

    Smbolo utilizado para determinar a sada de dados do algoritmo.Esta sada de dados pode ser via monitor

    Smbolo utilizado para determinar uma deciso que indicar qualcaminho ser seguido no algoritmo

    Smbolo utilizado para determinar uma conexo entre partes deum mesmo algoritmo

    Figura 2 - Fluxograma.

    Fonte: Autor

    Pseudocdigo.O pseudocdigo a forma de descrever as aes para a resoluo de um problemaproposto por meio de regras preestabelecidas.

    Programa

    Um programa de computador a codificao de um algoritmo numa linguagem de programaoespecfica, por exemplo, o C e o Java.

    Sempre que se codifica um algoritmo numa linguagem de programao, este programa precisa sertraduzido para a linguagem entendida pela mquina. A este processo chama-se interpretao ou compilao.

    Utilizando o VisualG

    O VisualG um compilador gratuito, para uso em Portugol, ou portugus estruturado. Siga as

    instrues para elaborar o seu primeiro programa.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    12/80

    10

    Ao abrir o programa ir ser aberta uma tela como abaixo.

    O programa mais simples e inicial aquele que d um al para o mundo.

    Na tela do VisualG complete o cdigo como abaixo:

    algoritmo primeiro programa// Funo : Dar um al ao mundo// Autor : seu nome// Data : hoje// Seo de Declaraesvar

    inicio

    escreva (Al mundo!)// Seo de Comandosfimalgoritmo

    Salve o seu programa adequadamente.

    Clique em Algoritmo e Executar.

    O resultado deve ser a tela abaixo:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    13/80

    11

    Lgica de Programao

    Como Construir um Algoritmo

    Descrio narrativa de como construir algoritmos.

    Exemplo de como fazer um caf

    Nesta seo, sero apresentados vrios algoritmos de como fazer um caf utilizando o algoritmo dedescrio narrativa. Observe como fica um algoritmo sequencial para nosso exemplo:

    Descrio Narrativa Sequencial

    Pegar bule.

    Colocar coador de plstico sobre o bule.

    Colocar coador de papel sobre o coador de plstico.

    Colocar caf tostado e modo sobre o coador de papel.

    Colocar gua sobre o caf.

    Descrio Narrativa de Seleo

    Pegar bule.

    Colocar coador de plstico sobre o bule.

    Colocar coador de papel sobre o coador de plstico.

    Colocar caf tostado e modo sobre o coador de papel.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    14/80

    12

    sea gua estiver fervente, ento:

    Colocar gua sobre o caf.

    Descrio Narrativa de Repetio sem a estrutura de repetio

    Pegar bule.

    Colocar coador de plstico sobre o bule.

    Colocar coador de papel sobre o coador de plstico.

    Colocar caf tostado e modo sobre o coador de papel.

    sea gua no estiver fervente, ento

    Aquecer a gua.

    sea gua no estiver fervente, ento

    Continuar aquecendo a gua.

    sea gua no estiver fervente, ento

    Continuar aquecendo a gua

    ...

    continua at quando?

    colocar gua

    Descrio Narrativa de Repetio usando a estrutura de repetio

    Pegar bule.

    Colocar coador de plstico sobre o bule.

    Colocar coador de papel sobre o coador de plstico.

    Colocar caf tostado e modo sobre o coador de papel.

    enquantoa gua no estiver fervente, faa

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    15/80

    13

    Lgica de Programao

    Aquecer a gua.

    Colocar gua sobre o caf.

    Outro exemplo de construo de algoritmo envolvendo lgica

    Problema:

    Considere a Torre de Hani com trs hastes e trs discos. Uma das hastes serve de suporte paratrs discos de tamanhos diferentes de forma que os menores esto sobre os maiores. Desenvolva umalgoritmo que mova todos os discos da haste onde se encontram para uma das outras duas hastes daTorre de Hani, seguindo as seguintes regras: pode-se mover um disco de cada vez para qualquer haste,contanto que um disco maior nunca seja colocado sobre um disco menor.

    Resoluo:

    Considerando discos 1, 2, 3 e hastes A, B, C, tem-se o resultado descrito.

    Mover o disco 1 da haste A para a haste B.

    Mover o disco 2 da haste A para a haste C.

    Mover o disco 1 da haste B para a haste C.

    Mover o disco 3 da haste A para a haste B.

    Mover o disco 1 da haste C para a haste A.

    Mover o disco 2 da haste C para a haste B.

    Mover o disco 1 da haste A para a haste B.

    Constantes, Variveis e Tipos de Dados nos Algoritmos

    Estudo das constantes, variveis e tipos de dados nos algoritmos.

    Tipos de dados

    Os tipos de dados so as caractersticas comuns dos dados a serem manipulados. Podem-se considerarcinco classificaes para os tipos de dados: inteiro, real, caracter, alfanumrico e lgico.

    O tipo inteirocaracteriza qualquer dado numrico que pertena ao conjunto dos nmeros inteiros.Por exemplo: -5, 0, 32.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    16/80

    14

    O tipo realcaracteriza qualquer dado numrico que pertena ao conjunto dos nmeros reais. Porexemplo: -9.0, 0, 29.45.

    O tipo caracter caracteriza um nico qualquer dado que pertena a umconjunto de caracteres alfanumricos e so simbolizados por entre aspas simples( ). Por exemplo: 1, E, %.

    O tipo alfanumricocaracteriza qualquer conjunto de dados que pertenam a um conjunto decaracteres alfanumricos e so simbolizados por entre aspas duplas ( ). Por exemplo: 15, Eu, Pare!,?%@.

    O tipo lgicocaracteriza qualquer dado que possa assumir somente duas situaes: verdadeiro oufalso. Por exemplo: feminino ou masculino, loja aberta ou fechada, brasileiro ou estrangeiro.

    Pseudocdigo

    Para o tipo inteiro usa-se inteiro.

    Para o tipo real usa-se real.

    Para o tipo caracter usa-se caracter.

    Para o tipo alfanumrico usa-se alfanumrico.

    Para o tipo lgico usa-se lgico.

    Constantes

    Definio

    Diz-se que determinada informao uma constante quando esta no sofre nenhuma alterao,ou seja, ela fixa. Por exemplo, pode-se definir uma constante 3.14dentro do algoritmo e nestealgoritmo este valor nunca se alterar.

    Pseudocdigo

    A declarao de um dado constante em pseudocdigo ter a seguinte regra sinttica:

    declarar constante ;

    Por exemplo:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    17/80

    15

    Lgica de Programao

    declarar constante pi 3,14real;

    Pode-se tambm declarar vrios dados constantes em pseudocdigo numa mesma linha se elesforem todos do mesmo tipo, seguindo a seguinte regra sinttica, para NC nome da constante e VCvalor da constante.

    declarar constante , , ... , ;

    Por exemplo:

    declarar

    constantepi 3,14, x 9,3, telefone -7,23 real;

    Variveis

    Definio

    Diz-se que determinada informao uma varivel quando esta no pode sofrer alguma alterao,ou seja, ela varivel. Por exemplo, pode-se definir uma varivel x dentro do algoritmo e neste algoritmoeste valor poder se alterar.

    Pseudocdigo

    A declarao de uma informao varivel em pseudocdigo ter a seguinte regra sinttica:

    declarar ;

    Por exemplo:

    declarar xinteiro;

    Pode-se tambm declarar vrias informaes variveis em pseudocdigo numa mesma linha se elesforem todos do mesmo tipo, seguindo a seguinte regra sinttica, para NC nome da constante:

    declarar , , ... , ;

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    18/80

    16

    Por exemplo:

    declarar telefone, idade, valor, coralfanumrico;

    No momento da declarao de um dado varivel em pseudocdigo, pode-se tambm inicializar avarivel, assim a declarao com a inicializao ter a seguinte regra sinttica:

    declarar ;

    Por exemplo:

    declarar

    y 5real;

    Identificadores

    Definio

    Os identificadores so os nomes dados s informaes de um algoritmo ou programa, por exemplo,nome da varivel, nome da constante, nome do programa, etc.

    Por exemplo: pi, x, num_1, valor5, etc.

    Os identificadores so nicos para uma determinada informao, por exemplo, um mesmoidentificador no pode ser usado para o nome de uma varivel e de uma constante, ou para onome de duas variveis de mesmo tipo ou de tipos diferentes. Uma vez que um identificador foiusado para uma determinada informao, ele no pode ser usado novamente para identificar outrainformao.

    Por exemplo:

    declarar x numrico_inteiro; x numrico_real;

    Este exemplo mostra o que no pode acontecer, ou seja, o identificador x declarado como um tipointeiro e depois como um tipo real. Um identificador pode possuir somente um tipo de informao.

    Formato

    Esses identificadores devem seguir as seguintes regras para serem vlidos:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    19/80

    17

    Lgica de Programao

    todos os caracteres devem ser letras, nmeros ou o sublinhado (o nico caracter especialpermitido);

    o primeiro caracter deve ser uma letra;

    os demais caracteres podem ser letras, nmeros ou sublinhado;

    no so permitidos caracteres especiais (com exceo do sublinhado) e o espao em branco;

    palavras reservadas (de uma linguagem de programao ou do pseudocdigo) no devem serusados como identificadores.

    Exemplos com constantes, variveis e identificadores em pseudocdigo

    1. So identificadores vlidos:

    num1, item5C, tipo_a2, A123, idade, telefone

    2. So identificadores no vlidos:

    1num, 5Citem, _tipoa2, _2valor, 123A, R$, nota/2, 5*, x&y

    3. Declarao de constantes:

    declarar constantenum1 9 numrico_inteiro; constantex_2 -3.28, cor 7.4numrico_real;

    4. Declarao de variveis

    declarar um 5, dois numrico_inteiro; maria, vlr9 numrico_real;

    valor_4A alfabeto alfanumrico; sexo, X987 lgico;

    Expresses Aritmticas e Lgicas nos Algoritmos

    Estudo dos operadores aritmticos e lgicos, bem como, das expresses aritmticas e lgicas nosalgoritmos.

    Uma expresso aritmtica o conjunto de operadores e operandos dispostos numa determinadaordem. Neste caso, os operadores podem ser aritmticos e os operandos podem ser constantes ouvariveis inteiras ou reais. O resultado de uma expresso aritmtica sempre ser numrico.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    20/80

    18

    Uma expresso lgica tambm um conjunto de operadores e operandos dispostos numa determinadaordem. Neste caso, os operadores podem ser relacionais ou lgicos e os operandos podem ser relaes,constantes ou variveis inteiras, reais, alfanumricas ou lgicas. O resultado de uma expresso lgicasempre ser lgico, ou seja, verdadeiro ou falso.

    Operadores aritmticos

    Os operadores aritmticos pertencem a um conjunto de smbolos que representam as operaesmatemticas bsicas, que so:

    Tabela 1 - Operadores aritmticos bsicos

    Operador Funo Exemplo

    + adio 5 + 3

    subtrao 2 a* multiplicao b * c

    / diviso d / 10

    Alm dos operadores aritmticos bsicos, consideram-se, para pseudocdigo, operadores aritmticosauxiliares para outros clculos, que so:

    Tabela 2 - Operadores aritmticos auxiliares

    Operador Funo Exemplo Resultadopot potenciao pot(2,3) 23= 8

    rad radiciao rad(9) 9= 3

    mod resto da diviso 7 mod 3 resto = 1

    div quociente da diviso 7 div 3 quociente = 2

    Prioridades

    Para resolver expresses aritmticas em pseudocdigo, deve-se obedecer a uma hierarquia deprioridades entre operadores aritmticos que a seguinte:

    parnteses mais internos

    pot rad

    * / div mod

    +

    Figura 3- Prioridades entre operadores aritmticos.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    21/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    22/80

    20

    Tabela 5 - Tabela Verdade

    A B no A A e B A ou B

    V V F V V

    V F F F VF V V F V

    F F V F F

    Prioridades

    Para resolver expresses lgicas em pseudocdigo, deve-se obedecer a uma hierarquia de prioridadesentre operadores lgicos que a seguinte:

    no

    e ou

    Figura 4 - Prioridades entre operadores lgicos.

    Prioridades entre Operadores

    Para resolver expresses que contenham expresses lgicas e aritmticas, com operandos, operadoresaritmticos, lgicas e relacionais existe uma prioridade entre os operadores que a seguinte:

    parnteses mais internos

    operadores aritmticos

    operadores relacionais

    operadores lgicos

    Figura 5 - Prioridades entre operadores lgicos.

    Exemplo com operadores

    1. Expresses aritmticas

    a) 5 * 2 3 + 14 / 2 + 9 10 3 + 7 + 9 9

    b) 5 pot(2,3) + 4 2 * rad(4) 5 8 + 4 2 * 2 5 8 + 4 4 3

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    23/80

    21

    Lgica de Programao

    2. Expresses lgicas com operadores relacionais e aritmticos

    a) 5 * 2 = 4 + 10 / 2 10 = 4 + 5 10 = 9 F

    b) 5 mod 2 + 3 < pot(3,2) * 10 1 + 3 < 9 * 10 4 < 90 V

    3. Expresses lgicas com operadores lgicos, relacionais e aritmticos

    a) 3 < 7 e5 * 2 = 2 + 1

    3 < 7 e10 = 3 F eF F

    b) pot(2,3)

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    24/80

    22

    Comandos de entrada e sada

    Os comandos de entrada e sada so utilizados para que haja uma interao entre o algoritmo e ousurio do algoritmo. Neste caso, com o comando de entrada, possvel que o usurio fornea dados

    para serem processados pelo algoritmo e, com o comando de sada, possvel que o usurio veja oresultado do processamento dos dados.

    Pseudocdigo comandos de entrada

    Para que o usurio possa entrar com dados num algoritmo, utiliza-se o comando de entrada. Porexemplo, considere que uma varivel numfoi declarada como do tipo real:

    ler (num);

    Pode-se tambm receber valores para vrias variveis com um mesmo comando de entrada. Porexemplo, considere que as variveis num1, num2e num3foram declaradas como do tipo real:

    ler (num1, num2, num3);

    Pseudocdigo comandos de sada

    Para que o usurio possa ver o resultado do processamento dos dados ou alguma mensagemenviada pelo algoritmo, utiliza-se o comando de sada. Por exemplo, considere que uma varivel numfoi declarada como do tipo inteiroe o valor 5 lhe foi atribudo:

    num 5;escrever (num);

    Ao invs de mostrar para o usurio o contedo de uma varivel, pode-se mostrar um dadoalfanumrico. Por exemplo:

    escrever (Disciplina de Lgica de Programao);

    Com o mesmo comando de sada, pode-se enviar uma mensagem cujo contedo seja a concatenaode vrios dados alfanumricos, sejam eles do tipo alfanumricosou da converso de outros tiposde dados para o tipo alfanumrico. Por exemplo, considere que as variveis num1 e num2 foramdeclaradas como do tipo inteiroe os valores 10 e 5 lhes foram, respectivamente, atribudos:

    num1 10;num2 5;escrever (Maria tem , num1 , anos e Joo tem , num2 , anos);

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    25/80

    23

    Lgica de Programao

    Blocos

    Em pseudocdigo, um bloco tem seu incio com a palavra incioe seu trmino com a palavra fim;.Um algoritmo pode ser considerado um bloco, no entanto, seu trmino determinado com a palavra

    fim_algoritmo.Por exemplo:

    Algoritmo Exemplo

    incio_algoritmo // incio do bloco ou algoritmo Declarar // declarao das variveis e/ou constantes // sequncia dos comandos

    fim_algoritmo. // fim do bloco ou algoritmo

    Note que um algoritmo deve estar bem identado, isto , deve estar numa formao que facilite oseu entendimento.

    Estrutura sequencial

    Uma estrutura sequencial aquela em que as aes de um algoritmo so executadas numa ordemsequencial, ou seja, de cima para baixo e da esquerda para a direita. Para o pseudocdigo adotado nestelivro, convenciona-se que o uso do ponto e vrgula (;) determina o final de uma ao.

    Em pseudocdigo, a estrutura sequencial representa um conjunto de aes ou comandos que soexecutados num determinado fluxo.

    Por exemplo:

    Algoritmo Exemplo_Sequencial

    incio_algoritmo

    Declararx, y alfanumrico; ler(x, y); escrever(Voc digitou primeiro o , x); escrever(Voc digitou logo em seguida o , y); fim_algoritmo.

    Exemplos de estrutura sequencial em pseudocdigo

    1. Desenvolva um algoritmo que receba, do usurio, dois nmeros reais e exiba a soma destes doisnmeros.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    26/80

    24

    AlgoritmoSoma

    incio_algoritmo Declarar

    // declarao de variveis n1, n2, soma real; // mensagem ao usurio escrever (Digite dois nmeros reais);

    // entrada de dados ler (n1 , n2);

    // processamento de dados soma n1 + n2;

    // sada de resultados escrever (A soma dos dois nmeros reais digitados : , soma);

    fim_algoritmo.

    2. Desenvolva um algoritmo que receba, do usurio, dois nmeros inteiros, calcule e exiba a mdiaaritmtica destes dois nmeros.

    Dica: a mdia aritmtica asoma dos dois nmeros dividido pordois, por isso, o resultado deve ser umnmero real.

    AlgoritmoMedia incio_algoritmo Declarar

    // declarao de variveis num1, num2 inteiro; media real; // mensagem ao usurio escrever (Digite dois nmeros inteiros);

    // entrada de dados

    ler (num1 , num2);// processamento de dados

    media (num1 + num2) / 2;// sada de resultados

    escrever (A mdia dos dois nmeros digitados : , media);fim_algoritmo.

    Estrutura de Deciso nos Algoritmos

    Estudo das estruturas de deciso simples, composta e encadeada nos algoritmos.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    27/80

    25

    Lgica de Programao

    Quando se desenvolve um algoritmo ou programa estruturado, muitas vezes, precisa-se interferir nofluxo natural ou sequencial que o algoritmo deve seguir. No entanto, precisa-se saber controlar qual o fluxoque o algoritmo percorre do incio at o fim de sua execuo. Para isso, utiliza-se os fluxos de controle.

    Uma estrutura de deciso um fluxo de controle utilizado para decidir qual o fluxo que o algoritmoseguir. Esta condio representada por expresses lgicas e relacionais que podem ou no seremsatisfeitas, isto , podem retornar o valor verdadeiro ou falso.

    Estrutura de Deciso Simples (se/ento)

    Uma estrutura de deciso simples pode ser utilizada quando o algoritmo precisa testar determinadacondio antes de executar um conjunto de comandos. Neste caso, uma condio avaliada e se seuresultado for verdadeiro, o conjunto de comandos dentro da estrutura se/ento executado. Por outrolado, se o resultado da avaliao for falso, este conjunto de comandos no far parte do fluxo deexecuo do algoritmo.

    Na estrutura de deciso simples, utiliza-se as palavras se e ento que representam as palavrasprincipais desta estrutura e a palavra fimse;para determinar o fim do bloco de execuo desta estrutura.Por exemplo:

    se(var < 0) ento escreva(O nmero , var , negativo);

    fimse;

    O resultado da execuo deste exemplo :

    // se o valor devarfor -5O nmero 5 negativo

    Estrutura de Deciso Composta (se/ento/seno)

    Uma estrutura de deciso composta parecida com a estrutura de deciso simples. A diferena entreas duas estruturas que a primeira pode ser utilizada quando o algoritmo precisa testar determinadacondio, cujos resultados podem ser verdadeiro ou falso, antes de executar um conjunto de comandos.Neste caso, uma condio avaliada e se seu resultado for verdadeiro, o conjunto de comandos dentroda estrutura se/ento executado. Por outro lado, se o resultado da avaliao for falso, o conjunto decomandos dentro da estrutura seno executado.

    Na estrutura de deciso composta, utiliza-se as palavras se, ento e senoque representam aspalavras principais desta estrutura e a palavra fimse;para determinar o fim do bloco de execuo desta

    estrutura. Por exemplo:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    28/80

    26

    se(var < 0) ento escreva(O nmero , var , negativo); seno escreva(O nmero , var , no negativo);fimse;

    O resultado da execuo deste exemplo :

    // se o valor de varfor 5O nmero 5 no negativo

    // se o valor de varfor -5O nmero 5 negativo

    Estrutura de Deciso Encadeada (se/ ento ... / seno ...)

    Diz-se que uma estrutura de deciso encadeada se h estruturas de decises dentro de outrasestruturas de decises. No existe limite para a estrutura de deciso encadeada, pode-se ter quantasestruturas de deciso encadeadas forem necessrias. Por exemplo:

    se(var < 0) ento escreva(O nmero , var , negativo); seno se(var = 0) ento escreva(O nmero , var , nulo); seno escreva(O nmero , var , positivo); fimse; // do var = 0fimse; // do var < 0

    O resultado da execuo deste exemplo :

    // se o valor de varfor 5O nmero 5 positivo

    // se o valor de varfor -5O nmero 5 negativo

    // se o valor devarfor 0O nmero 0 nulo

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    29/80

    27

    Lgica de Programao

    Exemplos de estrutura de deciso simples, composta e encadeada em pseudocdigo

    1. Desenvolva um algoritmo que receba, do usurio, um valor alfanumrico, verifica e exiba ainformao se este caracter uma vogal.

    AlgoritmoVogal

    incio_algoritmo Declarar

    // declarao de variveis e/ou constantes vog alfanumrico; escrever (Digite um valor alfanumrico); ler (vog); se (vog = a ouvog = e ouvog = iouvog = o ou vog =u)

    ento escrever (O caracter , vog , uma vogal.); seno escrever (O caracter , vog , no uma vogal.); fimse; fim_algoritmo.

    2. Desenvolva um algoritmo que receba, do usurio, dois valores reais, exiba a soma destes doisnmeros, verifique e exiba a informao se a soma positiva ou no positiva.

    AlgoritmoSoma

    incio_algoritmo Declarar

    // declarao de variveis e/ou constantes num1, num2, soma real; escrever (Digite dois nmeros reais); ler (num1, num2); soma num1 + num2;

    se(soma > 0) ento escrever (A soma de , num1 , com , num2 , igual a , soma , que positiva); seno escrever (A soma de , num1 , com , num2 , igual a , soma , que no positiva); fimse; fim_algoritmo.

    Estrutura de Mltipla Escolha nos Algoritmos

    Estudo da estrutura de mltipla escolha simples e encadeada nos algoritmos.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    30/80

    28

    Uma estrutura de mltipla escolha tambm uma estrutura de deciso em que um fluxo de controle utilizado para decidir qual o fluxo que o algoritmo seguir. Uma estrutura de mltipla escolha determinaqual conjunto de comandos ou bloco ser executado aps uma opo ser avaliada e um caso para essaopo for detectada. Esta opo representada por valores de quaisquer tipos de dados conhecidos.Note que somente um caso executado, dentre todos os casos da estrutura de mltipla escolha.

    Estrutura de Mltipla Escolha Simples

    Uma estrutura de deciso de mltipla escolha pode ser utilizada quando o algoritmo precisa testarum conjunto de valores diferentes antes de executar um conjunto de comandos associado a essesvalores. Neste caso, uma opo avaliada, seu resultado verificado dentro de um conjunto de casose o conjunto de comandos dentro do caso relacionado opo avaliada executada como parte dofluxo de execuo do algoritmo. Numa estrutura de mltipla escolha, o tipo de dado da opo precisa,necessariamente, ser do mesmo tipo dos casos relacionados.

    Na estrutura de mltipla escolha simples, utiliza-se as palavras escolha,casoe caso contrrioquerepresentam as palavras principais desta estrutura e a palavra fimescolha;para determinar o fim dobloco de execuo desta estrutura. Por exemplo:

    escolha (var) caso 1: escrever (O valor da varivel var 1); caso 2: escrever (O valor da varivel var 2); caso 3: escrever (O valor da varivel var 3); caso contrrio : escrever (O valor da varivel var no nem 1, nem 2, nem 3);fimescolha;

    Note que o uso do comando caso contrrioserve para os valores no previstos que a varivel varpossa assumir.

    O resultado da execuo deste exemplo :

    // se o valor de varfor 1O valor da varivel var 1

    // se o valor de varfor 2O valor da varivel var 2

    // se o valor de varfor 3O valor da varivel var 3

    // se o valor de varfor 4O valor da varivel var no nem 1, nem 2, nem 3

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    31/80

    29

    Lgica de Programao

    Numa estrutura de mltipla escolha, os valores escolhidos para cada caso no precisam ser nicos,isto , cada caso da estrutura pode ser representado por um conjunto de valores especficos. Por exemplo,um caso pode ter o valor 1, outro caso, os valores 2, 3 e 4, outro caso, os valores 7, 15 e 25 e outro casocom os valores 8, 11, 12, 13 e 14:

    escolha (var) caso 1 : escrever (O valor da varivel var 1); caso 2 .. 4 : escrever (O valor da varivel var pode ser 2, 3 ou 4); caso 7, 15, 25 : escrever (O valor da varivel var pode ser 7, 15 ou 25); caso 8, 11 .. 14 : escrever (O valor da varivel var pode ser 8 , 11, 12, 13 ou 14); caso contrrio : escrever (opo invlida.);fimescolha;

    O resultado da execuo deste exemplo :

    // se o valor de varfor 1O valor da varivel var 1

    // se o valor de varfor 2O valor da varivel var pode ser 2, 3 ou 4

    // se o valor de varfor 7O valor da varivel var pode ser 7, 15 ou 25

    // se o valor de varfor 8O valor da varivel var pode ser 8 , 11, 12, 13 ou 14

    // se o valor de varfor 100Opo Invlida

    Estrutura de Mltipla Escolha Encadeada

    Uma estrutura de mltipla escolha encadeada pode ser utilizada quando o algoritmo precisa testarum conjunto de valores diferentes antes de executar um conjunto de comandos associados a essesvalores. Por exemplo:

    escolha (var) caso1 .. 3 : escolha(var) caso1 , 2 : escolha(var) caso1 :escrever (o valor da varivel var 1); caso2:escrever (o valor da varivel var 2); caso contrrio : escrever (opo invlida);

    fimescolha;

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    32/80

    30

    caso3 : escrever (o valor da varivel var 3); caso contrrio : escrever (opo invlida); fimescolha; caso4 , 5 : escolha(var) caso4 : escrever (o valor da varivel var 4); caso5 : escrever (o valor da varivel var 5); caso contrrio: escrever(opo invlida); fimescolha; caso6 :escrever (o valor da varivel var 6); caso contrrio : escrever (opo invlida);fimescolha;

    O resultado da execuo deste exemplo :

    // se o valor de varfor 1O valor da varivel var 1

    // se o valor de varfor 2O valor da varivel var 2

    // se o valor de varfor 3O valor da varivel var 3

    // se o valor de varfor 4O valor da varivel var 4

    // se o valor de varfor 5O valor da varivel var 5

    // se o valor de varfor 6O valor da varivel var 6

    // se o valor de varfor 7

    Opo Invlida

    Exemplos de Estrutura de Mltipla Escolha em pseudocdigo

    1. Desenvolva um algoritmo que recebe quatro notas bimestrais, calcula e mostra a mdia aritmticadestas quatro notas, bem como, se o aluno foi aprovado (mdia >= 7), reprovado (mdia < 3), emexame (mdia >= 3 ou mdia

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    33/80

    31

    Lgica de Programao

    n1, n2, n3, n4, media real; escrever (Digite as quatro notas bimestrais); // mensagem ao usurio ler (n1 , n2 , n3 , n4); // entrada de dados media!(n1 + n2 + n3 + n4) / 4; // processamento de dados escrever (A mdia : , media); // sada de resultados // processamento de dados escolha(media) caso7 .. 10 : se(media = 10) ento escrever(Aluno aprovado com louvor); // sada de resultados seno escrever (Aluno aprovado); // sada de resultados fimse; caso0 .. 2.9 : escrever (Aluno reprovado); // sada de resultados

    caso 3 .. 6.9: escrever (Aluno em exame); // sada de resultados caso contrrio : escrever (mdia invlida);; // sada de resultados fimescolha;

    fim_algoritmo.

    2. Desenvolva um algoritmo que recebe o preo de um produto e seu cdigo de origem e mostre opreo do produto junto de sua procedncia, conforme tabela abaixo:

    cdigo de origem regio de procedncia

    1 Norte

    2, 5, 9 Sul

    3 , 10 at 15 Leste

    7 ou 20 Oeste

    qualquer outro Importado

    AlgoritmoProduto incio_algoritmo Declarar// declarao de variveis e/ou constantes preco real;

    codigo inteiro; escrever (Digite o preo e o cdigo de origem do produto); // mensagem ao usurio ler (preco, codigo); // entrada de dados // processamento de dados escolha(codigo) caso1 :escrever (preco , - Norte); // sada de resultados caso2, 5, 9 :escrever (preco , - Sul); // sada de resultados caso 3, 10 .. 15: escrever (preco , - Leste); // sada de resultados caso 7 , 20 : escrever (preco , - Oeste); // sada de resultados

    caso contrrio : escrever (preco , - Importado); // sada de resultados

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    34/80

    32

    fimescolha;fim_algoritmo.

    Estruturas de Repetio do Enquanto nos Algoritmos

    Estudo das estruturas de repetio do enquanto simples e encadeada nos algoritmos.

    Uma estrutura de repetio um fluxo de controle utilizado para decidir quantas vezes determinadoconjunto de comandos se repetir dentro do algoritmo.

    Tem-se trs tipos de estrutura de repetio: enquanto, faa/enquantoe para. Cada uma dessasestruturas de repetio pode ser simples ou encadeada.

    Uma estrutura de repetio enquanto pode ser utilizada quando o algoritmo precisa testardeterminada condio antes de executar um conjunto de comandos repetidas vezes. Neste caso, umacondio avaliada e se seu resultado for verdadeiro, o conjunto de comandos dentro da estrutura derepetio enquanto executado e aps esta execuo, a condio novamente avaliada. Por outrolado, se o resultado da avaliao for falso, este conjunto de comandos no ser executado e o fluxo doalgoritmo segue normalmente.

    Na estrutura de repetio enquanto, utiliza-se as palavras enquanto e faa que representamas palavras principais desta estrutura e a palavra fimenquanto;para determinar o fim do bloco de

    execuo desta estrutura. Por exemplo:x 0;enquanto (x

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    35/80

    33

    Lgica de Programao

    Desenvolva um algoritmo que calcula o fatorial dos nmeros inteiros de 5 at 15.

    Algoritmo ExemploEnquanto incio_algoritmo Declarar

    i, num, fat inteiro;

    num 5; // entrada de dados // processamento de dados enquanto (num 1) faa fat fat * i;

    i i 1; fimenquanto; escreva (O valor do fatorial de , num , , fat); // sada de dados num num + 1; fimenquanto;fim_algoritmo.

    Exemplo de Estrutura de Repetio Enquanto em pseudocdigo

    1. Desenvolva um algoritmo que calcula a soma de todos os nmeros compreendidos entre 1 e 100.

    // na estrutura de repetioenquanto

    Algoritmo Soma Declarar i, s 0inteiro; i 1; enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    36/80

    34

    Algoritmo Soma

    Declarar i, s 0 inteiro; i 1; enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    37/80

    35

    Lgica de Programao

    Desenvolva um algoritmo que calcula o fatorial dos nmeros inteiros de 5 at 15.

    Algoritmo ExemploFacaEnquanto incio_algoritmo Declarar

    i, num, fat inteiro;

    num 5; // entrada de dados // processamento de dados faa fat num; i num 1; faa fat fat * i;

    i i 1; enquanto(i > 1); escreva (O valor do fatorial de , num , , fat); // sada de dados num num + 1; enquanto (num

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    38/80

    36

    Algoritmo Soma Declarar i, s 0 inteiro; i 1; faa se ((i mod 2) = 0) ento s s + i; fimse; i i + 1; enquanto (i = 5), reprovado (nota < 3) ou em recuperao (nota < 5 e nota >= 3).

    6. Desenvolva um algoritmo que receba um ms e verifique se ele corresponde ao primeiro semestreou ao segundo semestre.

    7. Desenvolva um algoritmo que recebe um ms e verifique se ele corresponde ao primeiro, segundo,

    terceiro ou quarto trimestre.

    8. Desenvolva um algoritmo que receba um dia da semana e mostre suas tarefas nesses dias.

    9. Desenvolva um algoritmo que recebe dez nmero e mostre a soma desses nmeros.

    10. Desenvolva um algoritmo que receba quinze nmeros e mostre a soma dos nmeros pares.

    11. Desenvolva um algoritmo que receba um nmero e calcule o fatorial desse nmero.

    12. Desenvolva um algoritmo que receba um nmero e mostre o resultado da tabuada desse nmero.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    39/80

    37

    Lgica de Programao

    13. Desenvolva um algoritmo que recebe vinte nmeros e mostre o maior desses nmeros.

    14. Desenvolva um algoritmo que receba dois nmeros e calcule a soma do quadrado dessesnmeros.

    15. Desenvolva um algoritmo que receba dois nmeros e calcule a soma do cubo desses nmeros.

    16. Desenvolva um algoritmo que receba um nmero e mostre a raiz quadrada desse nmero.

    17. Desenvolva um algoritmo que receba duas notas e mostre a mdia aritmtica dessas notas.

    18. Desenvolva um algoritmo que um nmero inteiro e verifique se esse nmero divisvel por 3.

    19. Desenvolva um algoritmo que receba a medida do lado de um quadrado e mostre sua rea.

    20. Desenvolva um algoritmo que receba o raio de uma circunferncia e calcule a medida do seucomprimento.

    21. Desenvolva um algoritmo que receba o raio de um crculo e mostre sua rea.

    22. Desenvolva um algoritmo que receba trinta nmero e mostre a soma desses nmeros.

    23. Desenvolva um algoritmo que calcula o quadrado do nmeros de 10 a 20.

    24. Desenvolva um algoritmo que receba a idade de vinte pessoas e mostre a idade da pessoa maisnova.

    25. Desenvolva um algoritmo que receba dez nmeros e calcule a mdia desses dez nmeros.

    Estrutura de Repetio do para

    Estudo das estruturas de repetio do para simples nos algoritmos.

    Estrutura de repetio do Para no pseudocdigo

    Uma estrutura de repetio para pode ser utilizada quando o algoritmo precisa ter definido aquantidade de vezes que um conjunto de comandos deve ser executado.

    Na estrutura de repetio para, utiliza-se as palavras para, de, at, passo, faaque representamas palavras principais desta estrutura e a palavra fimpara; para determinar o fim do bloco de execuodesta estrutura. Por exemplo:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    40/80

    38

    para x de0 at2 passo +1faa escreva (O valor de x : , x);fimpara;

    O resultado da execuo deste exemplo :

    O valor de x 0O valor de x 1O valor de x 2

    Encadeamento

    Na estrutura de repetio para, utiliza-se as palavras para, de,at, passo, faa que representamas palavras principais desta estrutura e a palavra fimpara; para determinar o fim do bloco de execuodesta estrutura.

    Para um melhor entendimento do encadeamento nas estruturas de repetio para, observe oseguinte exemplo:

    Desenvolva um algoritmo que calcula o fatorial dos nmeros inteiros de 5 at 15.

    Algoritmo ExemploPara incio_algoritmo

    Declarari, num, fat inteiro;

    // processamento de dados paranum de5 at15 passo+1 faa fat num; para ide(num 1) at2passo1 faa fat fat * i;

    fimpara; escreva (O valor do fatorial de , num , , fat); // sada de dados fimpara;fim_algoritmo.

    Exemplo de Estrutura do Para em pseudocdigo

    1. Desenvolva um algoritmo que calcula a soma de todos os nmeros compreendidos entre 1 e 100.

    // na estrutura de repetioparaAlgoritmo Soma

    Declarar

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    41/80

    39

    Lgica de Programao

    i, s 0 inteiro; para i de1 at100 passo +1 faa s s + i; fimpara; escreva (A somatria de 1 at 100 , s);fim_algoritmo.

    2. Desenvolva um algoritmo que calcula a soma de todos os nmeros pares compreendidos entre 1e 100.

    // na estrutura de repetio para

    Algoritmo Soma

    Declarar i, s 0inteiro; para i de1 at 100 passo+1 faa se ((i mod 2) = 0) ento s s + i; fimse; fimpara; escreva (A somatria dos nmeros pares de 1 at 100 , s);fim_algoritmo.

    Estrutura de Repetio do enquanto, faa/enquanto e para

    Desenvolva um algoritmo que mostra um menu de opes para: calcular a soma de todos os nmeroscompreendidos entre 1 e 100; calcular a soma de todos os nmeros pares compreendidos entre 1 e 100;e calcular a soma de todos os nmeros divisveis por 3.

    Algoritmo Soma Declarar op, i, s 0 inteiro; faa escreva (Digite 1 para soma de todos os nmeros entre 1 e 100\n); escreva (Digite 2 para soma de todos os nmeros pares entre 1 e 100\n); escreva (Digite 3 para soma de todos os nmeros divisveis por 3 entre 1 e 100\n); escreva (Digite 0 para sair do programa\n); leia (op); escolha (op) caso 1 : incio i 1;

    enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    42/80

    40

    s s + i; i i + 1; fimenquanto; escreva (A somatria de 1 at 100 , s); fim; caso 2 : incio i 1; faa se ((i mod 2) = 0) ento s s + i; fimse; i i + 1; enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    43/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    44/80

    42

    Mostrando os elementos de um vetor

    Num vetor, os valores so mostrados para cada posio do vetor e a forma de mostrar os elementosna tela a mesma de qualquer varivel ou constante. Por exemplo:

    escrever (notas [0]);

    Estrutura de Vetores

    Estudo das estruturas de vetores nos algoritmos.

    1. Desenvolva um algoritmo que recebe 25 valores numricos inteiros e mostra esses nmeros.

    Algoritmo Mostrar

    incio_algoritmo Declarar// declarao de variveis e/ou constantes Vet [25] , iinteiro; // processamento de dados parai de0 at24 passo+ 1 faa escrever (Digite um valor inteiro); // mensagem ao usurio ler (Vet[i]); // entrada de dados escrever (Vet[i]);// sada de resultados fimpara; fim_algoritmo.

    2. Desenvolva um algoritmo que recebe 100 valores numricos inteiros e mostre a soma destes 100nmeros.

    AlgoritmoSomar incio_algoritmo Declarar// declarao de variveis e/ou constantes VetSoma [100] , i , soma!0 inteiro; // processamento de dados

    para i de0 at99 passo+ 1 faa escrever (Digite um valor inteiro); // mensagem ao usurio ler (VetSoma[i]); //entrada de dados soma!soma + VetSoma[i]; fimpara; escrever (A soma dos 100 valores digitados : , soma); // sada de resultados fim_algoritmo.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    45/80

    43

    Lgica de Programao

    3. Desenvolva um algoritmo que recebe 50 notas bimestrais, calcule e mostre a mdia aritmticadestas 50 notas.

    Algoritmo MediaAritmetica incio_algoritmo Declarar // declarao de variveis e/ou constantes i inteiro; Notas [50] , media, soma 0real; // processamento de dados parai de0 at49 passo+ 1 faa escrever (Digite uma nota); // mensagem ao usurio ler (Notas[i]); // entrada de dados soma soma + Notas[i]; fimpara;

    media soma/50; // processamento de dados escrever (A mdia das 50 notas digitadas : , media); // sada de resultados fim_algoritmo.

    Conceitos de Modularizao

    Estudo dos conceitos introdutrios de modularizao nos algoritmos.

    Necessidade da modularizao em programas

    Um dos pontos principais para o uso da modularizao a diviso do algoritmo em mdulos paraque ele seja melhor interpretado e desenvolvido. A diviso em mdulos facilita o entendimento parcialdo problema e entendendo todos os problemas parciais, no final, tem-se entendido o problema maior.

    Nesse contexto da modularizao, outro ponto essencial a possibilidade de se reutilizar cdigos, oque se d por meio da chamada de cdigo, uma cpia do algoritmo que se deseja repetir, quando sedesenvolve determinado mdulo.

    Construo de mdulos

    Para construir os mdulos, primeiro precisa-se analisar o problema e dividi-lo em partes principais,que so os mdulos. Por fim, precisa-se analisar todos os mdulos e o problema geral para garantir queo algoritmo mais os mdulos resolvem o problema de forma simples.

    Por exemplo, suponha que se quer desenvolver um algoritmo que recebe dois valores numricose uma opo do usurio que decide qual entre as quatro operaes bsicas da matemtica (soma,subtrao, diviso e multiplicao) ele quer resolver.

    Analisando este problema, pode-se dividi-lo em subproblemas, por exemplo, um menu de opespara que o usurio possa escolher uma operao matemtica, o clculo da soma, o clculo da subtrao,

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    46/80

    44

    o clculo da diviso e o clculo da multiplicao. Tem-se assim cinco mdulos para resolver o nossoproblema.

    Escopo de variveis

    O escopo de uma varivel constitui, na essncia, o reconhecimento dessa varivel dentro de umalgoritmo, a qual se divide em dois tipos: varivel global e varivel local.

    Uma varivel global aquela declarada no incio do algoritmo e pode ser utilizada por qualquer partedeste algoritmo, seja nos comandos do prprio algoritmo bem como dentro de qualquer mdulo quepertena ao algoritmo. Neste caso, sua declarao feita apenas uma nica vez, no sendo permitidoque o mesmo nome de varivel seja declarado dentro de qualquer outra parte do algoritmo, por exemplo,dentro de qualquer outro mdulo.

    Uma varivel local aquela declarada dentro de algum bloco, por exemplo, dentro de um mdulo. Nestecaso, esta varivel vlida e reconhecida somente dentro do bloco em que foi declarada. Assim, o mesmo nomede varivel pode ser declarado dentro de diferentes blocos, pois sero reconhecidas como uma nova varivel.

    Procedimentos e Funes

    Estudo dos procedimentos e funes nos algoritmos.

    Mdulos Procedimento

    Os mdulos procedimento so os mdulos que no retornam valor para o mdulo ou algoritmoque os tenham chamado. Neste sentido, esse tipo de mdulo utilizado quando o algoritmo principalou mdulo que chama o mdulo procedimento no necessita de retorno de qualquer dado do mdulo.

    Nos mdulos procedimento, utiliza-se as palavras incio_algoritmoe fimmduloque representamas palavras principais deste mdulo, ou seja, o incio e o fim do mdulo, respectivamente.

    Por exemplo, suponha que se quer desenvolver um mdulo que imprime o nome da disciplina e onome da instituio de ensino:

    Dados () incio Declarar

    disc, fac alfanumrico;

    disc Lgica de Programao; fac IBTA; escreva (nome da disciplina => , disc); escreva (nome da instituio de ensino => , fac); fimmdulo;

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    47/80

    45

    Lgica de Programao

    Mdulos Funo

    Os mdulos funo so os mdulos que retornam algum valor para o mdulo ou algoritmo queos tenham chamado. Neste sentido, esse tipo de mdulo utilizado quando o algoritmo principal ou

    mdulo que chama o mdulo funo necessita de retorno de qualquer dado do mdulo.Nos mdulos funo, utilizam-se as palavras incio e fimmdulo que representam as palavras

    principais deste mdulo, que representam o incio e o fim do mdulo, respectivamente. Alm dessaspalavras, utiliza-se a palavra retornar que a principal palavra do mdulo funo, pois a partir destecomando que um valor retornado para o algoritmo ou mdulo que o chamou.

    Note que os comandos dentro do mdulo so comuns queles de qualquer algoritmo, ou seja, comentrada de dados, processamento desses dados e sada de resultados. Note ainda que o valor de retornoenviado pelo comandoretornar precisa ser do mesmo tipo de dado declarado para o mdulo funo.

    Por exemplo, suponha que se quer desenvolver um mdulo que imprime o nome da disciplina e onome da instituio de ensino:

    alfanumricoDados ( ) incio Declarar

    disc, fac, mens alfanumrico;

    disc Lgica de Programao; fac IBTA; mens nome da disciplina => + disc + \nnome da instituio de ensino => + fac; retornar mens; fimmdulo;

    Procedimentos e Funes Parametrizados

    Estudo dos procedimentos e funes parametrizados nos algoritmos.

    Parametrizao de mdulos

    Cada mdulo interage com o mdulo principal ou mesmo com outros mdulos e, muitas vezes,quando os mdulos so chamados h a necessidade de enviar dados para que esses mdulos possamresolver o seu subproblema. Esses dados que so enviados para os mdulos so chamados de argumentosque so passados como parmetros aos mdulos.

    dentro dos parnteses que os argumentos so passados como parmetros aos mdulos.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    48/80

    46

    Quando se passa argumentos como parmetros, precisa-se identificar qual o tipo de dado serpassado como parmetro. Neste caso, cada argumento dever ser declarado no momento que o mdulofor desenvolvido.

    Nos mdulos procedimento, utilizarem-se as palavras incio e fimmdulo que representam aspalavras principais deste mdulo, ou seja, o incio e o fim do mdulo, respectivamente.

    Por exemplo, suponha que se quer desenvolver um mdulo que imprime o nome da disciplina e onome da instituio de ensino:

    Dados (alfanumrico disc, alfanumrico fac) incio escreva (nome da disciplina => , disc); escreva (nome da instituio de ensino => , fac);

    fimmdulo;

    Chamada dos mdulos

    Para o mdulo procedimento, basta fazer a chamada deste mdulo pelo nome do mdulo, passandoos respectivos dados como argumento se for necessrio.

    Para o mdulo funo, a chamada deste mdulo precisa estar vinculada a uma varivel, ou seja, oretorno de dado da chamada do mdulo funo deve ser atribudo a uma varivel cujo tipo de dado

    deve ser o mesmo que o dado que est sendo retornado. Neste caso, a passagem de dados comoargumentos, se for necessrio, no se difere do mdulo procedimento.

    Mdulo procedimento sem parametrizao

    A chamada dos mdulos procedimento sem parametrizao em pseudocdigo segue a seguinteregra sinttica:

    ();

    Por exemplo, a chamada do mdulo que imprime o nome da disciplina e o nome da instituio deensino desenvolvido anteriormente:

    Dados( );

    Mdulo funo sem parametrizao

    A chamada dos mdulos procedimento sem parametrizao em pseudocdigo segue o seguinteexemplo:

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    49/80

    47

    Lgica de Programao

    A chamada do mdulo que imprime o nome da disciplina e o nome da instituio de ensinodesenvolvido anteriormente:

    alfanumricom;m Dados ( );

    Mdulo procedimento com parametrizao

    A chamada dos mdulos procedimentos com parametrizao em pseudocdigo segue o exemplo:

    A chamada do mdulo que imprime o nome da disciplina e o nome da instituio de ensinodesenvolvido anteriormente:

    Dados (Lgica de Programao , Tcnico);

    Mdulo funo com parametrizao

    A chamada dos mdulos funo com parametrizao em pseudocdigo segue o seguinte exemplo:

    A chamada do mdulo que imprime o nome da disciplina e o nome da instituio de ensinodesenvolvido anteriormente:

    alfanumricom;m Dados (Lgica de Programao , Tcnico);

    Exemplos de Modularizao em Algoritmos

    Exemplos de funes e procedimentos em pseudocdigo.

    1. Desenvolva um algoritmo que recebe dois valores inteiro e o smbolo da operao conformetabela abaixo, calcula e mostra a operao efetuada:

    Smbolo da operao Nome da operao

    + adio- subtrao

    * multiplicao

    / diviso

    // mdulo funo Maisque recebe dois valores inteiros e retorna um valor inteirointeiroMais (n1 inteiro , n2inteiro) incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo

    res inteiro;

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    50/80

    48

    res!n1 + n2; // processamento de dados retornarres; // retorno do mdulo fimmdulo; // Mais

    // mdulo procedimento Menos que recebe dois valores inteirosMenos (n1 inteiro, n2 inteiro) incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo resinteiro; res!n1 - n2; // processamento de dados escrever (A diferena de , n1 , com , n2 , , res); // sada de resultados fimmdulo; // Menos

    // mdulo procedimentoVezesque recebe dois valores inteiros

    Vezes (n1 inteiro, n2inteiro) incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo resinteiro; res!n1 * n2; // processamento de dados escrever (O produto de , n1 , com , n2 , , res); // sada de resultados fimmdulo; // Vezes

    // mdulo funo Divididoque recebe dois valores inteiros e retorna um valor realreal Dividido (n1 inteiro, n2inteiro) incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo resreal; res!n1 / n2; // processamento de dados retornar res; // retorno do mdulo fimmdulo; // Dividido

    // mdulo principalAlgoritmoCalculo

    incio_algoritmo Declarar// declarao de variveis e/ou constantes que podem ser usados no algoritmo Calculo div real; soma, num1, num2 inteiro; oper alfanumrico; escrever (Digite dois inteiros e a operao); // mensagem ao usurio ler (num1, num2, oper); // entrada de dados // processamento de dados escolha(oper) caso+ :/* chamada do mdulo funo Mais, passando num1 e num2 como parmetro

    e atribuindo o retorno do mdulo na varivel soma */

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    51/80

    49

    Lgica de Programao

    soma Mais(num1 , num2); escrever (A soma de , num1 , com , num2 , , soma); // sada de resultados caso- : /* chamada domdulo procedimento Menos, passando num1 e num2 como

    parmetro*/ Menos (num1 , num2); caso * : /* chamada do mdulo procedimento vezes, passando num1 e num2 como

    parmetro */ Vezes (num1 , num2); caso / : /* chamada do mdulo funo Dividido, passando num1 e num2 como

    parmetro e atribuindo o retorno do mdulo na varivel div */ div!Dividido (num1 , num2); escrever (A diviso de , num1 , com , num2 , , div); // sada de resultados caso contrrio : escrever (operao invlida); // sada de resultados fimescolha;

    fim_algoritmo.

    2. Desenvolva um algoritmo que mostre um menu de opes para: calcular a soma de todos osnmeros compreendidos entre 1 e 100; calcular a soma de todos os nmeros pares compreendidosentre 1 e 100; e calcular a soma de todos os nmeros divisveis por 3.

    // mdulo procedimento MenuMenu() incio escreva (Digite 1 para soma de todos os nmeros entre 1 e 100\n); escreva (Digite 2 para soma de todos os nmeros pares entre 1 e 100\n); escreva (Digite 3 para soma de todos os nmeros divisveis por 3 entre 1 e 100\n); escreva (Digite 0 para sair do programa\n); fimmdulo;// Menu// mdulo funo SomaTudoque retorna um valor inteirointeiro SomaTudo () incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo s!0, i inteiro;

    i!1; // processamento de dados enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    52/80

    50

    incio Declarar // declarao de variveis que s podem ser usados dentro deste mdulo s!0, iinteiro; i!1; // processamento de dados faa se ((i mod par) = 0) ento s!s + i; fimse; i!i + 1; enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    53/80

    51

    Lgica de Programao

    SomaPares(2); caso 3 : /* chamada do mdulo funo SomaDivisivel3, passando o nmero 3 como parmetro

    e atribuindo o retorno do mdulo na varivel div */ div!SomaDivisivel3(3); // sada de resultados escreva (A somatria dos nmeros divisveis por 3 de 1 at 100 , div);

    caso0 : escreva (Saindo do programa!); caso contrrio : escreva (opo invlida, tente novamente); fimescolha; enquanto(op 0);fim_algoritmo.

    Exerccios 2

    Estrutura de repetio do para, vetores, matrizes, procedimentos e funes em algoritmos, LinguagemC e Linguagem Java.

    1. Escreva uma funo que receba dois nmeros inteiros e retorna a soma desses dois nmeros.

    2. Escreva uma funo que receba trs nmeros reais e retorna o produto desses nmeros.

    3. Escreva uma funo que receba um nmero e retorna verdadeiro se ele for positivo e falso casocontrrio.

    4. Escreva um procedimento que receba dois nmeros inteiros e mostre a soma desses dois nmeros.

    5. Escreva um procedimento que receba trs nmeros reais e mostre o produto desses nmeros.

    6. Escreva um que receba um nmero e mostre a informao se esse nmero par ou no.

    7. Desenvolva um algoritmo que recebe dez nmeros num vetor e mostre esses nmeros.

    8. Escreva uma funo que recebe um vetor e retorna o maior nmero desse vetor.

    9. Escreva um procedimento que recebe um vetor e mostre a soma dos nmeros desse vetor.

    10. Escreva um procedimento que recebe um vetor e mostre os nmeros pares desse vetor.

    11. Escreva uma funo que recebe um vetor e retornar a soma dos nmeros positivos desse vetor.

    12. Escreva uma funo que recebe uma matriz e retorna o maior nmero dessa matriz.

    13. Desenvolva um algoritmo que receba 50 nmeros e calcule a soma desses nmeros.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    54/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    55/80

    53

    Lgica de Programao

    Digite a quantidade de quilmetros percorridos (ou 0 para sair): 320

    Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 39

    Seu consumo neste abastecimento : 8.20 km/l

    Sua mdia de consumo : 8.20 km/l

    Digite a quantidade de quilmetros percorridos (ou 0 para sair): 360

    Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 37

    Seu consumo neste abastecimento : 9.73 km/l

    Sua mdia de consumo : 8.97 km/l

    Digite a quantidade de quilmetros percorridos (ou 0 para sair): 0

    Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 0

    Saindo...

    Atividade Complementar 2

    Desenvolva um programa em C e um programa em Java para a seguinte situao-problema.

    Voc foi encarregado de desenvolver um programa para uma empresa logstica responsvel porentregar encomendas entre cidades do Brasil. Seu programa dever armazenar as distancias entre as5 cidades mais atendidas pela transportadora. Voc dever utilizar os cdigos das cidades (1, 2, 3, 4 ou5) e as distncias devero ser armazenadas em uma tabela de distncias, conforme o exemplo abaixo:

    1 2 3 4 5

    1 0 39,5 73,2 58 622 39,5 0 36 25,4 86,8

    3 73,2 36 0 55,1 85,7

    4 58 25,4 55,1 0 23

    5 62 86,8 85,7 23 0

    O programa desenvolvido por voc dever inicialmente apresentar um menu com trs opes: 1)Cadastramento de distncias, 2) Consulta de distncias e 3) Sair do programa. No cadastramento dedistncias, seu programa dever pedir para o usurio informar a distncia entre a primeira e a segundacidade e armazen-la na tabela, em seguida fazer o mesmo entre a primeira e a terceira, e assim por diante

    at todas as distncias estarem cadastradas. Aps isso seu programa deve retornar ao menu inicial; Na

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    56/80

    54

    consulta de distncias, seu programa dever pedir para o usurio informar a cidade de origem e em seguidaa cidade de destino. Caso os cdigos das cidades sejam vlidos, seu programa dever retornar a distnciaentre as duas cidades armazenadas na tabela e em seguida retornar ao menu inicial. Caso o usurio digiteum cdigo incorreto, o sistema deve informar e pedir para que o usurio insira novamente um cdigo decidade; Caso o usurio escolha a terceira opo, o programa dever ser encerrado.

    Seu programa deve ser modularizado, utilizando um mdulo para apresentar o menu (mduloprocedimento sem parmetros), um mdulo para o cadastramento de distncias(mdulo funoque devolve a tabela de distncias) e outro mdulo para a consulta de distncias (mdulo funoparametrizado, que recebe como parmetro a tabela de distncia e devolve a distncia encontrada).

    OBS: Diferente do Java, o mdulo de cadastramentode usurios em C dever ser um mdulo procedimento querecebe a tabela de distncias. Para que a tabela informada

    seja modificada para acrescentar as distncias, ao utilizarmoso mdulo deveremos informar a tabela precedida do operador&. Ex:

    float distancias[5][5];

    Cadastro(&distancias);

    Atividade Complementar 3

    Crie um programa que simule um sistema de autenticao. O programa dever apresentar um menucom trs opes. Na primeira opo, o programa dever cadastrar os nomes e as senhas de 5 pessoase retornar ao menu principal. Na segunda opo, o programa dever perguntar o nome e a senha dapessoa que deseja acesso. Caso o nome entrado seja um dos cinco nomes cadastrados, o sistema devermostrar a mensagem Acesso liberado, e, caso contrrio, Acesso negado e voltar ao menu principal.Caso o usurio escolha a terceira opo, o sistema dever ser encerrado.

    Atividade Complementar 4

    O valor de pode ser calculado usando a seguinte srie:

    = 4 - 43

    + 45

    - 47

    + 49

    - 411

    + ...

    A preciso da aproximao do valor de depende da quantidade de termos da srie que utilizamospara fazer esse clculo. Crie um programa que calcule a aproximao do valor de utilizando n termosda srie acima. O programa dever pedir um nmero n ao usurio, e dever imprimir o valor aproximadodeusando n termos (conte o primeiro 4 como um termo). Caso o usurio digite um nmero menor doque 1, o programa dever solicitar ao usurio que entre outro nmero, repetindo isso at que o usurio

    digite um nmero inteiro maior ou igual a 1.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    57/80

    55

    Lgica de Programao

    Referncias bibliogrficas

    Tabuti, L. M. Lgica de Programao. Faculdade IBTA, 3a Edio. 2a Impresso. 2005.

    Tabuti, L. M. Estruturas de Dados. Faculdade IBTA, 2a Edio. 1a Impresso. 2005.

    Gabarito - Exerccios 1

    1.

    Algoritmo Somainicio var n1, n2, s inteiro;

    ler (n1, n2); s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    58/80

    56

    4.

    Algoritmo ParImparinicio var

    n inteiro; ler (n); se (n mod 2 = 0) ento escrever ( par); seno escrever ( mpar); fimse;fim.

    5.

    Algoritmo Notainicio var n real; ler (n); se (n >= 5) ento escrever (aprovado); seno se (nota >= 3) ento escrever (em recuperao); seno escrever (reprovado); fimse; fimse;

    fim.

    6.

    Algoritmo Semestreinicio var m inteiro; ler (m);

    se (m >= 1 e m

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    59/80

    57

    Lgica de Programao

    ento escrever (primeiro semestre); seno escrever (segundo semestre); fimse;fim.

    7.

    Algoritmo trimestreinicio var m inteiro; ler (m);

    escolha (m) caso 1, 2, 3 : escrever (primeiro trimestre); caso 4, 5, 6 : escrever (segundo trimestre); caso 7, 8, 9 : escrever (terceiro trimestre); caso 10, 11, 12 : escrever (quarto trimestre); caso contrrio: escrever (invlido); fimescolha;fim.

    8.

    Algoritmo tarefasinicio var dia alfanumrico;

    ler (dia); escolha (dia) caso segunda-feira, sexta-feira : escrever (estudar algoritmos);

    caso tera-feira : escrever (estudar matemtica); caso quarta-feira : escrever (estudar ingls); caso quinta-feira : escrever (estudar portugus); caso sbado : escrever (passear); caso domingo : escrever (descansar); caso contrrio : escrever (invlido);fim.

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    60/80

    58

    9.

    Algoritmo soma var i, n, s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    61/80

    59

    Lgica de Programao

    12.

    Algoritmo Tabuadainicio var t, i inteiro; ler (t); para i de 1 at 10 passo + 1 faa escrever (i , x , t , = , (t*i)); fimpara;fim.

    13.

    Algoritmo MaiorNumeroinicio var n, maior, i inteiro; ler (n); maior maior) ento maior

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    62/80

    60

    15.

    Algoritmo SomaQuadradoinicio var s, n1, n2 real; ler (n1, n2); s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    63/80

    61

    Lgica de Programao

    seno escrever (no divisvel por trs); fimse;fim.

    19.

    Algoritmo Areainicio var l, a real; ler (l); se (l > 0) ento

    a 0) ento c

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    64/80

    62

    se (r > 0) ento a

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    65/80

    63

    Lgica de Programao

    se (menor > id) ento menor

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    66/80

    64

    3.

    lgico Verifica (n inteiro)inicio se (n > 0) ento retornar verdadeiro; seno retornar falso; fimse;fim.

    4.

    Soma (n1 inteiro, n2 inteiro)inicio var s inteiro; s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    67/80

    65

    Lgica de Programao

    7.

    Algoritmo VetorNumerosinicio var Vet[10], n, i inteiro; para i de 0 at 9 passo +1 faa ler (n); Vet[i]

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    68/80

    66

    10.

    ParesVetor (Vet[] inteiro)inicio var i inteiro; para i de 0 at (Vet.tamanho-1) passo +1 faa se (Vet[i] mod 2 == 0) ento escrever (Vet[i]); fimse; fimpara;

    11.

    real PositivoVetor(Vet[] real)inicio var i, s 0) ento s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    69/80

    67

    Lgica de Programao

    13.

    Algoritmo Somainicio var s

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    70/80

    68

    ler (n); enquanto (i

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    71/80

    69

    Lgica de Programao

    20.

    real Maior (Vet[] real)inicio i, maior real; maior maior) ento maior

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    72/80

    70

    fimpara;fim.

    23.

    inteiro Potencia(a inteiro, b inteiro)inicio var i, pot = 1) faa pot

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    73/80

    71

    Lgica de Programao

    Gabarito - Atividade complementar 1

    algoritmo Pratica 1// Funo : Prtica de Programao// Autor : ETB Editora// Data : 08/05/2014// Seo de Declaraesvar contador: inteiro quilometros, litros: real consumoAtual: real consumoAcumulado: realinicio consumoAtual

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    74/80

    72

    resultado: realdistancias: vetor [0..4,0..4] de realfuncao Consulta: realvarorigem : inteirodestino: inteiroiniciorepita escreva (Digite o numero da cidade de origem: ) leia (origem) se (origem4) entao escreval (Numero invalido!) fimseate (origem>=0) e (origem=0) e (destino

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    75/80

    73

    Lgica de Programao

    escreva( ate ,j) escreva(: ) leia(distancias[i,j])// distancias[i,j]

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    76/80

    74

    iniciolibera

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    77/80

    75

    Lgica de Programao

    op

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    78/80

    76

    Suas anotaes

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    79/80

  • 8/11/2019 Lgica de Programao_Contedo PRONATEC (1).pdf

    80/80