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

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

Programação - algoritmia

Apresentações semelhantes


Apresentação em tema: "Programação - algoritmia"— Transcrição da apresentação:

1 6051 - Programação - algoritmia
Linguagens de programação Programas Linguagens de baixo nível Linguagens de alto nível Compiladores/interpretadores Gerações das linguagens

2 Algoritmo para que serve?
Um algoritmo é uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. São exemplos de algoritmos instruções de montagem, receitas, manuais de utilizador, etc. Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema. Em geral, existem muitos caminhos que levam a uma solução satisfatória. Algoritmo (não computacional) atravessar a rua Olhar para a direita (input) Olhar para a esquerda (input) Se vier um carro, então (Condição If… Then) Não atravessar (resultado se) Senão (Else) Atravessar (resultado senão) Fim do se (end if) Fim do algoritmo (end) Algoritmo (computacional) somar 2 números Ler o 1º número (input) Ler o 2º número (input) Soma= 1º numero + 2º número (cálculo) Mostrar o resultado da soma (output) Fim do algoritmo (end)

3 Linguagens de programação e programas
Linguagens de programação - Uma linguagem de programação é um método padronizado para comunicar instruções ao computador. Permite ao programador especificar precisamente - sobre que dados o computador vai atuar, - a forma como os dados serão armazenados ou transmitidos - quais ações devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão. Programas - Um programa de computador é um conjunto de instruções que descrevem uma tarefa a ser realizada por um computador. Tem que ser escrito numa linguagem de programação.

4 Low-level - high-level programming language Linguagens de baixo nível vs Linguagens de alto nível
Assambley CODE section .text global _start ;must be declared for using gcc _start: ;tell linker entry point mov eax,'3' sub eax, '0' mov ebx, '4' sub ebx, '0' add eax, ebx add eax, '0' mov [sum], eax mov ecx,msg mov edx, len mov ebx, ;file descriptor (stdout) mov eax, ;system call number (sys_write) int 0x80 mov ecx,sum mov edx, 1 int 0x ;call kernel mov eax, ;system call number (sys_exit) section .data msg db "The sum is:", 0xA,0xD len equ $ - msg segment .bss sum resb 1 Visual Básic high-level programming language linguagem de programação de alto nível Fortan; C; Pascal Uma linguagem entendida pelo programador – semelhante à linguagem corrente Linguagem assambley ADD; SUB; JUMP Linguagem do Instruction SET – entendível para o programador Low-level programming language linguagens de baixo nível Código Máquina / machine code A única linguagem entendida pelo computador Hardware “CPU”

5 Low-level - high-level programming language Linguagens de baixo nível vs Linguagens de alto nível
Existem dois tipos de linguagens de programação: Low-level programming language (linguagens de baixo nível) - é uma linguagem de programação que muito relacionada com o SET de instruções da máquina. É uma linguagem que está “perto do hardware”.  Programas escritos em linguagens de baixo nível tendem a ser relativamente não-portáteis, principalmente por causa da estreita relação entre a linguagem e a arquitetura de hardware. Para esta programação pode ser usada:   - linguagem máquina machine code - A única linguagem entendida pelo computador. (apenas entendível pelo computador, constituída por zeros e uns , não entendível para humanos) ou    - linguagem assambley ou assembler que utiliza a já referida linguagem do Instruction SET (ADD; SUB; JUMP; etc.. ). Contudo, e apesar de ser uma linguagem de baixo nível é necessário traduzi-la para linguagem máquina, para que seja entendível pelo computador, para esse efeito é utilizado um tradutor ou assembler. ex: ADD; SUB; JUMP  >>> ASEMBLER >>>>> Computador high-level programming language (linguagem de programação de alto nível) é uma linguagem de programação distante do código máquina em comparação com linguagens de programação de baixo nível. Podem ser usados elementos da linguagem natural tornando-se mais fácil aos humanos, alias foi com esse propósito que foi inventada. Exemplo C++ que utiliza caracteres como +*-/ sem recorrer a palavras do SET de instruções ou a código binário.

6 Compiladores/interpretadores
Compiladores/interpretadores - Um compilador é um programa de computador (ou um grupo de programas). Classicamente, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina, específica para um processador e sistema operativo. O nome "compilador" é usado principalmente para os programas que traduzem o código fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível (por exemplo, Assembly ou código de máquina). Linguagem de programação de baixo nível, Assembly Compiladores/interpretadores traduz programação de alto nível PROGRAM Teste; VAR Número: INTEGER; BEGIN Número: =10; END.

7 Gerações das linguagens
Primeira geração (linguagem de máquina)- São linguagens onde suas estruturas de controlo são aparentemente orientadas à máquina. Uma linguagem típica desta geração é a linguagem Fortran. Segunda geração (linguagens de montagem (assembly)) - São linguagens onde as estruturas de controlo são estruturadas de forma a minimizar ou dispensar o uso de instruções GOTO. Uma linguagem típica desta geração é o Algol. Terceira geração (Linguagens baseadas em procedimentos) - São linguagens que dão ênfase à simplicidade e eficiência. Uma linguagem típica desta geração é a linguagem Pascal. As estruturas de controlo são mais simples e eficientes. Quarta geração (Linguagens baseadas em aplicações) – Esta é uma geração linguagens com abstração de dados. A maioria das linguagens desta geração focam na modularização e no encapsulamento. Uma linguagem típica desta geração é a linguagem Ada. Quinta geração (Linguagens voltadas para a Inteligência artificial como as linguagens lógicas (Prolog) e as linguagens funcionais (Lisp).)


Carregar ppt "Programação - algoritmia"

Apresentações semelhantes


Anúncios Google