Universidade Federal do Vale do São Francisco
Curso de Engenharia da Produção / Elétrica
Algoritmos e Programação – Parte 02
Prof. Jairson Rodrigues
[email protected]www.univasf.edu.br/~jairson.rodrigues
1
Algoritmos e Programação
Introdução à Linguagem C
▪Introdução
▪Origem
▪Características
2
Linguagens de Programação
▪ Vocabulário é um conjunto de regras gramaticais
usadas para escrever programas de computador.
▪ Programas instruem o computador a realizar
determinadas tarefas específicas.
▪ Cada linguagem possui um conjunto único de
palavras-chaves e uma sintaxe (regras) específica
para organizar as instruções dos programas.
Tipos de Linguagem de Programação
▪ Os programas de computador podem ser escritos em
várias linguagens de programação
▪ Algumas linguagens são diretamente compreensíveis
pelo computador
▪ Outras linguagens exigem passos de tradução
intermediária.
▪ Tipos:
• Linguagem de máquina;
• Linguagem simbólica;
• Linguagem de alto nível.
Linguagem de Máquina
▪ Linguagem de mais baixo nível de entendimento
pelo ser humano e a única, na verdade, entendida
pelo processador
▪ É constituída inteiramente de números, o que torna
praticamente impossível entendê-la diretamente.
▪ Uma instrução típica em linguagem de máquina
seria algo como: 0100 1111 1010
▪ Essa linguagem é também classificada como uma
linguagem de primeira geração.
Linguagem Simbólica (assembly)
▪ É a linguagem de nível imediatamente acima da
linguagem de máquina.
▪ Permite que o programador utilize nomes
(chamados mnemônicos) e símbolos em lugar de
números.
▪ Nos primórdios da programação todos os
programas eram escritos nessa linguagem.
Somar dois números (em assembly)
model small
.stack
.data
valor db ?
.code
.startup
mov ah, 01h
int 21h
sub al, 30h
mov value, al
mov ah, 01h
int 21h
sub al, 30h
add al, value
mov dl, al
add dl, 30h
mov ah, 02h
int 21h
.exit
end
Linguagem Simbólica (assembly)
■ Atualmente utilizada quando a velocidade ou o
tamanho do programa são essenciais.
■ Essa linguagem é também classificada como
linguagem de segunda geração, e, assim como a
linguagem de máquina, é considerada uma
linguagem de baixo nível.
Linguagem de Alto Nível
■ Possuem uma estrutura e palavras-chave que são
mais próximas da linguagem humana.
■ Os programas escritos nessas linguagens são
convertidos para a linguagem de baixo nível
através de um programa denominado compilador
ou de um interpretador.
■ Uma instrução típica de uma linguagem de alto
nível é:
if (A>10) then A:=A-7;
Comparativo de Linguagens
if (A>10) then A:=A-7
ADD A,Bz
1011 0110 0011
Origens da Linguagem C
■ A linguagem de programação C foi originalmente
projetada para ser implementada no sistema
operacional UNIX em um DEC PDP-11;
■ C é o resultado de um processo de
desenvolvimento que começou com uma
linguagem mais antiga, chamada BCPL;
Características da Linguagem C
■ Linguagem dita de médio nível;
■ Linguagem Estruturada;
■ Case sensitive (A ≠ a);
■ Fácil portabilidade entre hardwares e sistemas
operacionais;
■ Alta interatividade com o sistema operacional;
■ Código compacto e rápido;
■ Requer mais do programador
Interpretador versus Compilador
■ Um interpretador lê linha a linha do código-fonte,
examina sintaticamente e executa o código;
■ Um compilador lê todo programa e o converte em
código-objeto (código de máquina) e pronto!
■ Portanto, a linguagem C é compilada;
Algoritmos e Programação
▪ Sopa de letras das linguagens de
programação
1
4
Algoritmos e Programação
1
5
Algoritmos e Programação
Linguagem C
■ Tipos de dados primitivos: caractere, inteiro e
real;
■ Possui estruturas de controle de fluxo;
■ Operadores aritméticos, lógicos, relacionais e
condicional;
■ Todo programa tem uma função principal
chamada main();
■ Todo linha de instrução em um programa é
finalizada com um “;”;
■ Blocos de instrução entre “ { } “.
1
6
Estrutura de um programa em C
17
Estrutura de um programa em C
18
Estrutura de um programa em C
19
Palavras-reservadas
Palavras chaves em C (padrão ANSI)
auto Double int Struct
break Else long Switch
case Enum register typedef
char Extern return union
const Float short unsigned
continue For signed void
default Goto sizeof volatile
do If static while
20