Você está na página 1de 82

Possível definição da linguagem…

 forma de comunicação que utiliza símbolos e


determinadas regras para os combinar. Neste contexto,
tem-se :
Linguagem natural
• Não resulta de um projeto de engenharia.
Passível de várias interpretações. (Ex:
linguagens convencionais, faladas e escritas)
Tipos Linguagem formal
• Projetada para determinados fins. Desenhada
de forma a evitar ambiguidades, redundância
ou equívocos na utilização da simbologia. (Ex:
Matemática, química, linguagens de
programação,…)
A organização e sistematização das diferentes
linguagens obedecem a regras:

i. SINTAXE
Conjunto de regras que especificam a estrutura interna
de uma linguagem para uso normalizado (forma).

ii. SEMÂNTICA
Significado dos vários termos das linguagens (conteúdo).
Linguagem de programação
Sistema de escrita formal, assente num método
normalizado, para a elaboração das operações a
executar nos computadores. As instruções obedecem a
um conjunto de regras sintáticas e semânticas.
Gerações de Linguagens de Programação
Existem milhares de linguagens de programação,
classificadas por gerações.
Linguagem diretamente executada pelo
Linguagens de 1.ª geração processador. Apenas são usados 0’s e 1’s.
baixo nível (Linguagem
máquina) Exemplo:
Linguagem máquina ou binária
Próximas do
código binário
(0’s e 1’s).
Difíceis de Linguagem que utiliza alguma notação
compreender e 2.ª geração simbólica compreensível pelo ser humano.
de programar. (Linguagens de Muito próxima da linguagem máquina.
montagem) Exemplo:
Assembly
É necessário escrever passo-a-passo cada
3.ª geração tarefa a ser executada pelo computador.
(Linguagens
Procedimentais) Exemploss:
Linguagens de Basic, Visual Basic, C, C++, C#, Pascal, Java,...
alto nível
4.ª geração Linguagens que geram código por si próprias,
Mais fáceis de libertando a concentração do programador
(Linguagens
compreender e para o produto final.
Declarativas e
de programar do
Linguagens Exemplos:
que as
Aplicativas) SQL, MATLAB, Clipper, Dbase,…
linguagens de
baixo nível.
5.ª geração Linguagens que têm a capacidade de deduzir,
(Linguagens inferir e extrair conclusões a partir de
orientadas à informação contida em bases de dados.
Inteligência Exemplo:
Artificial) LISP, Prolog,…
Conceitos (cont.)
Como sistema de escrita, uma linguagem de programação é
composta por:
uma terminologia ou semântica – conjunto de termos,
palavras e sinais, que assumem determinados significados
para o processador (palavras chave)
um conjunto de regras ou sintaxe – estipulam o modo
correto de utilizar os termos da linguagem para formular
instruções válidas para a máquina
Conceitos (cont.)

Programa – algoritmo escrito numa determinada linguagem


destinado a ser processado num sistema informático. É um
conjunto de “frases” que utilizam os termos e e as regras de
uma determinada linguagem de programação, com vista a
concretizar certos objetivos

Expressão – conjunto de variáveis e constantes numéricas que


se relacionam por meio de operadores compondo uma
fórmula que, uma vez avaliada, resulta num valor.
Algoritmo – conjunto finito de passos ordenados para a
resolução de uma determinada tarefa ou problema.

Instrução – informação elementar que indica ao computador


qual a ação a executar.

Dados – elementos conhecidos de um problema, informação


não tratada.
Clique para adicionar
texto
NOÇÕES SOBRE ALGORITMOS

Clique para adicionar


texto
Exemplos de Algoritmos Pelo
Método da Narração Descritiva
Substituição de uma lâmpada fundida
1. Preparar uma lâmpada nova
2. Retirar a lâmpada fundida
3. Colocar a lâmpada nova
4. Ligar o interruptor para verificar se a nova lâmpada
acende ou não
5. Se a lâmpada acender, pode-se dar o processo por
concluído; se não acender, repete-se os passos de 1 a 4
Exercício 1
Formular um algoritmo para substituir um pneu
furado de um carro.
Exercício 2
Formular um algoritmo para fazer um telefonema.
DESAFIO
Um camponês está na margem de um rio e quer passar
para a outra margem, um lobo, uma cabra e um repolho. O
seu velho barco só aguenta com o seu peso e o da cabra,
ou lobo ou repolho. O que é que o camponês tem de fazer
para atravessar o rio sem perder o lobo, a cabra e o
repolho, atendendo a que o lobo e a cabra não podem
ficar sozinhos numa das margens, nem a cabra e o repolho.
Escreva um algoritmo que mostre todas as ações
necessárias para efetuar uma travessia segura.
A algoritmia permite separar duas fases distintas na resolução
de um problema:
elaboração de um algoritmo adequado
implementação do algoritmo numa linguagem ou
ferramenta de programação

