Programa - PowerPoint PPT Presentation

About This Presentation
Title:

Programa

Description:

Programa o Computacional Aula 2: Introdu o -Algoritmos Profa. Madeleine Medrano madeleine_at_icte.uftm.edu.br – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 30
Provided by: Back76
Category:
Tags: programa

less

Transcript and Presenter's Notes

Title: Programa


1
Programação ComputacionalAula 2 Introdução
-Algoritmos
  • Profa. Madeleine Medrano
    madeleine_at_icte.uftm.edu.br

2
Roteiro
  • Termos técnicos
  • Algoritmos
  • Conceito de Algoritmo
  • Partes de um algoritmo
  • Representação de um algoritmo
  • Fluxograma
  • Programas de computador
  • Linguagens
  • Linguagem Natural
  • Linguagem de Maquina e Assembler
  • Linguagem de Programação
  • Pseudocódigo

3
Alguns Termos Técnicos
  • Hardware Componentes mecânicos e eletro-
    eletrônicos que compõem o computador. Parte dura
    do computador.
  • Software Sequencia de instruções e comandos que
    fazem o computador realizar determinada tarefa.
  • Também chamados de programas de computador. Devem
    estar armazenados em algum tipo de memória.
  • Exemplos contabilidade, folha de pagamento,
    correção de provas.

4
Alguns Termos Técnicos
  • Periférico É qualquer componente do computador
    (hardware) que não seja a CPU.
  • Exemplos leitoras de disquete, CDs, monitores,
    teclados, vídeo, impressoras, etc.

5
Alguns Termos Técnicos
  • Sistema Operacional Coleção de programas que
    gerencia e aloca recursos de hardware e software.
  • Exemplos de tarefas que um sistema operacional
    realiza são
  • leitura de dados pelo teclado,
  • impressão de informações no monitor,
  • gerenciamento da execução de vários programas
    pela CPU,
  • gerenciamento da memória principal e da memória
    secundária para uso dos programas em execução,
    etc.
  • Exemplos Linux,Unix, Windows98, OS2, MS-DOS, etc.

6
Alguns Termos Técnicos
  • Linguagens de Programação
  • Conjunto de instruções que podem ser
    interpretados e executados diretamente pela CPU
    de um dado computador.
  • É específica para cada computador.
  • Serve como meio de comunicação entre o individuo
    que deseja resolver um determinado problema e o
    computador
  • Gerações de linguagens
  • 1ª geração linguagens em nível de maquina
  • 2ª geração linguagens de montagem (Assembly)
  • 3ª geração linguagens orientadas à aplicações
  • 4ª geração linguagens orientadas à modularização
  • 5ª geração linguagens de conhecimento

7
1ª Geração Linguagens em nível de máquina
  • Instrução 0010 0001 0110 1100
  • realiza a soma (código de operação 0010) do dado
    armazenado no registrador 0001, com o dado
    armazenado na posição de memória 108 (0110 1100)
  • Programa sequência de zeros e uns
  • programação trabalhosa, cansativa e fortemente
    sujeita a erros

8
2ª geração Linguagens de Montagem (Assembly)
  • (Linguagem de Baixo Nível)
  • Representação da linguagem de máquina através de
    códigos mnemônicos. Também é específica de cada
    máquina.
  • minimizar as dificuldades da programação em
    notação binária
  • Códigos de operação e endereços binários foram
    substituídos por mnemônicos¹
  • ADD R1, TOTAL
  • R1 representa o registrador 1 e TOTAL é o nome
    atribuído ao endereço de memória 108
  • processamento requer tradução para linguagem de
    máquina
  • ¹ Conjunto de técnicas utilizadas para auxiliar o
    processo de memorização

9
3ª geração Linguagens Orientadas à Aplicação
  • Surgiram na década de 60
  • FORTRAN, Pascal, COBOL
  • O foco deixa de ser no processador / instruções
  • Programa em C
  • if (agtb) printf (O valor de A é maior que o
    valor de B)
  • else printf (O valor de A é menor que o valor de
    B)

10
4ª geração Linguagens Orientadas à Módulos
  • Esta geração é essencialmente o sinônimo para
    linguagens com abstração de dados.
  • A maioria das linguagens desta geração focam na
    modularização e no encapsulamento
  • Ada

11
5ª geração Linguagens de Conhecimento
  • mecanismos da área de inteligência artificial
  • Sistemas especialistas, processadores de língua
    natural e sistemas com bases de conhecimento
  • Um sistema de 5ª geração armazena conhecimento
    complexo de modo que a máquina pode obter
    inferências a partir da informação codificada
  • PROLOG, LISP
  • http//www.pandorabots.com/pandora/talk?botidf5d9
    22d97e345aa1

