fundamento de pogramacao

23
Introdução a Programação Eng. Lourenço S. Roberto

Upload: ginho-canivete-gb

Post on 28-Sep-2015

24 views

Category:

Documents


0 download

DESCRIPTION

Introducao . aula 1

TRANSCRIPT

  • Introduo a ProgramaoEng. Loureno S. Roberto

  • TopicosConceitos de programao e algortmosLinguagensTradutoresTipos de Algortmos (Introduo)

  • Algoritmos e ProgramaUma definio intuitiva para algoritmos : O Algoritmo uma descrio de aes (passo-a-passo) que seguem uma lgica para alcanar um objetivo. Uma definio formal para algoritmos : O Algoritmo uma sequncia de aes finitas encadeadas e lgicas que descrevem como um determinado problema deve ser resolvido. Caractersticas de algoritmos rigoroso em sua definioLegibilidadeClareza e objectividade

    PROGRAMA uma adaptao ou codificao de um algoritmo atendendo as regras de uma linguagem especifica.

  • Os algoritmos so importante porque conseguimos visualizar e testar ainda no papel, a soluo criada com lgica de programao sem nos preocupar com detalhes computacionais e uma vez concebida uma soluo algortmica para um problema, esta pode ser traduzida facilmente para qualquer linguagem de programao e ser agregada das funcionalidades disponveis nos diversos ambientes, ou seja, a codificao.

    Importancia do Algoritmo

  • LinguagensLinguagem o sistema atravs do qual o homem comunica suas ideias e sentimentos, seja atravs da fala, daescritaou de outros signos convencionais. Lingustica o nome da cincia que se dedica ao estudo da linguagem.

  • Linguagem de ProgramaoUma linguagem de programao um conjunto de regras sintticas e semnticas usadas para definir um programa de computador (WIKIPEDIA, 2010).

    Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento de dados, devemos escrever um programa ou varios programas interligados. No entanto, para que o computador compreenda e execute esse programa, devemos escreve-lo usando uma linguagem que tanto o computador quanto o criador de software entendam. Essa linguagem e chamada de linguagem de programao (ASCENCIO & CAMPOS, 2008).

    Linguagens de programao so importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.

  • Classificao das linguagens de Programao

    Quanto ao grau de abstrao

    Quanto gerao

  • Quanto ao grau de abstraoLinguagem de programao de baixo nivel, cujos simbolos so uma representao direta do codigo de maquina que sera gerado, onde cada comando da linguagem equivale a um "opcode" do processador, como Assembly.Linguagem de programaco de mdio nivel, que possui simbolos que podem ser convertidos diretamente para codigo de maquina (goto, expressoes matematicas, atribuio de variaveis), mas tambem simbolos complexos que so convertidos por um compilador. Exemplo: C, C++.Linguagem de programaco de alto nivel, composta de simbolos mais complexos, inteligivel pelo ser humano e no-executavel diretamente pela maquina, no nivel da especificao de algoritmos, como Pascal, Fortran, ALGOL e SQL.

  • Quanto geraoPrimeira gerao, as linguagens de baixo nivel (Assembly).Segunda gerao, as primeiras linguagens (Fortran, ALGOL,...)Terceira gerao, as procedurais e estruturadas (Pascal, C).Quarta gerao, linguagens que geram programas em outras linguagens (Java, C++), linguagens de consulta (SQL).Quinta gerao, linguagens lgicas (Prolog).

  • TradutoresO objectivo de qualquer linguagem a comunicao entre duas partes (emissor e receptor). Em LP, a comunicao ocorre entre o programador e um programa tradutor. Cujo objectivo aceitar um conjunto de instrues escritas em uma LP de alto nvel, que independente da mquina, e fazer com que as actividades especificadas por estas instrues sejam executadas pelo computador.Ou seja, como os computadores s podem executar programas escritos em linguagem mquina, programas escritos em linguagem de alto nvel devem ser traduzidos para verses equivalentes em linguagem mquina, antes de serem executados.

    Existem dois tipos fundamentais de tradutores: interpretadores e compiladores.

  • InterpretadoresAs instrues definidas na linguagen de alto nvel so executadas directamente.Ele traduz um comando de um programa de cada vez e ento chama uma rotina para completar a execuo do comando.Mais precisamente, um interpretador um programa que executa repetidamente a seguinte sequncia:Pega a prxima instruo;Determina as aces a serem executadas;Executa estas aces

  • CompiladoresProduz a partir do programa de entrada, outro programa que equivalente ao original, porm numa linguagem que executvel.

    Este programa resultante pode ser emu ma linguagem que directamente executvel, tal como linguagem de mquina, ou indirectamente executvel, tal como outra linguagem para o qual j existe um tradutor.

  • Interpretador X CompiladorInterpretao, apesar de ter um tempo maior de execu, tem a vantage de no traduzir intrues que nunca so executadas e de conseguir voltar instruo correspondente na LP a partir de qualquer ponto da execuo.O compilador precise traduzir cada instruo somente uma vez, independente de quantas vezes a instruo executada. Isto aplica-se tanto no caso de iterao como no caso de execues repetidas do mesmo programa.

    As vantagens de um compilador em geral superam as do interpretador na prtica, o que faz com que esta forma de traduo seja uma das mais usadas.

  • Etapas para o desenvolvimento de um programa1. Analise Nesta etapa, estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saida.2. Algoritmo Ferramentas do tipo descrio narrativa, fluxograma ou portugues estruturado so utilizadas para descrever o problema com suas solucoes.3. Codificao O algoritmo transformado em codigos da linguagem de programao escolhida para se trabalhar.

  • Regras para construo do Algoritmo Para escrever um algoritmo precisamos descrever a seqncia de instrues, de maneira simples e objetiva. Para isso utilizaremos algumas tcnicas: 1. Usar somente um verbo por frase 2. Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica ou cincias exatas 3. Usar frases curtas e simples 4. Ser objetivo 5. Evite usar palavras que tenham sentido dbio 6. Procure dividir o problema em etapas menores.

  • Tipos de AlgoritimosExistem diversas formas de representao de algoritmos, mas no h um consenso com relao melhor forma delas. O critrio usado para classificar hierarquicamente estas formas est diretamente ligado ao nvel de detalhe, inversamente ao grau de abstrao oferecido.

    Dentre as formas de representao de algoritmo mais conhecidas, destacam-se: A descrio narrativa; O pseudocdigo (tambm conhecido como linguagem estruturada ou Portugol); O fluxograma convencional.

  • I. Descrio Narrativa

    Nesta forma de representao, os algoritmos so expressos em linguagem natural, por exemplo: ALGORITMO (RECEITA DE BOLO) PASSO 00: Separar os ingredientes; PASSO 01: Bater duas claras em neve; PASSO 02: Adicionar duas gemas; PASSO 03: Adicionar uma xcara de acar; PASSO 04: Adicionar duas colheres de manteiga; PASSO 05: Adicionar uma xcara de leite de coco; PASSO 06: Adicionar farinha e fermento; PASSO 07: Verificar se est doce o suficiente; PASSO 08: Colocar numa forma e levar ao forno em fogo brando; PASSO 09: Retirar do forno; PASSO 10: Tirar da forma e servir; FIM

  • Uma vantagem deste tipo de algoritmo e sua facilidade, pois no ha necessidade de novos conhecimentos para empregalo.Uma desvantagem e a abertura para varias interpretacoes que a linguagem natural proporciona.

  • II. Pseudocdigo

    O pseudocdigo uma tcnica narrativa denominada, tambm conhecida como portugus estruturado ou chamada por alguns de portugol. A maioria esmagadora das linguagens de programao de computadores em lngua inglesa. Para facilitar o aprendizado de lgica de programao foram criadas algumas pseudolinguagens. Basicamente, uma notao para algoritmos, a ser utilizada na definio, criao, desenvolvimento e documentao dos programas .Algumas Palavras Chave:Inicio, Fim, Algoritmo, Enquanto, Se, ento, Para, At, At que, Leia, Escreva, Faa, Repita, FimSe, FimEnquanto, FimSelecione, entre outras que veremos adiante.

  • Programa mdia Incio Var Nome: caractere N1, N2: real Soma, mdia: real Imprima Informe nome e notas do aluno: Leia nome Leia n1 Leia n2 Soma
  • Fluxograma Sabemos que uma figura fala por mil palavras. No processo de aprendizado fixamos com mais facilidade imagens do que conceitos escritos. Consiste em analisar o enunciado do problema e escrever, utilizando simbolos graficos definidos, os passos para a solucao do problema. Uma vantagem e a simplicidade que os elementos graficos proporcionam para o entendimento. Uma desvantagem e a necessidade de aprender a simbologia do fluxograma.

    Fluxograma uma ferramenta usada e desenvolvida pelos profissionais de anlise de sistemas, bem como, por alguns profissionais de Organizao, Sistemas e Mtodos.

  • ExemploFaa um algoritmo para mostrar o resultado da multiplicao de dois numeros.

  • Bibliografiahttps://www.inf.pucrs.br/~gustavo/disciplinas/pli/material/paradigmas-aula08.pdf