Você está na página 1de 36

Linguagem 1

Linguagem: o que é?
Uma linguagem é uma forma de comunicação que utiliza símbolos e
determinadas regras para os combinar.

Linguagens

Naturais Formais

Linguagem falada Linguagem previamente projetada para


ou escrita determinados fins
ex: português Ex: matemática, linguagens de programação dos
computadores

Pode ter várias interpretações Evita ambiguidades e redundância


Programas, linguagens de programação e instruções 2

Programa de computador
Um programa de computador é constituído por uma sucessão de
instruções que permitem especificar ao processador da máquina as
ações a executar.

Normalmente, estes programas são escritos, ou seja, codificados, com


recurso às linguagens de programação.

Estas são projetadas para aproximá-las à


linguagem humana, dado que as linguagens
máquina apenas manipulam dados binários
(0 e 1).
Linguagem de Programação 3

A Linguagem de Programação
Uma linguagem de programação é um método padronizado para expressar instruções
para um computador.

É um conjunto de regras (sintáticas e semânticas) usadas para definir um programa de


computador.

É um conjunto de palavras, composto de acordo com essas regras, e que constituem


o código fonte de um software. Esse código fonte é depois traduzido para código
de máquina, que é executado pelo processador.

Uma linguagem permite que um programador especifique precisamente sobre que


dados um computador vai atuar, como esses dados serão armazenados ou
transmitidos e quais ações que devem ser tomadas em várias circunstâncias.

Exemplos de linguagens de programação: C, Pascal, C++, Visual Basic, Phyton, Java, …


http://pt.wikipedia.org/wiki/Linguagem_de_programação
Programa 4

Programa- Exemplo

Conjunto de instruções destinadas


a serem processadas num
sistema informático com o
objetivo de realizar uma tarefa.

É possível escrever um algoritmo


deixando para mais tarde os
detalhes relativos à sua
implementação numa linguagem
de programação.
A Lógica da Programação 5

Programação
A programação de computadores pode ser difícil. É possível torná-la
mais fácil se dividirmos sistematicamente o problema em partes menos
complexas . O lema é: “Dividir para conquistar”
A Lógica da Programação 6

Do problema ao programa - Fases da Programação

Definição do problema

Planificação
(Formulação de um Algoritmo)

Implementação
(Tradução do algoritmo num
programa-fonte)

Testes e depuração

Documentação

Manutenção
Algoritmo 7

Algoritmo

Um algoritmo é uma sequência ordenada de passos que levam à solução de


um dado problema.

Propriedades dos algoritmos


– passos simples;
– passos isentos de ambiguidade;
– passos numa ordem bem definida;
– deve resolver o problema num número mínimo de passos.
Algoritmo 8

FASES DA CONSTRUÇÃO DE UM ALGORITMO


• Análise do
1 problema;
•Elaboração do algoritmo
2 (fluxograma e/ou
pseudocódigo);
•Codificação (utilizando uma
3 linguagem de
programação);
• Verificação (deteção de erros).
4
Algoritmo 9

FORMAS DE REPRESENTAÇÃO DE UM ALGORITMO


Somar 2
Linguagem números
Pseudocódigo Fluxograma
natural
Ler os dois números, Início Início
calcular a soma e, Ler (a, b); a, b
por fim, apresentar
o resultado dos dois SOMA  a+b;
Escrever (SOMA); SOMA  a+b
números, calcular a
soma e, por fim, Fim
apresentar o SOMA
resultado. Fim
Algoritmo 10

Algoritmo

Um exemplo clássico de algoritmo não-computacional seria uma receita de


bolo.

Imaginemos a confeção de um bolo como


o problema.
 A receita do bolo seria o algoritmo,
 os ingredientes seriam as variáveis
envolvidas no processo,
 e o modo de preparação seria a
descrição dos passos a serem
realizados para se resolver o
problema.
Algoritmo 11

Elaboração de um Algoritmo

Como sabemos, um computador não resolve problemas sozinho, apenas


executa os passos que lhe indicamos para a sua resolução.

Em informática, a formulação de um algoritmo não é mais do que a


descrição, de forma ordenada, com clareza e rigor, das operações que se
pretende realizar num computador para resolver um problema ou atingir
determinados objetivos.

Um bom algoritmo, pode ser escrito na nossa linguagem natural, utilizando


expressões sintéticas e exatas e, normalmente, também alguns sinais
convencionais. O algoritmo deve ser formulado de modo a poder ser
traduzido numa qualquer linguagem de programação.
Algoritmo 12

Etapas de construção de um algoritmo

1 – Compreender o problema (o que se pretende)

