Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05)...
Transcript of Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05)...
Algoritmos e Programação
Linguagens de Programação Teoria
Aula 5(05/05)
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação –
CECOMP
2
Linguagem de Programação
Vocabulário e conjunto de regras gramaticais;
Realiza tarefas específicas;
Cada linguagem possui um conjunto único de palavras-chaves e uma sintaxe;
Programas podem ser escritos em várias linguagens
Diretamente compreensíveis pelo computador Exigem passos intermediários de tradução.
Podem ser divididas em três tipos:
Linguagem de Máquina; Linguagem Simbólica; Linguagem de Alto Nível.
3
Linguagem de Programação - Máquina
Linguagem de Máquina (machine language)
Classificação: linguagem de primeira geração;
Mais baixo nível, a única entendida pelo processador (UCP);
Cada processador possui sua própria forma de interpretar sua linguagem de máquina;
É constituída apenas por sistema binário (“0” e “1”) ou sistema hexadecimal “0” a “9”, e de “A” a “F”;
Ex:
0100 1111 1010 1101
4
Linguagem de Programação - Simbólica
Linguagem Simbólica
Classificação: linguagem de segunda geração;
Linguagem de baixo nível;
Nível imediatamente acima da linguagem de máquina;
Possui a mesma estrutura e conjunto de instruções que a linguagem de máquina;
Permite utilizar nomes (chamados mnemônicos) e símbolos em lugar de números;
Cada UCP possui sua própria forma de interpretação, assim, um programa escrito em linguagem simbólica para uma UCP poderá não ser executado em outra UCP.
Ex: Assembly
5
Linguagem de Programação - Simbólica
Linguagem Simbólica
Muito utilizada nos primórdios da programação;
Utilização principal: velocidade de execução tamanho do programa executável
Montagem = conversão da Linguagem Simbólica em Linguagem de Máquina. Realizada por um Montador ou (assembler).
6
Linguagem de Programação - Alto Nível
Linguagem de Alto Nível
Linguagens de programação que possuem estrutura e palavras-chave mais próximas da linguagem humana.
Principal vantagem:
São naturalmente mais fáceis de serem lidas e escrita%s.
Os programas escritos nessas linguagens são convertidos para a linguagem de baixo nível através de um compilador ou de um interpretador.
Ex:
if (A>10) then A := A-7;
7
Linguagem de Programação
8
Liguagem C
9
Linguagem C
Criada em 1972, por Dennis Ritchie;
Centro de Pesquisas da Bell Laboratories;
Para utilização no S.O. UNIX;
C é uma linguagem de propósito geral;
Em 1989 o Instituto Norte-Americano de Padrões (ANSI) padronizou a linguagem C.
10
Linguagem C
Case sensitive;
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 “;”;
11
Estrutura de um programa em C
12
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
13
Definição de Variáveis
Devem ser declaradas no início do programa ou do sub bloco;
Podem ser classificadas como Locais ou Globais.
Locais
Declaradas dentro de funções;
Utilizada apenas dentro do escopo da função;
O escopo de uma função é determinado por abre-chaves “{“ e termina em fecha-chaves “}”;
Só existem no momento que sua função está em execução.
Globais
Declaradas fora de todas as funções;
Podem ser acessadas de qualquer parte do programa;
Existem durante toda a execução do programa.
14
Nomes de Variáveis
Deve conter um ou mais caracteres;
O primeiro caractere sempre deve ser uma letra;
Os caracteres subseqüentes podem ser letras, números ou “_”;
Não pode ser igual às palavras-chaves;
Não pode ter o mesmo nome de funções;
Correto Incorreto
Soma1 1soma
soma soma!
area_triangulo area...triangulo
Obs: as variáveis “soma” e “Soma” são distintas
15
Declarando variáveis
Sintaxe
<Tipo de dados> Nome_variável;
Ex:
char nome;int idade;int total;
Atribuindo valor
Nome_da_variavel = expressão;
Ex:
nome = ‘Joao’;idade = 18;total = 10 + 20;
16
Operadores aritméticos
Operador Binário Descrição
= Atribuição
+ Soma
- Subtração
/ Divisão
% Modulo (resto da divisão)
17
Operadores aritméticos Unários e Binários
Unários (+, -, ++, --) agem sobre uma variável apenas, modificando ou não o seu valor, e retornam o valor final da variável. a = -b; a++; (ou seja) a = a+1; a--; (ou seja) a = a-1;Obs: operador “–” como troca de sinal é um operador unário
que não altera a variável sobre a qual é aplicado, pois ele retorna o valor da variável multiplicado por -1.
Binários (+, -, *, /, %) usam duas variáveis e retornam um terceiro valor, sem modificar as variáveis originais.
18
Operadores aritméticos - Hierarquia
19
Operadores de Atribuição =, +=, -=, *=, /=, %=
Instrução normal Instrução reduzida
var = var + expr; Var += expr;
var = var – expr; Var -= expr;
var = var / expr; Var /= expr;
var = var * expr; Var *= expr;
Exemplos:
a = 5;
a += 5; (ou seja) a = (a + 5);
a -= 5; (ou seja) a = (a – 5);
20
Comentários
// Meu comentário em uma linha
/* Meu comentário através de um bloco de texto que pode estar em n linhas */
21
Tipos Primitivos
Caractere
Definido pela palavra reservada char;
Ocupa 8 bits (1 byte)
Faixa de valores: -128 à 127
Exemplo:
char letra;
letra = ‘A’;
22
Tipos Primitivos
Inteiro
Definido pela palavra reservada int;
Ocupa 16 bits (2 bytes)
Faixa de valores: -32768 à 32767
Exemplo:
int num;
num = -73;
23
Tipos Primitivos
Ponto flutuante
Definido pela palavra reservada float
Ocupa 4 bytes
Exemplo:
float a,b,c=2.34;
Ponto flutuante de precisão dupla
Definido pela palavra reservada double
Ocupa 8 bytes
Exemplo:
double x=2.38, y=3.1415;
24
Tipos de dados - padrão ANSI
Fonte: livro “C Completo e Total”
25
Estrutura básica de um programa em C
Próxima Aula
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação –
CECOMP