12
Níveis de linguagem
  • linguagens de baixo nível
  • primeira e segunda geração
  • linguagens de alto nível
  • terceira geração em diante
  • Linguagem de alto nível
  • Linguagem que independe do conjunto de instruções
    da linguagem de máquina do computador.
  • Cada instrução de alto nível equivale a várias
    instruções da linguagem de máquina, sendo assim
    mais produtiva. Ex. Pascal, C, Algol, BASIC,
    Lisp, Prolog, etc.
  • PS no site http//www2.latech.edu/acm/HelloWorld
    .shtml, você pode encontrar o programa Hello
    World implementado em dezenas de linguagens

13
Tradutores de linguagens de programação
14
Tradutores de linguagens de programação
15
Tradutores de linguagens de programação
  • Tradutor
  • programa que recebe como entrada um programa
    escrito em uma linguagem de programação (dita
    linguagem fonte) e produz como resultado as
    instruções deste programa traduzidas para
    linguagem de máquina (chamada linguagem objeto).
  • Se a linguagem do programa fonte é uma linguagem
    de montagem (Assembly)
  • tradutor é chamado de Montador (Assembler)
  • Tradutores que traduzem os programas escritos em
    linguagem de alto nível
  • compiladores e os interpretadores

16
Tradutores de linguagens de programação
  • Compilador
  • Tradutor de programas escritos em uma linguagem
    de programação de alto nível para programas em
    linguagem de máquina ou linguagem executável.
  • pode ser executado uma ou mais vezes no futuro
  • enquanto o código fonte do programa não for
    alterado, ele poderá ser executado sucessivas
    vezes, sem necessidade de nova compilação

17
Compilador
18
Interpretador
  • É um programa que executa outros programas
    escritos em alguma linguagem de programação,
    instrução a instrução, enquanto ele vai sendo
    executado
  • A execução de um programa interpretado é em geral
    mais lenta que o programa compilado.
  • Por outro lado, o uso de programas interpretados
    permite que trechos de códigos possam ser
    trocados por novos facilmente, fazendo com que o
    programa fonte possa mudar durante sua execução.
  • Este é um dos grandes motivos de se usar
    programas interpretados em sistemas
    especialistas.
  • Duas linguagens para as quais podemos encontrar
    interpretadores são Lisp e Prolog.

19
Interpretador
Cada vez que um programa interpretado tiver que
ser re-executado, todo o processo de
interpretação deverá ser refeito. Independentemen
te de ter havido ou não modificações no código
fonte do programa desde sua última execução
20
Software básico
  • Utilitários
  • Softwares de apoio à solução de problemas de
    disco, memória, etc
  • Desfragmentador, limpeza de disco...
  • Compactadores e descompactadores de arquivos,
    programas anti-virus
  • Vírus
  • Programas capazes de se instalar de forma
    clandestina nos sistemas
  • Podem adotar procedimentos perturbadores
  • fazer uma bolinha pular na tela
  • declaradamente destrutivos (apagar informações)

21
Algoritmo
  • É a descrição de uma sequencia finita de ações
    para realizar alguma tarefa.
  • Nesta aula estaremos interessados em algoritmos
    computacionais, que escrevem uma sequencia de
    ações que podem ser traduzidos para alguma
    linguagem de programação

22
Algoritmos
  • Algoritmos usam dados e
  • produzem um resultado.
  • - uma sequência de instruções
  • para solucionar um problema
  • Um passo de um algoritmo
  • Lê dados armazenados no
  • computador.
  • Executa operações matemáticas e lógicas sobre
    dados.
  • Armazena resultados.

23
Algoritmo Bolo de Chocolate
  • Aqueça o forno a 180o C
  • Unte uma forma redonda
  • Numa taça
  • Bata
  • 75g de manteiga
  • 250g de açúcar
  • até ficar cremoso
  • Junte
  • 4ovos, um a um
  • 100g de chocolate derretido
  • Adicione aos poucos 250g de farinha peneirada
  • Ponha a massa na forma
  • Leve ao forno durante 40 minutos

24
Pseudo-código e Fluxograma
  • Ex. imprimir maior valor

Leia A Leia B Se A gt B então Imprima
A Senão Imprima B Fim Se
25
Algoritmo de Euclides
  • Um exemplo é o algoritmo de Euclides para
    calcular o máximo divisor comum de dois números
    inteiros positivos.
  • Passo 1 Adote x m e y n
  • Passo 2 Adote r (resto de x dividido por y)
  • Passo 3 Adote novos valores x y e y r
  • Passo 4 Se r é diferente de 0, volte ao passo 2
    senão pare com a resposta x.

26
Algoritmo de Euclides Estilizado
  • Passo1 Dados m e n.
  • Passo2 x ? m.
  • Passo3 y ? n.
  • Passo4 Repita
  • Passo4.1 r ? resto(x, y)
  • Passo4.2 x ? y
  • Passo4.3 y ? r
  • Passo4.4 Até que r 0.
  • Passo5 Imprima o resultado x.

27
Um programa em C
28
Algoritmo de Euclides em Linguagem C
29
Fim da apresentação
  • Obrigada pela atenção
Write a Comment
User Comments (0)
About PowerShow.com