0% acharam este documento útil (0 voto)
39 visualizações16 páginas

Aula 2 - EAC

Enviado por

paulo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
39 visualizações16 páginas

Aula 2 - EAC

Enviado por

paulo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd

Ano letivo 2024/2025

2EAC –
Sistemas
Digitais

no letivo 2021/2022
Sumário

UFCD 5371 Programação – algoritmia


Conceitos introdutórios, Linguagens de programação
Programas, Linguagens de baixo nível, Linguagens de alto nível e
Compiladores/interpretadores

2
UFCD 5371 Programação -
algoritmia

✘ https://catalogo.anqep.gov.pt/ufcdDetalhe/53
71

3
O que é uma linguagem de
programação?

✘ Não são mais do que um conjunto de palavras utilizadas na escrita de


programas, de acordo com léxico próprio sujeito a uma determinada
estrutura.

4
O que é 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.

5
Linguagens de baixo nível vs
Linguagens de alto nível
Assambley CODE
section .text
global _start ;must be declared for using gcc
int 0x80
mov ecx,sum
_start: ;tell linker entry point
mov edx, 1
mov eax,'3'
mov ebx,1 ;file descriptor (stdout)
sub eax, '0'
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov ebx, '4'
sub ebx, '0'
mov eax,1 ;system call number (sys_exit)
add eax, ebx
int 0x80 ;call kernel
add eax, '0'
section .data
mov [sum], eax
msg db "The sum is:", 0xA,0xD
mov ecx,msg
len equ $ - msg
mov edx, len
segment .bss
mov ebx,1 ;file descriptor (stdout)
sum resb 1
mov eax,4 ;system call number (sys_write)

6
Linguagens de baixo nível vs
Linguagens de alto nível

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
Low-level programming language
programador
linguagens de baixo nível
Código Máquina / machine code
01010101 A única linguagem entendida pelo computador

7
Programas

Programa – Conjunto de instruções organizadas de uma forma lógica e previamente


estabelecida. Permitindo ao computador executar as tarefas que lhe são pedidas.

Programa Fonte – É o texto que escrevemos numa linguagem de


programação.

Programa Objeto – É o programa que se obtém após se ter traduzido o programa-


fonte.

8
Linguagens de baixo nível vs
Linguagens de alto nível

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.

9
Linguagens de baixo nível
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 01010101, não entendível para humanos)

10
Linguagens de baixo nível

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

11
Linguagens de Alto nível

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

12
Compiladores/interpretadores

Um compilador é um programa de computador (ou um grupo de programas),


que 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).

13
Compiladores/interpretadores
Linguagem de programação de baixo nível,
Assembly

Compiladores/interpretadores

programação de alto nível


PROGRAM Teste;
VAR traduz
Número: INTEGER;
BEGIN
Número: =10;
END.

14
Desafio!

Elabora uma apresentação sobre a


evolução das linguagens de programação.

15
16

Dúvidas?

Você também pode gostar