A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Computacional Aula 2: Introdução -Algoritmos

Apresentações semelhantes


Apresentação em tema: "Programação Computacional Aula 2: Introdução -Algoritmos"— Transcrição da apresentação:

1 Programação Computacional Aula 2: Introdução -Algoritmos
Profa. Madeleine Medrano

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 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 ( ) 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 (a>b) 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

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 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
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. Independentemente 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 Imprima A Início Leia A e B A > B? Sim Não A recebe B Leia A; Leia B; Se A > 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


Carregar ppt "Programação Computacional Aula 2: Introdução -Algoritmos"

Apresentações semelhantes


Anúncios Google