Vous êtes sur la page 1sur 46

LTP – Linguagem e Técnicas

de Programação

Joyce Cristhine Zellmer Fietz


Ementa
• Carga horária: 72 horas
• Objetivo: Desenvolver programas de
computadores de baixa complexidade.
• Linguagens de programação, estruturas e
princípios de funcionamentos de tradutores
(compiladores e interpretadores).
• Técnicas de programação: algoritmos e
fluxogramas, tipos de dados. Estruturas de
seleção e Estrutura de repetição. Implementação
de programas.

2
Abstração

A realidade é complexa
e rica em detalhes!

3
Abstração

Realidade

O que você abstrai dessa realidade?


4
Abstração

O que é abstração?

5
Abstração

Abstração
=
Operação mental que
observa a realidade e
captura apenas os
aspectos relevantes
para um contexto

6
Abstração
• Passe alguns minutos olhando para a figura
abaixo e diga o que você consegue abstrair
dela.

7
Abstração
• Conseguiu ver uma jovem mulher de perfil?
• Ou uma senhora olhando para baixo?

8
Abstração

• Perceba que a realidade é a mesma.


– Isto é, uma figura em preto e branco.

• Mas, dependendo da observação da realidade,


você pode ter abstrações diferentes.
• Por isso, a abstração depende mais do
observador do que da realidade observada.

9
Abstração
• A tarefa de programar
sistemas
computacionais
envolve o exercício
constante da Realidade
abstração da realidade
e sua codificação em
uma linguagem de Abstração
programação. +
Programação

Sistema de Locadora de Veículo

10
COMO O CLIENTE
EXPLICOU O QUE
QUERIA
COMO O GERENTE DO
PROJETO O
ENTENDEU
COMO A EQUIPE DE
CRIAÇÃO O
IDEALIZOU
COMO FOI
PLANEJADO
COMO O GERENTE
EXPLICOU O PROJETO
AO CLIENTE
COMO O PROJETO FOI
DOCUMENTADO
QUE PRODUTOS
FORAM ENTREGUES
COMO O CLIENTE FOI
COBRADO
COMO O PROJETO FOI
APOIADO
O QUE O CLIENTE
REALMENTE
PRECISAVA
O que é um
Sistema Computacional?

22
Sistema Computacional

Sistema
Computacional
Software
Hardware

Peopleware

23
Sistema Computacional
• Hardware: Parte física do sistema computacional.
– Ex: teclado e impressora
• Software: Parte lógica do sistema computacional.
– EX: sistema operacional
e processador de texto
• Peopleware: Pessoas que interagem com o
sistema computacional.
– EX: usuário e programador

24
Sistema Computacional
• O hardware de um sistema computacional
pode ser agrupado nas seguintes
categorias básicas:
– Dispositivo de entrada de dados
– Dispositivo de saída
– Unidade Central de Processamento – UCP
– Memória Principal
– Memória Auxiliar

25
Sistema Computacional
• Dispositivo de entrada de dados
– Recebe os dados e as instruções para o
processamento.
– EX: teclado, mouse e leitores ópticos.
• Dispositivo de saída
– Mostra o resultado do processamento.
– EX: monitor, impressora e caixas acústicas.
• Unidade Central de Processamento – UCP
– Realiza cálculos e executa instruções.
– EX: Pentium e Turiom.

26
Sistema Computacional
• Memória Principal
– Armazena de forma volátil (enquanto houver energia) um
dado.
– EX: RAM (random access memory)

• Memória Auxiliar
– Armazena de forma não volátil (longo prazo) um dado.
– Disco Rígido, Pendrive e CD

27
Sistema Computacional
• O software de um sistema computacional pode ser
dividido em dois grupos básicos:
– Software Básico
• São programas essenciais ao funcionamento do hardware e ao apoio a
outros softwares.
• EX: sistemas operacionais e tradutores de linguagens de programação.

– Softwares Aplicativos
• São programas destinados a resolver problemas do usuário.
• EX: folhas de pagamento, imposto de renda e planilhas.

28
Sistema Computacional
• O peopleware de um sistema computacional pode ser
classificado em dois tipos básicos:

– Usuário Final
• Interage com o sistema computacional sem conhecer detalhes do seu
desenvolvimento.
• EX: secretárias, balconistas e executivos.

– Usuário Especialista
• Interage com o sistema computacional especificando ou programando como
este deve se comportar.
• EX: programadores, analistas de sistemas e engenheiros de computação.

29
Programação de Sistema
Computacional
• A programação de um sistema
computacional pode ser resumida em 3
passos básicos:

Entrada Processamento Saída

Dispositivo UCP Dispositivo


de Entrada de Saída

Memória

30
• Exemplo 1 – Exibir a média de dois
números
Entrada Processamento Saída

Dispositivo UCP Dispositivo


de Entrada de Saída

Memória

6,8 (6 + 8) / 2 7

31
• Exemplo 2 – Exibir se o aluno está aprovado ou
reprovado

Entrada Processamento Saída

Dispositivo UCP Dispositivo


de Entrada de Saída

Memória

Ana, 5, 3 Se (5+3)/2>=7 Ana, reprovada