2 – Identificar os dados de entrada (os dados fornecidos e a sua situação


inicial)

3 – Identificar os dados de saída (os dados resultantes do processamento)

4 – Identificar as operações de processamento (os cálculos e as restrições para


obtenção dos dados de saída a partir dos dados de entrada)

5 – Elaborar o algoritmo

6 – Testar o algoritmo
Algoritmo 13

EXERCÍCIOS
PRÁTICOS
Algoritmo 14
Algoritmo 15

Algoritmo é uma sequência finita


de passos lógicos necessários para
realizar uma determinada tarefa. Faça o mesmo para :
Uma simples ação como escovar os - A substituição de uma lâmpada
dentes pode ser descrita, de modo
a formar o que chamamos de
Algoritmo.
-A substituição de um pneu

1. Pegar na escova de dentes


2. Pegar na pasta de dentes, com a
outra mão
3. Colocar a pasta de dentes na
escova
4. Colocar a escova de dentes na
boca
5. Escovar os dentes
6. Retirar a escova da boca
7. Lavar a boca
Resolução Algoritmo
Substituição de uma lâmpada
1. [Preparar acessos à lâmpada fundida] 4. [Colocação da lâmpada nova]
1.1 Repetir enquanto não chegar à escada 4.1 Repetir enquanto não chegar à escada
1.1.1 Dar passos 4.1.1 Dar passos
1.2 Pegar objecto (escada) 4.2 Repetir enquanto não chegar ao casquilho
1.3 Repetir enquanto não chegar debaixo lâmpada 4.2.1 Subir degraus
fundida 4.3 Repetir enquanto não firmar a lâmpada
1.3.1 Dar passos nova
2. [Retirar lâmpada fundida] 4.3.1 Rodar objecto (L.N.) no sentido directo
2.1 Repetir enquanto não chegar à lâmpada fundida 4.4 Repetir enquanto não chegar ao chão
2.1.1 Subir degraus 4.4.1 Descer degraus
2.2 Repetir enquanto não soltar a lâmpada fundida 5. [Arrumar escada]
2.2.1 Rodar objecto (L.F.) no sentido indirecto 5.1 Pegar objecto (escada)
2.3 Repetir enquanto não chegar ao chão 5.2 Repetir enquanto não chegar ao sítio da
2.3.1 Descer degraus escada
3.[Escolher lâmpada nova] 5.2.1 Dar passos
3.1 Repetir enquanto não chegar junto gaveta das 5.3 Largar objecto (escada)
lâmpadas novas
3.1.1 Dar passos
3.2 Repetir enquanto houver lâmpadas novas ou potência
L.N. diferente de potência L.F.
3.2.1 Pegar objecto (L.N.)
3.2.2 Se potência L.N. = Potência L.F.
3.2.2.1 Então largar a L.F.
3.2.2.2 Senão largar a L.N.
Resolução Algoritmo
Substituição de um pneu
1. [Buscar macaco, chave e pneu sobresselente] 3.4 Pegar no pneu furado
1.1 Repetir até chegar ao carro 3.5 Deslocá-lo sentido contrário ao carro
1.1.1 Dar passos 3.6 Largar pneu furado
1.2 Abrir a mala 3.7 Pegar no pneu bom
1.3 Pegar macaco, chave e pneu bom 3.8 Deslocar pneu no sentido do carro
1.4 Repetir até chegar ao pneu furado 3.9 Encaixar pneu
1.4.1 Dar passos 3.10 Pegar na chave
2. [Colocar o macaco em posição correcta e elevar o 3.11 Repetir quatro vezes
carro] 3.11.1 Pegar na porca
2.1 Largar o pneu e a chave 3.11.2 Encaixar porca
2.2 Encaixar macaco 3.11.3 Pegar chave
2.2.1 Deslocar o macaco no sentido do carro até 3.11.4 Repetir até ficar apertado
encaixar 3.11.4.1 Rodar no sentido horário
2.3 Elevar o carro 3.12 Largar chave
2.3.1 Repetir até carro elevado 4. [Guardar o macaco, chave e o pneu furado]
2.3.1.1 Rodar manivela no sentido horário 4.1 Baixar o carro
3.[Retirar o pneu furado e substituí-lo] 4.1.1 Rodar manivela no sentido contrário ao horário
3.1 Pegar na chave 4.2 Desencaixar macaco
3.2 Repetir quatro vezes 4.3 Pegar pneu furado+macaco+chave
3.2.1 Deslocar a chave até encaixar na porca 4.4 Repetir até à mala
3.2.2 Repetir até porca cair 4.4.1 Dar passos
3.2.2.1 Rodar sentido anti-horário 4.5 Largar chave+macaco+pneu furado
3.3 Largar chave 4.6 Fechar mala
Algoritmo 18