Um mesmo algoritmo pode servir de base à codificação de


um programa em diferentes linguagens e ambientes de
programação ou com diferentes técnicas de implementação.
Representação de algoritmos
➢PSEUDOCÓDIGO
• Representação textual constituída pela
sintaxe característica das linguagens de
Principais
programação estruturadas.
modos de • Prático para desenvolver algoritmos conducentes a
especificação programas extensos.
das
instruções
em algoritmia ➢FLUXOGRAMA
• Diagrama constituído por formas gráficas
normalizadas. É utilizado para representar a
sequência de ações do algoritmo.
• Difícil de desenvolver para programas extensos.
FLUXOGRAMAS
 São diagramas que representam os fluxos de informação (a
forma como a informação vai fluir, circular);
 Utilizam uma sequência de símbolos, com significado bem
definido, para representar os passos lógicos do algoritmo.
Símbolos utilizados nos fluxogramas
Início ou fim

Linha de fluxo

Entrada ou saída de dados

Processamento interno
Símbolos utilizados nos fluxogramas (cont.)
Estrutura de decisão/comparação

Seleção múltipla

Conector

Subalgoritmo / sub-rotina
Exemplo
Início
Obter a área de um
retângulo
Ler (comp, larg)

area ← comp * larg

Escrever (area)

Fim
Pseudocódigo

Pseudocódigo – representação de algoritmos sob a forma de


uma linguagem formal, havendo recurso a palavras e sinais
convencionais e com significados bem precisos,
assemelhando-se a uma linguagem de programação, sem
contudo o ser.
Convenções utilizáveis em pseudocódigo
Ler – entrada ou input de dados

Escrever – saída ou output de dados

As strings ou cadeias de caracteres costumam ser incluídas


entre aspas (“ “) ou apóstrofes (‘ ‘).

A operação de atribuição costuma ser representada pelo sinal


←.
Algoritmo que descreve o cálculo da soma de dois números
reais

ETAPAS PELO MÉTODO DA NARRAÇÃO DESCRITVA

1º) Início
2º) Ler os dois números reais
3º) Efetuar o cálculo da soma dos dois números reais
4º) Escrever o resultado da soma
5º) Fim.
ALGORITMOS: SOMA DE DOIS NÚMEROS REAIS
Fluxograma Pseudocódigo
Início Algoritmo soma_2;

Variáveis a,b,c :reais; Instruções de…


Ler (a,b)
Início Leitura
Ler (a);
Ler (b); Atribuição
ca+b
c  a + b;
Escrever (c); Escrita
Fim.
Escrever (c)

Fim
Fases de construção de um algoritmo

Entrada Processamento Saída

Entrada – são dados de entrada do algoritmo


Processamento – são os procedimentos utilizados para
chegar ao resultado final
Saída – são os dados já processados
Exemplo
Obter a área de um retângulo

Algoritmo arearectangulo
Variáveis area, comp, larg : Inteiros
Início
Ler (comp, larg)
area ← comp * larg
Escrever (area)
Fim
Operações elementares
Operadores aritméticos

Operador Operação
+ Adição
- Subtração
* Multiplicação
/ Divisão
MOD Resto da divisão inteira
DIV Divisão inteira
Operações elementares (cont.)
Operadores relacionais

Operador Operação
= Igualdade
< Menor do que
> Maior do que
<= Menor do que ou igual a
>= Maior do que ou igual a
<> Diferente
Operações elementares (cont.)
Operadores lógicos

Operador Operação
AND Conjunção
OR Disjunção
NOT Negação
Operações elementares (cont.)
Operadores lógicos (cont.)

And V F Or V F
V V F V V V
F F F F V F
Not
V F
F V
Operações elementares (cont.)
Ordem de prioridade dos operadores em geral

Maior

Operadores

A utilização de NOT
parênteses
* / DIV MOD AND
permite alterar
a ordem de
+ - OR
prioridades.
= < > <= >= <>

Menor
Expressões
As expressões podem ser
numéricas – utilizam operadores aritméticos
booleanas – utilizam operadores relacionais e/ou lógicos,
cujo resultado será verdadeiro (true) ou falso (false)

