Algoritmo e Lógica de Programação - dca.ufrn.br lmarcos/courses/DCA800/pdf/algoritmos_  · 6.5 Exercícios

  • View
    213

  • Download
    0

Embed Size (px)

Text of Algoritmo e Lógica de Programação - dca.ufrn.br lmarcos/courses/DCA800/pdf/algoritmos_  · 6.5...

  • Algoritmo e Lgica de programao

    - 1 -

    Universidade Federal do Rio Grande do Norte Centro de Tecnologia

    Departamento de Computao e Automao

    Algoritmo e Lgica de Programao Algoritmos Parte 1

    DCA 800 Eng. Qumica

    Maio / 2004

  • Algoritmo e Lgica de programao

    - 2 -

    Captulo 1 ........................................................................................................... 3 Introduo....................................................................................................... 3

    1. Conceito de Algoritmo............................................................................. 3 1.1 Algumas Definies de Algoritmo ......................................................... 3

    Captulo 2 ........................................................................................................... 4 Formas de Representao de Algoritmos....................................................... 4

    2.1 Descrio Narrativa............................................................................... 4 2.2 Fluxograma Convencional..................................................................... 4 2.3 Pseudocdigo ....................................................................................... 5 2.4 Sntese .................................................................................................. 6

    Captulo 3 ........................................................................................................... 7 Tipos de Dados............................................................................................... 7

    3.1 Dados Numricos.................................................................................. 7 3.2 Dados Literais ....................................................................................... 8 3.3 Dados Lgicos ...................................................................................... 9 3.4 Sntese .................................................................................................. 9 3.5 Exerccio Proposto .............................................................................. 10

    Captulo 4 ......................................................................................................... 11 Variveis ....................................................................................................... 11

    4.2 Armazenamento de Dados na Memria.............................................. 11 4.3 Conceito e Utilidade de Variveis ....................................................... 13 4.4 Definio de Variveis em Algoritmos................................................. 14 4.5 Sntese ................................................................................................ 15 4.6 Exerccios Propostos........................................................................... 15

    Captulo 5 ......................................................................................................... 24 Expresses ................................................................................................... 24

    5.1 Conceito .............................................................................................. 24 5.2 Operadores ......................................................................................... 24 5.3 Tipos de Expresses........................................................................... 25 5.4 Sntese ................................................................................................ 27 5.6 Exerccios Propostos........................................................................... 28

    Captulo 6 ......................................................................................................... 27 Instrues Primitivas..................................................................................... 27

    6.1 Instruo Primitiva de Atribuio......................................................... 28 6.2 Instruo Primitiva de Sada de Dados ............................................... 29 6.3 Instruo Primitiva de Entrada de Dados .............................................. 1 6.4 Sntese ................................................................................................ 32 6.5 Exerccios Resolvidos ......................................................................... 32 6.6 Exerccios Propostos........................................................................... 36

  • Algoritmo e Lgica de programao

    - 3 -

    Captulo 1

    Introduo

    1. Conceito de Algoritmo

    A automao o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por mquinas, sejam estes dispositivos mecnicos, eletrnicos (como os computadores) ou de natureza mista.

    Para que a automao de uma tarefa seja bem-sucedida necessrio que a mquina que passar a realiz-la seja capaz de desempenhar cada uma das etapas constituintes do processo a ser automatizado com eficincia, de modo a garantir a repetibilidade do mesmo. Assim, necessrio que seja especificado com clareza e exatido o que deve ser realizado em cada uma das fases do processo a ser automatizado, bem como a seqncia em que estas fases devem ser realizadas.

    especificao da seqncia ordenada de passos que deve ser seguida para a realizao de uma tarefa, garantindo a sua repetibilidade, d-se o nome de algoritmo.

    Ao contrrio do que se pode pensar, o conceito de algoritmo no foi criado para satisfazer s necessidades da computao. Pelo contrrio, a programao de computadores apenas um dos campos de aplicao dos algoritmos. Na verdade, h inmeros casos que podem exemplificar o uso (involuntrio ou no) de algoritmos para a padronizao do exerccio de tarefas rotineiras (vide exemplos da Seo 2.1). No entanto, daqui adiante a ateno desta apostila estar voltada automao de tarefas utilizando computadores.

    Para que um computador possa desempenhar uma tarefa necessrio que esta seja detalhada passo-a-passo, numa forma compreensvel pela mquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais que um algoritmo escrito numa forma compreensvel pelo computador (linguagem de programao).

    1.1 Algumas Definies de Algoritmo

    "Serve como modelo para programas, pois sua linguagem intermediria linguagem humana e s linguagens de programao, sendo ento, uma boa ferramenta na validao da lgica de tarefas a serem automatizadas."

    Os algoritmos, servem para representar a soluo de qualquer problema, mas no caso do Processamento de Dados, eles devem seguir as regras bsicas de programao para que sejam compatveis com as linguagens de programao.

  • Algoritmo e Lgica de programao

    - 4 -

    Captulo 2

    Formas de Representao de Algoritmos

    Existem diversas formas de representao de algoritmos, mas no h um consenso com relao melhor delas.

    O critrio usado para classificar hierarquicamente estas formas est diretamente ligado ao nvel de detalhe ou, inversamente, ao grau de abstrao oferecido.

    Algumas formas de representao de algoritmos tratam os problemas apenas em nvel lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com alguma linguagem de programao especfica. Por outro lado existem formas de representao de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer as idias principais do algoritmo, dificultando seu entendimento.

    Dentre as formas de representao de algoritmos mais conhecidas podemos citar:

    Descrio Narrativa;

    Fluxograma Convencional;

    Pseudocdigo, tambm conhecido como Linguagem Estruturada ou Portugol.

    2.1 Descrio Narrativa

    Nesta forma de representao os algoritmos so expressos diretamente em linguagem natural. Como exemplo, tm-se os algoritmos seguintes:

    Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado ento despeje sobre a mistura Leve a forma ao forno Enquanto no corar deixe a forma no forno Retire do forno Deixe esfriar

    Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas

    Tomando um banho: Entrar no banheiro e tirar a roupa Abrir a torneira do chuveiro Entrar na gua Ensaboar-se Sair da gua Fechar a torneira Enxugar-se Vestir-se

    Clculo da mdia de um aluno: Obter as suas 2 notas de provas Calcular a mdia aritmtica Se a mdia for maior que 7, o aluno foi aprovado, seno ele foi reprovado

  • Algoritmo e Lgica de programao

    - 4 -

    Esta representao pouco usada na prtica porque o uso da linguagem natural muitas vezes d oportunidade a ms interpretaes, ambigidades e imprecises.

    Por exemplo, a instruo "afrouxar ligeiramente as porcas" no algoritmo da troca de pneus est sujeita a interpretaes diferentes por pessoas distintas. Uma instruo mais precisa seria: "afrouxar a porca, girando-a 30 no sentido anti-horrio".

    2.2 Fluxograma Convencional

    uma representao grfica de algoritmos onde formas geomtricas diferentes implicam aes (instrues, comandos) distintos. Tal propriedade facilita o entendimento das idias contidas nos algoritmos e justifica sua popularidade.

    Esta forma aproximadamente intermediria descrio narrativa e ao pseudocdigo (subitem seguinte), pois menos imprecisa que a primeira e, no entanto, no se preocupa com detalhes de implementao do programa, como o tipo das variveis usadas.

    Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nvel fsico da implementao do algoritmo. Por exemplo, figuras geomtricas diferentes so adotadas para representar operaes de sada de dados r