EXEMPLO
PRÁTICO
Algoritmo 19

1 – Compreender o problema

Problema:

É-nos dado o preço de um terreno de


forma retangular, bem como as
medidas de dois dos lados adjacentes.
Pretendemos saber se o seu preço por
metro quadrado está acima ou abaixo
da média dos preços praticados na
zona.
Algoritmo 20

2 – Identificar os dados de entrada

Temos de saber:

► o preço do terreno (preco_terreno);

► a medida do lado x em metros (lado_x);

► a medida do lado y em metros (lado_y);

► o preço médio por metro quadrado praticado na zona


(preco_m2_medio).
Algoritmo 21

3 – Identificar os dados de saída

Queremos saber:

► o preço do terreno por metro quadrado (preco_m2_terreno) está acima


ou abaixo do preço praticado na zona.
Algoritmo 22

4 – Identificar as operações de processamento

Vamos decompor o problema em problemas mais simples:

► Calcular a área do terreno (area):


área = lado x * lado y
► Calcular o preço por m2 do terreno (preco_m2_terreno) :
preço por m2 = preço do terreno / área
► Comparar os preços por m2
SE preço por m2 terreno > preço m2 médio ENTÃO o preço está acima da
média
SENÃO o preço está abaixo da média
Algoritmo 23

5 – Elaborar o algoritmo (linguagem natural)


1 – obter o valor de lado_x

2 – obter o valor de lado_y

3 – obter o valor de preco_terreno

4 – obter o valor de preco_m2_medio

5 – calcular a area = lado_x * lado_y

6 – calcular preco_m2_terreno = preco_terreno / area

7 – Se o preco_m2_terreno > preco_m2_medio, o preço está acima da média

8 - Se o preco_m2_terreno < preco_m2_medio, o preço está abaixo da média


Algoritmo 24

6 – Testar o algoritmo
1 – obter o valor de lado_x (10 m)

2 – obter o valor de lado_y (15 m)

3 – obter o valor de preco_terreno (140000€)

4 – obter o valor de preco_m2_medio (800€)

5 – calcular a area = lado_x * lado_y


area = 150 m2
6 – calcular preco_m2_terreno = preco_terreno / area
preco_m2_terreno = 933,33€

7 – Se o preco_m2_terreno > preco_m2_medio, o preço está acima da média


8 - Se o preco_m2_terreno < preco_m2_medio, o preço está abaixo da média
Exercícios Práticos (1) - Resolução 25
Exercícios práticos
1 - Problema: Faça um algoritmo para converter um valor em euros para dólares (USD).

2 - Dados de entrada: 3 - Dados de saída:


Valor em euros (euros) Valor em dólares (dolares)
Taxa de câmbio (câmbio = 1,30)

4 - Operações de processamento:
dolares = euros * câmbio

5 – Algoritmo: 6 – Teste:
1.Obter o valor em euros (euros) 1. euros = 100
2.Calcular dolares = euros * câmbio 2. dolares = 100 * 1,30 = 130
Exercícios Práticos (1) - Resolução 26
Exercícios práticos
1 - Problema: Faça um algoritmo que receba dois números e que no final mostre a soma,
subtração, multiplicação e a divisão dos números indicados.
2 - Dados de entrada: 3 - Dados de saída:
Número x (x) Total da soma (soma) Total da subtração (sub)
Número y (y) Total da multiplicação (mult) Total da divisão (div)

4 - Operações de processamento:
soma = x + y sub = x – y mult = x * y div = x / y

5 – Algoritmo: 6 – Teste:
1.Obter o valor x (x) 1. x = 10
2.Obter o valor y (y) 2. y = 5
3.Calcular soma = x + y 3.Calcular soma = 10 + 5 = 15
4.Calcular sub = x – y 4.Calcular sub = x – y = 5
5.Calcular mult = x * y 5.Calcular mult = x * y = 50
6.Calcular div = x / y 6.Calcular div = x / y = 2
7.Mostrar soma, sub, mult, div 7.Mostrar 15, 5, 50, 2
Exercícios Práticos (1) - Resolução 27
Exercícios práticos
1 - Problema: Faça um algoritmo para calcular o IVA de um produto, sendo que:
- deve ser pedido o preço do produto e a taxa de IVA a utilizar;
- como resultado final deve ser apresentado o preço do produto, o valor do IVA e o preço do produto
com IVA.