Exemplo:
10 + 5 > 10 And 10 < 10 - 5
15 > 10 And 10 < 5
V And F
F
Exercício 4
Considerando as seguintes expressões numéricas e supondo
que p=3 e q=2, determine quais os valores de cada uma das
seguintes expressões:
a) p+q*5
b) (p+q)*5
c) p+5*q/2
d) p MOD q
e) 7 DIV p
Exercício 5
Determine os valores lógicos de cada uma das seguintes
expressões, supondo que x=10 e y=5 (apresente os cálculos que lhe
permitem chegar aos resultados que indicar):

a) (x > 5) and (x >= 10)


b) (x > 0) or (x > 20)
c) (x = 10) and (y <> 5)
d) not (y = 5) or (x <> 10)
e) (x >= 10) and (y < 5)
f) not (x > 10) and (y < 5)
g) not (x > 10) or (y < 5)
h) (x >= 5) and (x < 10) or (y >= 0) and (y <= 5)
Tipos de dados
Tipos de dados simples ou primitivos

Caracteres, cadeias de caracteres ou texto

Numéricos
inteiros
reais

Lógico ou booleano
Tipos de dados (cont.)

Dados estruturados

arrays – conjuntos ordenados de dados todos do mesmo tipo


base

registos (records) – estruturas com dados de tipos diferentes


Constantes e variáveis
Em algoritmos e programas de computador, os dados podem surgir sob a forma de
constantes ou de variáveis.

Constante – dado que permanece inalterável do início ao fim do


algoritmo.

Variável – dado que pode sofrer alterações de valor ao longo do


algoritmo.

Identificador – nome que é associado (pelo programador) a


uma constante, a uma variável ou a outro tipo de elemento, em
programação.
Constantes e variáveis (cont.)

Em termos de memória RAM, o nome com que uma variável


é identificada fica associado a um endereço ou posição de
memória.

Cada variável surge associada a um tipo de dados.


Constantes e variáveis (cont.)
Instruções de atribuição – operações internas de um
programa ou algoritmo que atribuem valores às variáveis.

nome ← “Manuel Pinheiro”

Quando é atribuído um valor a uma variável, esse valor é


guardado em RAM no endereço que foi associado a essa
variável e aí permanece até que lhe seja atribuído um outro
valor.
Exercício 6
Calcular a média final de um aluno com base no
resultado de 2 testes.
Exercício 7
Elaborar o fluxograma para obter a média de dois
números inteiros introduzidos pelo utilizador.
Exercício 8
Elaborar o fluxograma e o pseudocódigo para obter o
quadrado de um número inteiro introduzido pelo
utilizador.
Exercício 9
Elaborar o fluxograma e o pseudocódigo para obter o salário
de um trabalhador através da leitura do nome, das horas de
trabalho e do valor por hora, sabendo que os impostos
aplicados são exatamente 10% sobre o valor bruto.
Exercício 10
Considere o seguinte algoritmo:
Algoritmo operaçoes
Variáveis x, y: Inteiros
Início
x4
yx
x  y * 1.2
yx+3
xx/2
Escrever (“x = “, x, “ y = “, y)
Fim
Indique, passo a passo, quais os valores das variáveis x e y ao longo da
sequência de instruções. Indique também como serão apresentados os dados
na última instrução.
Estruturas de controlo

Estruturas de decisão ou seleção

Estruturas de repetição ou ciclos


Estruturas de decisão
A decisão é tomada com base numa condição ou expressão
lógica (ou booleana).

Em pseudocódigo

Se <condição> Então
<bloco de instruções>
[ Senão
<bloco de instruções> ]
FimSe
Estruturas de decisão (cont.)
Em fluxograma
SE Falso
Condição

Verdade

ENTÃO SENÃO
Bloco de Bloco de
instruções instruções
Exemplo 1 Início

Escrever(“Qual a nota do exame?”)


Algoritmo classifica1
Variáveis Nota: Inteiro Ler (Nota)
Início
Escrever (“Qual a nota do exame?”) Nota >= 10
Falso

Ler (Nota)
Verdade
Se (Nota >= 10) Então
Escrever (“Aprovado”)
Escrever (“Aprovado”)
FimSe
Escrever (“Escola”)
Fim Escrever(“Escola”)

Fim
Exercício 11
Elaborar o fluxograma e o pseudocódigo para
apresentar a mensagem “Dividir a turma” caso o
número de alunos, a introduzir pelo utilizador, seja
superior a 20.
Exemplo 2 Início

Escrever(“Qual a nota do exame?”)