aprovado
Senão
reprovado
32
O que é uma
Linguagem de
Programação?

33
Linguagem de programação
=
conjunto de palavras e regras que
permitem comunicar ao computador
o que este deve executar

34
Em computação, uma linguagem de
programação é a ferramenta de
comunicação entre o programador que
visa resolver um problema e o
computador que irá ajudá-lo a resolver.

35
Tipos de Linguagens de Programação
– 1 – Linguagem de Máquina
• Possuía uma notação binária (zeros e uns), a qual tornava a
programação trabalhosa, cansativa e fortemente sujeita a erros.
– 2 – Linguagem Assembly
Baixo Nível

• Sugiu para 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.
– 3 – Linguagem de Alto Nível
• Aproxima-se das linguagens utilizadas por humanos para
expressar problemas.
• Cada declaração numa linguagem de alto nível equivale a várias
declarações numa linguagem de baixo nível.

36
• Tipos de Linguagens de Programação
– 1 - Totalmente codificadas em binário (0´s e 1´s).
– 2 - Usa instruções simbólicas para representar os 0´s e 1´s.
– 3 - Voltadas para facilitar o raciocínio humano.
Baixo Nível Alto Nível
Linguagem Linguagem Linguagem
de Assembly de
Máquina (Mnemônica) Alto N ível
0010 0001 1110 LOAD R1, val1 val2 = val1+val2
0010 0010 1111 LOAD R2, val2
0001 0001 0010 ADD R1, R2
0011 0001 1111 STORE R1, val2
(1) (2) (3)
37
Se o computador só
entende linguagem de máquina,
o que deve ser feito para que ele
entenda programas em
linguagem de alto nível?

38
Usar um tradutor!

39
• Tradutores no contexto de linguagens de
programação são programas que recebem
como entrada um programa em linguagem de
alto nível e produzem como saída as
instruções deste programa traduzidas para
linguagem de máquina.

40
• Tipos de Tradutores

– 1) COMPILADOR: traduz de uma vez só todo o programa escrito


em linguagem de alto nível (código-fonte) para um programa
equivalente escrito em linguagem de máquina (código-objeto).

– 2) INTERPRETADOR: traduz (sem gerar código-objeto) e em


seguida executa, uma-a-uma, as instruções de um programa em
linguagem de alto nível (código-fonte).

41
Lógica
=
Ciência que estuda as leis do raciocínio.
Correção/validação do pensamento.
Encadeamento/ordem de idéias.
Arte de bem pensar.

42
Noções de Lógica
• Exemplos de aplicação da lógica
– O quarto está fechado e meu livro está no quarto. Então, preciso
primeiro abrir o quarto para pegar o livro.
– Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana.
Então, Júlia é neta de Rosa e sobrinha de Paula.
– Todo mamífero é animal e todo cavalo é mamífero. Então, todo
cavalo é animal.
– Todo mamífero bebe leite e o homem bebe leite. Então, todo
homem é mamífero e animal (mas não é um cavalo).

43
Atividade 1
Resolva os seguintes problemas de lógica:
– P1 – Uma lesma deve subir um poste de 10m de altura. De dia sobe
2m e à noite desce 1m. Em quantos dias atingirá o topo do poste?
– P2 - Três gatos comem três ratos em três minutos. Cem gatos
comem cem ratos em quantos minutos?
– P3 - O pai do padre é filho do meu pai. O que eu sou do Padre?
– P4 - Se um bezerro pesa 75 kg mais meio bezerro, quanto pesa um
bezerro inteiro?
– P5 – Qual o próximo número da seqüência 7,8,10,13,17?

44
Atividade 1
P6 – Um pai de 80kg e suas 2 filhas (40kg cada) precisam sair de

uma ilha com um barco. Porém, a capacidade do barco é de 80kg.
Como farão para sair da ilha?
– P7 – Usando uma jangada, um camponês precisa atravessar uma
cabra, um leão e um fardo de capim para a outra margem do rio. A
jangada só tem lugar para ele e mais outra coisa. O que ele deve
fazer para atravessar o rio com seus pertences intactos?
– P8 - Você possui 2 baldes, um de 7 litros e outro de 11 litros. Sua
missão é ir até o lago e voltar com exatamente 6 litros de água.

45
– P9 - Oito carros, de marcas e cores diferentes estão alinhados lado a lado para
um corrida. A tarefa consiste em estabelecer a ordem em que os carros estão
dispostos, sendo que:
1- A Blazer está entre os carros vermelhos e cinza.
2- O carro cinza está à esquerda do Vectra.
3- O Mercedes é o segundo carro a esquerda da Blazer e o primeiro a direita do carro azul.
4- O Corsa não tem carro a sua direita e está logo depois do carro preto.
5- O carro preto esta entre o Corsa e o carro amarelo.
6- O KA não tem carro algum a esquerda: esta a esquerda do carro verde.
7- A direita do carro verde está o Golf.
8- O Vectra é o segundo carro a direita do carro creme e o segundo a esquerda do carro
marrom.
9- O Fiesta é o segundo carro a esquerda do Pálio.