2 - Dados de entrada: 3 - Dados de saída:


Preço do produto (preço) Preço do produto (preço)
Taxa de IVA (taxa_iva) Valor do IVA (valor_iva)
Preço do produto com IVA (preço_com_iva)

4 - Operações de processamento:
valor_iva = (preço * taxa_iva)/100 preço_com_iva = preço + valor_iva
5 – Algoritmo: 6 – Teste:
1.Obter o preço do produto (preço) 1.preço = 200
2.Obter o valor da taxa de iva (taxa_iva) 2.taxa_iva = 23
3.Calcular valor_iva = (preço * taxa_iva)/100 3.valor_iva = (200 * 23)/100= 46
4.Calcular preço_com_iva = preço + valor_iva 4.preco_com_iva = 200 + 46 = 246
5.Mostrar preço, valor_iva, preço_com_iva 5.Mostrar 200, 46, 246
A prática leva à perfeição… 28
Exercícios práticos

Utilizando as etapas de construção de um algoritmo, resolvam:


Algoritmo 29

Os algoritmos e os programas de computador

• Nos algoritmos destinados a programas de computador,


temos de recorrer a diversas estruturas de representação das
ações ou operações a realizar

• As entidades fundamentais são:


 Dados
 Instruções básicas
 Estruturas de controlo
 Condições ou expressões lógicas
 Subprogramas

• Um programa executa sequencialmente um conjunto de


instruções básicas sobre os dados
Algoritmo 30

Formas de representação de algoritmos


Existem essencialmente duas formas para a programação estruturada:

Fluxogramas Pseudocódigo

Os Fluxogramas estão em desuso, pelo que vamos optar em exclusivo, pela


utilização da Linguagem Algorítmica (pseudocódigo).
Algoritmo 31

Pseudocódigo
Código de escrita que :
• utiliza uma combinação de termos convencionais para indicar as
instruções do programa;
• os termos utilizados são usualmente um misto de palavras da nossa
linguagem natural com palavras e notações típicas das linguagens de
programação.

Características:
• Não tem uma notação standard;
• Tem maior proximidade com as linguagens de programação permitindo
diminuir o esforço gasto no desenvolvimento/ codificação.
Algoritmo 32

Pseudocódigo – exemplo 1: o que faz este código?


Algoritmo _______________;
Variáveis valor1, valor2: inteiro;
Início
Escrever (“Introduza dois valores”);
Ler (valor1);
Ler (valor2);
SE valor1 > valor2
Escrever(valor1, “é maior”)
SENÃO
SE valor1 < valor2
Escrever(valor2, “é maior”)
SENÃO
Escrever(“valores iguais”)
FimSe;
FimSe;
Fim
Algoritmo 33

Pseudocódigo – exemplo 2: o que faz este código?


Algoritmo _______________;
Variáveis valor1, valor2, valor3, soma, media: real;
Início
Escrever (“Introduza as classificações das três provas”);
Ler (valor1);
Ler (valor2);
Ler (valor3);
soma  valor1 + valor2 + valor3;
media  soma / 3;
SE media >= 10
Escrever(“Aprovado”)
SENÃO
Escrever(“Reprovado”);
FimSe;
Fim
Desafio 34
Exercícios práticos

Observando os exemplos de pseudocódigo mostrados, consegues


reescrever a resolução dos problemas 1 e 2 que já resolveste
anteriormente em forma de pseudocódigo?

Relembra:

Problema 1 - Faz um algoritmo para converter um valor em euros para


dólares (USD).

Problema 2- Faz um algoritmo que receba dois números e que no final


mostre a soma, subtração, multiplicação e a divisão dos números indicados.
Solução do problema 1 35
Exercícios práticos
Algoritmo Cambio_Euro_Dolar;
Variáveis euros, dolares, cambio: real;
Início
cambio  1,30;
Escrever (“Introduza o valor em euros”);
Ler (euros);
dolares  euros * cambio;
Escrever (“Conversão para dólares:”, dolares);
Fim
Solução do problema 2 36
Exercícios práticos
Algoritmo Calculos;
Variáveis x, y, soma, subtracao, multiplicacao, divisao: real;
Início
Escrever (“Introduza o primeiro número”);
Ler (x);
Escrever (“Introduza o segundo número”);
Ler (y);
soma  x+y;
subtracao  x-y;
multiplicacao  x*y;
divisao  x/y;
Escrever (“Soma:”, soma);
Escrever (“Subtração:”, subtracao);
Escrever (“Multiplicação:”, multiplicacao);
Escrever (“Divisão:”, divisao);
Fim

Você também pode gostar