Algoritmo classifica2
Variáveis Nota: Inteiro
Ler (Nota)
Início
Escrever (“Qual a nota do exame?”)
Ler (Nota) Falso
Nota >= 10
Se (Nota >= 10) Então
Verdade
Escrever (“Aprovado”)
Senão Escrever (“Aprovado”) Escrever (“Reprovado”)

Escrever (“Reprovado”)
FimSe
Escrever (“Escola”)
Escrever(“Escola”)
Fim

Fim
Exemplo 3
Algoritmo classifica3
Variáveis Nota: Inteiro
Início
Escrever (“Qual a nota do exame?”)
Ler (Nota)
Se (Nota >= 0) E (Nota <= 20) Então
Se (Nota >= 10) Então
Escrever (“Aprovado”)
Senão
Escrever (“Reprovado”)
FimSe
Senão Escrever (“Nota inválida.”)
FimSe
Escrever (“Escola”)
Fim
Exercício 12
Elaborar o pseudocódigo para obter o maior de dois
números inteiros introduzidos pelo utilizador.
Exercício 13
Construa um algoritmo, em pseudocódigo, que permita ler um
número inteiro.
Se o número introduzido for igual a zero deve aparecer no
ecrã “ O número é zero”, se for maior que zero “O número é
positivo”, caso contrário “O número é negativo”.
Estruturas de seleção
As estruturas de seleção são controladas por variáveis ou
expressões que podem assumir uma multiplicidade de valores.

Em pseudocódigo
Selecionar Caso variável
<lista de valores> : <bloco de instruções>
<lista de valores> : <bloco de instruções>

[ Senão <bloco de instruções> ]
FimSelecionar
Estruturas de seleção (cont.)
Em fluxograma
Caso
variável

Valor 1 Valor 2 (…) Valor N [SENÃO]

Bloco de Bloco de Bloco de Bloco de


(…)
instruções 1 instruções 2 instruções N instruções Z
Início

Exemplo Escrever(“Qual a nota numérica?”)

Algoritmo classifica
Ler (Nota)
Variável Nota: Inteiro
Início Caso
Nota =
Escrever (“Qual a nota numérica?”)
Ler (Nota) 0, 1, 2, 3, 4 Escrever (“Mau”)
Seleccionar Caso Nota
5, 6, 7, 8, 9 Escrever (“Medíocre”)
0, 1, 2, 3, 4 : Escrever (“Mau”)
5, 6, 7, 8, 9 : Escrever (“Medíocre”) 10, 11, 12, 13 Escrever (“Suficiente”)

10, 11, 12, 13 : Escrever (“Suficiente”) 14, 15, 16, 17 Escrever (“Bom”)
14, 15, 16, 17 : Escrever (“Bom”)
18, 19, 20 Escrever (“Muito Bom”)
18, 19, 20 : Escrever (“Muito Bom”)
Senão Escrever (“Nota inválida”) Se não for Escrever (“Nota inválida”)
nenhum dos
FimSeleccionar valores
anteriores
Fim
Fim
Exercício 14
Elaborar o pseudocódigo para apresentar a estação do ano
correspondente ao mês, em número inteiro, introduzido pelo
utilizador. Utilizar uma estrutura de seleção.
Considerar o seguinte:
1, 2, 3 – Inverno
4, 5, 6 – Primavera
7, 8, 9 – Verão
10, 11, 12 – Outono
Exercício 15
Elaborar o pseudocódigo que receba do utilizador um número
inteiro e uma opção de acordo com:
Caso a opção seja igual a 1 deve calcular e mostrar o
quadrado do número, caso seja igual a 2 deve calcular e
mostrar o dobro do número, caso seja igual a 3 deve calcular e
mostrar o triplo do número.
Caso a opção for diferente das opções 1,2 e 3 deve aparecer
no ecrã, “A opção introduzida é incorreta”.
Estruturas de repetição
Nas estruturas de repetição com a condição de controlo no final
do ciclo implica que as instruções nela indicadas serão
executadas pelo menos uma vez.

Em pseudocódigo
Repetir
<bloco de instruções>
Até que <condição>
Estruturas de repetição (cont.)
Em fluxograma

Bloco de acções

Falso
Condição

Verdade
Exemplo 1 Início

Escrever (“Tabuada do 2”)


Algoritmo tabuada2
Variáveis n: Inteiro n←1

Início
Escrever (“Tabuada do 2”)
n1 Escrever (n, “ * 2 = “, n*2)

Repetir
n←n+1
Escrever (n, “ * 2 = “, n*2)
nn+1
Falso
n >10
Até que (n > 10)
Verdade
Fim
Fim
Exemplo 2 Início

Moedas← 10

Algoritmo jogo
Variáveis Moedas, Obtidas: Inteiros
Introduzir moeda
Início
Moedas  10 Moedas← Moedas -1

Repetir Puxar alavanca


Introduzir moeda na máquina
Ler (Obtidas)
Moedas  Moedas -1
Puxar alavanca da máquina Moedas← Moedas + Obtidas
Ler (Obtidas)
Moedas  Moedas + Obtidas (Moedas = 0) ou (Moedas >= 100) Falso

Até que (Moedas = 0) Ou (Moedas >= 100)


Verdade
Escrever (Moedas)
Escrever (Moedas)
Fim
Fim
Exercício 16
Elaborar o pseudocódigo e o fluxograma para apresentar ao
utilizador os números de 1 a 12. Utilize uma estrutura de
repetição com a condição de controlo no final do ciclo.
Exercício 17
Elaborar o fluxograma e o pseudocódigo para somar os
números inteiros entre 1 e 10. Utilize uma estrutura de
repetição com a condição de controlo no final do ciclo.
Exercício 18
Elaborar o fluxograma e o pseudocódigo para somar os
números pares compreendidos entre 2 e 50. Utilize uma
estrutura de repetição com a condição de controlo no final do
ciclo.
Estruturas de repetição (cont.)
Nas estruturas de repetição com a condição de controlo no
início do ciclo implica que as instruções nela indicadas poderão
não ser executadas sequer uma única vez.

Em pseudocódigo
Enquanto <condição>
Fazer
<bloco de instruções>
FimFazer
Estruturas de repetição (cont.)
Em fluxograma

Falso
Condição

Verdade

Bloco de acções
Exemplo Início

Escrever (“Tabuada do 2”)


Pseudocódigo: Fluxograma:

Algoritmo tabuadadois n←1

Variáveis n: Inteiro
Início
Escrever (“Tabuada do 2”) n <=10
Falso

n1 Verdade
Enquanto (n <= 10)
Escrever (n, “ * 2 = “, n*2)
Fazer
Escrever (n, “ * 2 = “, n*2) n←n+1
nn+1
FimFazer
Fim Fim
Exercício 19
Elaborar o pseudocódigo e o fluxograma para somar os números
inteiros entre 3 e 12. Utilize uma estrutura de repetição com a
condição de controlo no início do ciclo.
Exercício 20
Elaborar o pseudocódigo e o fluxograma para somar os números
ímpares compreendidos entre 1 e 25. Utilize uma estrutura de
repetição com a condição de controlo no início do ciclo.
Estruturas de repetição (cont.)

Iteração – cada uma das vezes que as ações dentro de


um ciclo são executadas.

Contador – variável que conta o número de iterações


ou repetições de um ciclo.
Estruturas de repetição (cont.)
Nas estruturas de repetição com contador automático
quando é atingida a última instrução indicada no ciclo, a
incrementação da variável de controlo do ciclo é feita
automaticamente e, de regresso ao cabeçalho do ciclo,
compara o valor da variável Contador com o valor indicado em
ValorFinal.
Estruturas de repetição (cont.)

Em pseudocódigo
Para Contador de <ValorInicial> Até <ValorFinal>
Fazer
<bloco de instruções>
FimFazer
Estruturas de repetição (cont.)
Em fluxograma
Contador  ValorInicial

Falso
Contador <= ValorFinal

Verdade

Bloco de acções

Contador  Contador + 1
Exemplo Início

Escrever (“Tabuada do 2”)


Pseudocódigo: Fluxograma:

Algoritmo tabuadado2 n←1

Variáveis n: Inteiro
Início
Escrever (“Tabuada do 2”) n <=10
Falso

Para n  1 Até 10 Verdade


Fazer
Escrever (n, “ * 2 = “, n*2)
Escrever (n, “ * 2 = “, n*2)
nn+1 n←n+1
FimFazer
Fim
Fim
Exercício 21
Elaborar o fluxograma e o pseudocódigo para calcular a média
dos números inteiros entre 5 e 15. Utilize uma estrutura de
repetição com contador automático.
Exercício 22
Elaborar o pseudocódigo para calcular a soma dos números
inteiros entre 1 e um número introduzido pelo utilizador. O
número introduzido deverá ser superior a 1.
Exercício 23
Elaborar o pseudocódigo que mostre o quadrado dos
números de 1 a 25 (inclusive).
Exercício 24
Elaborar o pseudocódigo que permita ao utilizador introduzir
dez números inteiros, calculando a média apenas dos números
positivos.

Você também pode gostar