Sie sind auf Seite 1von 178

Como programar?

Aprenda a programar com facilidade com o bê-a-bá da


programação - Lógica de Programação

Osvaldo Livondeni

1
Conteúdo
1. Introdução
2. Instruções executáveis básicas
3. Operadores
4. Instruções condicionais
5. Instruções repetitivas
6. Tabelas de uma dimensão (vectores)
7. Algoritmos básicos para lidar com tabelas de uma dimensão
(vectores)
8. Tabelas de duas dimensões (matrizes)
9. Algoritmos básicos para lidar com tabelas de duas dimensões
(matrizes)
10. Funções e procedimentos

2
“Tudo é difícil… até que alguém nos ensine como fazer”

3
Quando comecei a leccionar programação num instituto
superior politécnico em Luanda, os estudantes aprendiam
programação com certa facilidade, isto, embora as pessoas
dizerem ter muitas dificuldades em aprender a programar e
que programação é um bicho de sete cabeças.
Muita gente acha programação difícil porque os professores
ensinam a programar directamente através de uma linguagem
de programação.
Isto é um erro. Ensinar programação directamente através de
uma linguagem de programação, sem ensinar lógica de
programação, é como ensinar a ler sem ensinar o alfabeto.

4
Escrevi este eBook para ensinar o bê-a-bá da
programação e permitir que se aprenda a programar
com facilidade, mesmo você nunca teve contacto
com programação antes.

Neste eBook, você vai aprender o "alfabeto" da


programação - Lógica de Programação.

Pronto para aprender o bê-a-bá da programação?


Então vamos!

5
1.Introdução

6
Conteúdo Algoritmo
1. Introdução
2. Instruções
executáveis Para aprender a programar a gente tem de saber o bê-a-bá
básicas
da programação - Lógica de Programação ou Algoritmo
3. Operadores
4. Instruções
condicionais
5. Instruções
Definição:
repetitivas • Um algoritmo é uma sequência de instruções bem
6. Vectores definidas com o fim de solucionar um problema.
7. Algoritmos
básicos para lidar • Um algoritmo representa os passos necessários para
com vectores realizar uma tarefa.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

7
Conteúdo Algoritmo (cont.)
1. Introdução
2. Instruções
executáveis Um exemplo comum de algoritmo seria uma receita de
básicas
culinária onde de antemão estão definidos os ingredientes
3. Operadores
e os passos necessários para realizar um prato:
4. Instruções
condicionais
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

8
Conteúdo Algoritmo (cont.)
1. Introdução
2. Instruções
executáveis Receita de Bolo de banana
básicas
3. Operadores
4. Instruções Ingredientes
condicionais 7 bananas
5. Instruções
repetitivas 1 colher (sopa) de fermento
6. Vectores 2 chávenas (chá) de farinha de trigo …
7. Algoritmos
básicos para lidar
com vectores Modo de preparo
8. Matrizes 1. Coloque no liquidificador os ovos, o óleo, o açúcar e, por
9. Algoritmos último, o leite. Bata bem todos os ingredientes, até obter uma
básicos para lidar mistura homogênea.
com matrizes
10. Funções e 2. Acrescente, aos poucos, a farinha de trigo no liquidificador
procedimentos ligado. Por fim, adicione o fermento. Reduza a velocidade do
liquidificador e bata apenas para que a massa possa
incorporar o fermento…

9
Conteúdo Estrutura de um algoritmo
1. Introdução
2. Instruções
executáveis • Assim como a receita de culinária o algoritmo está
básicas
dividido em três partes:
3. Operadores
4. Instruções
• Cabeçalho;
condicionais • Parte declarativa;
5. Instruções • Bloco de instruções executáveis.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

10
Conteúdo Estrutura de um algoritmo
1. Introdução
2. Instruções
executáveis • Cabeçalho: Nesta parte especificamos o nome que do
básicas
algoritmo (Sem espaço nem caracter especial). Se
3. Operadores
comparada a uma receita seria o nome da receita
4. Instruções
condicionais
5. Instruções
repetitivas Exemplo:
6. Vectores • Receita: Receita de Bolo de banana …
7. Algoritmos • Algoritmo: Algoritmo Multiplicacao_de_dois_numeros_inteiros
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

11
Conteúdo Estrutura de um algoritmo (cont.)
1. Introdução
2. Instruções
executáveis Parte declarativa
básicas
3. Operadores • Nesta parte declaramos todas as variáveis necessárias
4. Instruções para a execução do algoritmo. Se comparada a uma
condicionais receita seriam os ingredientes da receita.
5. Instruções
repetitivas
6. Vectores Exemplo:
7. Algoritmos
• Receita: 1Kg de farinha, 2 ovos, 2 bananas ...
básicos para lidar
com vectores • Algoritmo: Numero1, Numero2: Inteiro
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

12
Conteúdo Estrutura de um algoritmo (cont.)
1. Introdução
2. Instruções
executáveis Bloco de instruções executáveis
básicas
3. Operadores
• Nesta parte escrevemos os passos necessários para
4. Instruções
solucionar o problema.
condicionais • É delimitado pelas palavras Início e Fim. Se comparada
5. Instruções a uma receita seriam os passos necessários para realizar
repetitivas o prato.
6. Vectores
7. Algoritmos
básicos para lidar Exemplo:
com vectores • Receita:
8. Matrizes Colocar o açúcar e a manteiga numa tigela e misturar bem.
9. Algoritmos Aumentar os ovos, voltar a misturar
básicos para lidar
com matrizes
• Algoritmo:
10. Funções e
procedimentos Numero1 <- 8;
Numero2 <- 4;
Resultado <- Numero1 x Numero2;

13
Conteúdo Estrutura de um algoritmo (cont.)
1. Introdução
2. Instruções
executáveis Exemplo completo de um algoritmo:
básicas
3. Operadores
4. Instruções Algoritmo: Nome_do_algoritmo
condicionais
5. Instruções Variáveis: <Declaração de variáveis>
repetitivas
6. Vectores
Início
7. Algoritmos <Instruções executáveis>
básicos para lidar
com vectores Fim
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

14
Conteúdo Exercícios
1. Introdução
2. Instruções
executáveis 1. Dizer as 3 partes que constituem um algoritmo.
básicas
3. Operadores
4. Instruções
condicionais
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

15
2. Instruções executáveis
básicas

16
Conteúdo Variável
1. Introdução
2. Instruções
executáveis • Lugar na memória do computador que contem o valor
básicas
utilizado durante a execução do programa.
3. Operadores
4. Instruções • Um recipiente que vai albergar um valor.
condicionais
5. Instruções
• Se comparado a uma receita de culinária seria a tigela
repetitivas que contem o açúcar, ou o copo que contem o óleo,
6. Vectores ou a jarra, que contem a água, ou a colher que contem
7. Algoritmos a canela.
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

17
Conteúdo Tipos de variáveis
1. Introdução
2. Instruções
executáveis Se comparado com a receita de culinária, é o tamanho de
básicas
uma variável:
3. Operadores
4. Instruções • Inteiro: São os valores numéricos inteiros.
condicionais
5. Instruções
Ex: 5, -1, 999;
repetitivas • Decimal: Números decimais.
6. Vectores
7. Algoritmos
Ex: 3.4, -1.5, 5, 100
básicos para lidar • Boleano: Composto por dois valores apenas -
com vectores
8. Matrizes
Verdadeiro ou Falso;
9. Algoritmos • Carácter: Para simplificar... São os valores alfabéticos e
básicos para lidar alfanuméricos
com matrizes
10. Funções e Ex: Joao, Ana2)
procedimentos

Boleano < Inteiro < Decimal < Caracter

18
Conteúdo Identificador
1. Introdução
2. Instruções
executáveis • Nome da variável dado pelo programador.
básicas
• Se comparado a uma receita de culinária seriam os nomes do
3. Operadores
recipientes: Colher de chá, colher de sopa etc.
4. Instruções
condicionais
5. Instruções Regra:
repetitivas
6. Vectores • Deve começar com uma letra;
7. Algoritmos • Não pode conter espaço;
básicos para lidar
com vectores • Os únicos caracteres especiais permitidos são “-” e “_”.
8. Matrizes
9. Algoritmos Exemplos de identificadores correctos:
básicos para lidar
com matrizes • soma, produto, Num1, Val_Inteiro, Numero-Primo, A, a.
10. Funções e
procedimentos
Exemplos de identificadores incorrectos:
• _soma, .produto, 1Num, Val Inteiro, Numero Primo, *A, -a.

19
Conteúdo Comentário
1. Introdução
2. Instruções
executáveis • Notas ou explicações não executáveis que inserimos no
básicas algoritmo/programa.
3. Operadores
4. Instruções
condicionais Sintaxe:
5. Instruções • // Comentário em uma linha
repetitivas
6. Vectores • /* Comentário
7. Algoritmos em várias
básicos para lidar
com vectores linhas */
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

20
Conteúdo Declaração de uma variável
1. Introdução
2. Instruções
executáveis • Na declaração de uma variável dizemos ao processador as
básicas variáveis que vamos utilizar ao longo do programa para que ele
3. Operadores reserve os espaços necessários na memória.
4. Instruções
condicionais
5. Instruções Sintaxe:
repetitivas • Nome da variável: tipo
6. Vectores
7. Algoritmos
• Var1, Var2, …, VarN: tipo
básicos para lidar
com vectores
Exemplo:
8. Matrizes
9. Algoritmos • A: caracter
básicos para lidar • Numero1, Numero2: inteiro
com matrizes
10. Funções e
procedimentos

21
Conteúdo Afectação de uma variável
1. Introdução
2. Instruções
executáveis • Na afectação preenchemos o lugar reservado com o respectivo
básicas valor.
3. Operadores
• Se comparada a receita de culinária seria o acto de preencher a
4. Instruções
tigela com açúcar, ou copo com água etc.
condicionais
5. Instruções
repetitivas Sintaxe
6. Vectores
7. Algoritmos
• Variável ← Valor (Lê-se: Variável recebe Valor)
básicos para lidar
com vectores
Exemplo:
8. Matrizes
9. Algoritmos • C←5
básicos para lidar
com matrizes
10. Funções e
procedimentos

22
Conteúdo Instrução de leitura de dados (input)
1. Introdução
2. Instruções
executáveis • Usada para ler obter dados do utilizador através do teclado.
básicas
3. Operadores
4. Instruções Sintaxe
condicionais • ler(variável)
5. Instruções
repetitivas
6. Vectores Exemplo:
7. Algoritmos
• ler(A)
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

23
Conteúdo Instrução de escritura de dados (output)

1. Introdução
2. Instruções
executáveis • Usada para mostrar algo ao utilizador através do ecrã.
básicas
3. Operadores
4. Instruções Sintaxe
condicionais • escrever(“expressão”)
5. Instruções
repetitivas • escrever(variavel)
6. Vectores • escrever(“expressão”, variavel)
7. Algoritmos
básicos para lidar
com vectores Exemplo
8. Matrizes
• escrever(“Bem-vindo à aplicação GGPEN”)
9. Algoritmos
básicos para lidar • escrever(var1)
com matrizes • escrever(“resultado”, var1)
10. Funções e
procedimentos

24
Conteúdo O seu primeiro algoritmo
1. Introdução
2. Instruções
executáveis Algoritmo Multiplicacao
básicas
Variáveis: A, B, produto: inteiro
3. Operadores
4. Instruções
condicionais Início
5. Instruções
repetitivas
escrever (“Bem-vindo a aplicação Multiplicação”)
6. Vectores escrever ("Digitar o primeiro número”)
7. Algoritmos ler (A)
básicos para lidar escrever ("Digitar o segundo número”)
com vectores
ler (B)
8. Matrizes
produto ← A x B
9. Algoritmos
básicos para lidar escrever ("O resultado é: ”, produto)
com matrizes Fim
10. Funções e
procedimentos

25
3. Operadores

26
Conteúdo Definição
1. Introdução
2. Instruções
executáveis • São expressões colocadas entre variáveis com o fim de
básicas
calcular e obter um resultado.
3. Operadores
4. Instruções
condicionais
5. Instruções
Exemplo:
repetitivas • A+B
6. Vectores
7. Algoritmos
• X<Y
básicos para lidar • CEZ
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

27
Conteúdo Tipos de Operadores
1. Introdução
2. Instruções
executáveis Os operadores são basicamente de três tipos:
básicas
3. Operadores • Aritméticos (+, -, x, /)
4. Instruções • Comparação ou relacionais (>, <, =, ≠, ≥, ≤)
condicionais
5. Instruções • Lógicos (E, OU, Não)
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

28
Conteúdo Utilizando os operadores aritméticos
1. Introdução
2. Instruções
executáveis Algoritmo: OperadoresAritmeticos
básicas Variáveis:
3. Operadores
// Declaração de variáveis
4. Instruções
condicionais altura, largura: Inteiro
5. Instruções X, Y, A, B, soma, divisao, subtracao, produto : Decimal
repetitivas
6. Vectores
7. Algoritmos
Início
básicos para lidar // Afectação de variáveis
com vectores altura ← 100
8. Matrizes
largura ← 40
9. Algoritmos
básicos para lidar X ← 2.3
com matrizes Y ← 3.4
10. Funções e
procedimentos
A←X
B←Y

29
Conteúdo Utilizando os operadores aritméticos (cont.)

1. Introdução
2. Instruções
executáveis subtracao ← altura – largura
básicas
3. Operadores soma ← A + B
4. Instruções produto ← A x B
condicionais
5. Instruções divisao ← X/Y
repetitivas
6. Vectores
escrever(“A subtração é”, subtracao)
7. Algoritmos escrever(“A soma é”, soma)
básicos para lidar
com vectores escrever(“O produto é”, produto)
8. Matrizes Fim
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

30
Conteúdo Utilizando os operadores de comparação

1. Introdução
2. Instruções
executáveis Nota importante: O resultado de uma operação de comparação é de tipo booleano –
Verdade ou Falso.
básicas
3. Operadores
Algoritmo: Comparacao
4. Instruções
Variáveis:
condicionais
5. Instruções // Declaração de variáveis
repetitivas X, Y: Inteiro
6. Vectores A, B, C, D, E, F: Booleano
7. Algoritmos Inicio
básicos para lidar // Afectação de variáveis
com vectores X ← 10
8. Matrizes Y ← 20
9. Algoritmos A ← X < Y // A recebe Verdade
básicos para lidar B ← X > Y // B recebe Falso
com matrizes C ← X = Y // C recebe Verdade
10. Funções e D ← X ≠ Y // D recebe Falso
procedimentos
E ← X ≤ Y // E recebe Verdade
F ← (X ≥ Y) // F recebe Falso
Fim

31
Conteúdo Operadores lógicos
1. Introdução
2. Instruções
executáveis • Os operadores lógicos mais usados são E (AND), OU
básicas
(OR), NÃO (NOT).
3. Operadores
4. Instruções
condicionais
5. Instruções
Nota importante:
repetitivas • São utilizados para operar variáveis do tipo booleano
6. Vectores (Verdade ou Falso).
7. Algoritmos
básicos para lidar • O resultado de uma operação logica e de tipo
com vectores Booleano.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

32
Conteúdo Operadores lógicos (cont.)
1. Introdução
2. Instruções
executáveis Operador lógico E (AND)
básicas
3. Operadores O resultado será Verdade quando A e B forem Verdade.
4. Instruções
condicionais
5. Instruções Tabela de verdade do operador lógico E
repetitivas
6. Vectores
A B AEB
7. Algoritmos
básicos para lidar Falso Falso Falso
com vectores
8. Matrizes
Falso Verdade Falso
9. Algoritmos Verdade Falso Falso
básicos para lidar
com matrizes Verdade Verdade Verdade
10. Funções e
procedimentos

33
Conteúdo Operadores lógicos (cont.)
1. Introdução
2. Instruções
executáveis Operador lógico OU (OR)
básicas
3. Operadores O resultado será Verdade quando A OU B for Verdade.
4. Instruções
condicionais
5. Instruções Tabela de verdade do operador lógico OU
repetitivas
6. Vectores
A B A OU B
7. Algoritmos
básicos para lidar Falso Falso Falso
com vectores
8. Matrizes
Falso Verdade Verdade
9. Algoritmos Verdade Falso Verdade
básicos para lidar
com matrizes Verdade Verdade Verdade
10. Funções e
procedimentos

34
Conteúdo Operadores lógicos (cont.)
1. Introdução
2. Instruções
executáveis Operador lógico NÃO (NOT)
básicas
3. Operadores O resultado é o oposto do operando
4. Instruções
condicionais
5. Instruções Tabela de verdade do operador lógico NÃO
repetitivas
6. Vectores
A NÃO (A)
7. Algoritmos
básicos para lidar Falso Verdade
com vectores
8. Matrizes
Verdade Falso
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

35
Conteúdo Utilizando os operadores lógicos
1. Introdução
2. Instruções
executáveis Algoritmo: Operadores_logicos
básicas
Variáveis:
3. Operadores
4. Instruções X, Y: Inteiro
condicionais A, B, C, D: Booleano
5. Instruções
repetitivas Inicio
6. Vectores // Afectação de variáveis
7. Algoritmos X ← 10
básicos para lidar
com vectores Y ← 20
8. Matrizes A ← (X < Y) E (X > Y); /* A recebe Falso porque temos
9. Algoritmos (Verdade E Falso) */
básicos para lidar
com matrizes C ← (X ≤ Y) OU (X = Y); /* C recebe Verdade porque
10. Funções e temos (Verdade OU Falso) */
procedimentos B ← NÃO (X > Y) /* B recebe Verdade porque temos
NÃO (Falso) */
Fim

36
4. Instruções Condicionais
Se a temperatura do fogo estiver a 100 graus, parar de aquecer…

37
Conteúdo Introdução
1. Introdução
2. Instruções
executáveis • Ao executarmos uma receita de culinária, poderemos
básicas
ver que certos passos só são executados em certas
3. Operadores
circunstâncias.
4. Instruções
condicionais • Esses passos só são executados caso algo de especial
5. Instruções aconteça.
repetitivas
6. Vectores Exemplo:
7. Algoritmos • Abrir a tampa da panela se a água transbordar por
básicos para lidar
com vectores causa da temperatura.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

38
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Em programação também, as vezes nós queremos que
básicas
certa parte do programa seja executada apenas em
3. Operadores
determinada condição.
4. Instruções
condicionais • Nestes casos usamos as instruções condicionais.
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

39
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis Se comparada a receita do bolo, seria:
básicas
3. Operadores • Se a temperatura do forno chegar a 50ºC, então reduzir
4. Instruções para 30º
condicionais
5. Instruções
Em algoritmo, seria mais ou menos assim:
repetitivas • Se T = 50 Então T ← 30
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

40
Conteúdo Tipos de instruções condicionais
1. Introdução
2. Instruções
executáveis Existem basicamente 2 tipos de instruções condicionais:
básicas
3. Operadores • Tipo 1: Se … Então …
4. Instruções • Tipo 2: Se … Então … Se não …
condicionais
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

41
Conteúdo Instruções condicionais tipo 1: se … então …

1. Introdução
2. Instruções
executáveis É o tipo mais simples. Igual o do exemplo, ou seja:
básicas
3. Operadores • Se a temperatura do forno chegar a 50ºC, então reduzir
4. Instruções para 30º
condicionais
5. Instruções
repetitivas Em algoritmo:
6. Vectores
7. Algoritmos
• Se T = 50 Então T ← 30 Fim Se
básicos para lidar
com vectores
8. Matrizes Sintaxe:
9. Algoritmos
básicos para lidar
• Se <condição> Então <instrução> Fim Se
com matrizes
10. Funções e
procedimentos

42
Instruções condicionais tipo 2: se … então … se
Conteúdo não
1. Introdução
2. Instruções
executáveis • É o tipo um pouco mais elaborado do tipo 1.
básicas
3. Operadores • Neste tipo, especificamos a condição em que a
4. Instruções instrução será realizada, e também especificamos uma
condicionais segunda instrução a ser realizada caso a condição não
5. Instruções for verificada.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

43
Instruções condicionais simples tipo 2 – se …
Conteúdo então … se não … (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
• Se a temperatura do forno chegar a 50ºC, então reduzir
3. Operadores
para 30º.
4. Instruções
condicionais • Se a temperatura do forno não chegar a 50ºC, então subir
5. Instruções a temperatura para 40ºC
repetitivas
6. Vectores
7. Algoritmos
Em algoritmo:
básicos para lidar Se T = 50 Então T ← 30
com vectores
Se não T = 40
8. Matrizes
9. Algoritmos Fim Se
básicos para lidar
com matrizes
10. Funções e Sintaxe:
procedimentos Se <condição> Então <instrução 1>
Se não <instrução 2>
Fim Se
44
Conteúdo Usando as instruções condicionais
1. Introdução
2. Instruções
executáveis Neste exemplo vamos escrever o algoritmo de uma
básicas aplicação que realiza a operação de divisão, com os
3. Operadores seguintes passos:
4. Instruções
condicionais • O programa pede para o utilizador introduzir o primeiro
5. Instruções
número;
repetitivas • O programa lê o primeiro número que o utilizador
6. Vectores digita;
7. Algoritmos
básicos para lidar
• O programa pede para o utilizador introduzir o
com vectores segundo número;
8. Matrizes • O programa lê o segundo número que o utilizador
9. Algoritmos digita;
básicos para lidar
com matrizes • Se o segundo número introduzido pelo utilizador for
10. Funções e igual a zero, o programa mostra a mensagem que não é
procedimentos possível dividir um número por zero.
• Caso contrário, o programa efectua a divisão dos dois
números e mostra o resultado;

45
Conteúdo Usando as instruções condicionais (cont.)

1. Introdução
2. Instruções
Algoritmo: Divisao
executáveis
básicas Variáveirs:
x, y: Decimal;
3. Operadores
divisao: Decimal;
4. Instruções Inicio
condicionais escrever(“Bem-vindo à aplicação Divisão”)
5. Instruções escrever(“Digitar o primeiro número”)
repetitivas ler(x)
6. Vectores escrever(“Digitar o segundo número”)
7. Algoritmos ler(y)
básicos para lidar
com vectores // Verificar o valor de y
8. Matrizes Se y=0 Então
escrever(“Não é possível dividir um número por zero”)
9. Algoritmos
Se não
básicos para lidar
// Operação de divisão
com matrizes
divisao ← x/y
10. Funções e
// Mostrar o resultado
procedimentos
escrever(“O resultado é”, divisao)
Fim Se
Fim

46
5. Instruções repetitivas
Mexer a massa n vezes até ficar homogênea …

47
Conteúdo Instruções repetitivas
1. Introdução
2. Instruções
executáveis • Imagina que vai escrever o algoritmo de uma aplicação
básicas
que mostra a sequência de números inteiros de 1 à 10
3. Operadores
com o que aprendeu até aqui ... – Fácil (mais 10 linhas
4. Instruções
condicionais de código)
5. Instruções • Ou escrever o algoritmo de uma aplicação que mostra a
repetitivas
sequência de números inteiros de 1 à 100 ... com o que
6. Vectores
aprendeu até aqui ... – Começar a dificuldade (mais 100
7. Algoritmos
básicos para lidar linhas de código)
com vectores
• Ou escrever o algoritmo de uma aplicação que mostra a
8. Matrizes
sequência de números inteiros de 1 à 1000 com o que
9. Algoritmos
básicos para lidar aprendeu até aqui ... – Muito cansativo e repetitivo
com matrizes (mais 1000 linhas de código)...
10. Funções e
procedimentos

48
Conteúdo Instruções repetitivas (cont.)
1. Introdução
2. Instruções
executáveis • Como podemos ver, quanto maior for o número de
básicas
repetições, mais extenso será o nosso algoritmo.
3. Operadores
4. Instruções • Felizmente existem as Instruções Repetitivas para que o
condicionais processador execute essas repetições automaticamente.
5. Instruções
repetitivas • Sendo assim, a utilidade das instruções repetitivas é
6. Vectores automatizar tarefas que se repetem.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

49
Conteúdo Instruções repetitivas (cont.)
1. Introdução
2. Instruções
executáveis • Tomemos o seguinte exemplo da nossa receita de bolo:
básicas
• Ao fazer o bolo, depois de meter os ingredientes, temos de
3. Operadores
misturar até a massa ficar homogênea.
4. Instruções
condicionais • Quem já fez ou viu a fazer um bolo sabe o quão
5. Instruções cansativo é misturar a massa do bolo à mão. A gente
repetitivas mistura, mistura e mistura mais...
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

50
Conteúdo Instruções repetitivas (cont.)
1. Introdução
2. Instruções
executáveis • Agora imagina um dispositivo que realiza as misturas
básicas
automaticamente.
3. Operadores
4. Instruções • Um dispositivo tipo o misturador que com apenas uma
condicionais apertada no botão ele mistura, mistura e mistura, até a
5. Instruções massa ficar homogênea.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

51
Conteúdo Instruções repetitivas (cont.)
1. Introdução
2. Instruções
executáveis • Em programação o nosso dispositivo de misturas
básicas
automáticas são as instruções repetitivas.
3. Operadores
4. Instruções • Elas são muito importantes porque nos permitem
condicionais automatizar tarefas que se repetem.
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

52
Conteúdo Tipos de Instruções repetitivas
1. Introdução
2. Instruções
executáveis Existem basicamente três tipos de instruções repetitivas:
básicas
3. Operadores • Tipo 1: De ... À ... Fazer
4. Instruções • Tipo 2: Enquanto ... Fazer
condicionais
5. Instruções • Tipo 3: Fazer ... Até que
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

53
Conteúdo Instruções repetitivas do tipo 1 – De ... A ... Fazer

1. Introdução
2. Instruções
executáveis Esta instrução repetitiva é utilizada quando sabemos de
básicas
antemão o número de repetições. Como, escrever de 1 à
3. Operadores
1000.
4. Instruções
condicionais
5. Instruções
repetitivas Sintaxe:
6. Vectores • de <variável> ← <valor de início> à <valor de término> fazer
7. Algoritmos <instruções>
básicos para lidar fim de
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

54
Instruções repetitivas do tipo 1 – De ... A ... Fazer
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Escrever de 1 à 1000.
4. Instruções
condicionais
5. Instruções Em algoritmo:
repetitivas
• de numero ← 1 à 1000 fazer
6. Vectores
escrever ( numero )
7. Algoritmos
básicos para lidar fim de
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

55
Instruções repetitivas do tipo 2 – Enquanto ...
Conteúdo Fazer
1. Introdução
2. Instruções
executáveis • Esta instrução é utilizada quando queremos que uma
básicas
instrução ou bloco de instruções seja executado
3. Operadores
repetidamente enquanto uma condição for Verdade.
4. Instruções
condicionais • Ou seja, sabemos o que queremos, mas não sabemos
5. Instruções quantas vezes serão necessárias repetir o processo até
repetitivas
atingir isso.
6. Vectores
7. Algoritmos • Como misturar a massa até ficar homogênea (Quantas
básicos para lidar vezes teremos de misturar? R: Não sabemos! )
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

56
Instruções repetitivas do tipo 2 – Enquanto ...
Conteúdo Fazer (cont.)
1. Introdução
2. Instruções
executáveis Sintaxe:
básicas
3. Operadores
• enquanto (condição) fazer
4. Instruções <instruções>
condicionais fim enquanto
5. Instruções
repetitivas
6. Vectores
Exemplo:
7. Algoritmos
básicos para lidar • enquanto (Massa ≠ Homogenea) fazer
com vectores Misturar ()
8. Matrizes
fim enquanto
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

57
Instruções repetitivas do tipo 2 – Enquanto ...
Conteúdo Fazer (cont.)
1. Introdução
2. Instruções
executáveis OBS:
básicas
3. Operadores • A Condição deve ser uma variável de tipo booleano ou
4. Instruções uma expressão que tem como resultado um booleano
condicionais (verdade ou falso).
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

58
Conteúdo Instruções repetitivas tipo 3 – Fazer ... Até que …

1. Introdução
2. Instruções
executáveis • Esta instrução é semelhante a passada, Enquanto …
básicas
Fazer …
3. Operadores
4. Instruções • É utilizada quando queremos que uma instrução ou
condicionais bloco de instruções seja executado repetidamente até
5. Instruções que uma condição seja Verdade.
repetitivas
6. Vectores • Ou seja, sabemos o que queremos, mas não sabemos
7. Algoritmos quantas vezes serão necessárias repetir o processo até
básicos para lidar atingir isso.
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

59
Conteúdo Instruções repetitivas tipo 3 – Fazer ... Até que … (cont.)

1. Introdução
2. Instruções
executáveis Sintaxe:
básicas
3. Operadores
• fazer
4. Instruções <instruções>
condicionais até que (condição)
5. Instruções
repetitivas
6. Vectores
Exemplo:
7. Algoritmos
básicos para lidar • Misturar a massa até ficar homogênea (Quantas vezes
com vectores teremos de misturar? R: Não sabemos! )
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
Em algoritmo:
10. Funções e • fazer
procedimentos
Misturar ( )
até que (Massa = Homogênea)

60
Conteúdo Instruções repetitivas tipo 3 – Fazer ... Até que … (cont.)

1. Introdução
2. Instruções
executáveis OBS:
básicas
3. Operadores • A grande particularidade deste tipo de instrução
4. Instruções repetitiva está no facto de ela executar as instruções
condicionais antes de verificar a condição;
5. Instruções
repetitivas • Então, as instruções serão executadas pelo menos uma
6. Vectores vez mesmo que a condição não permita.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

61
Conteúdo Usando as instruções repetitivas

1. Introdução
2. Instruções
executáveis • Neste exemplo vamos escrever o algoritmo de uma
básicas
aplicação que realiza a contagem de 1 à um número
3. Operadores
desejado pelo utilizador, com os seguintes passos:
4. Instruções
condicionais • O programa pede ao utilizador introduzir o número limite
5. Instruções de contagem;
repetitivas • O programa lê o número que o utilizador digita;
6. Vectores • O programa efectua a contagem até o número limite,
7. Algoritmos mostrando no ecrã a contagem.
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

62
Conteúdo Usando as instruções repetitivas (cont.)

1. Introdução
2. Instruções
executáveis Algoritmo: Contagem-Crescente
básicas Variáveis:
3. Operadores
i: inteiro;
4. Instruções
condicionais limite: inteiro;
5. Instruções Início
repetitivas escrever(“Bem-vindo à aplicação Contagem Crescente”)
6. Vectores escrever(“Digitar o numero limite para a
7. Algoritmos contagem”)
básicos para lidar
com vectores
8. Matrizes ler(limite)
9. Algoritmos
básicos para lidar /* Executar a contagem usando a instrução
com matrizes repetitiva do tipo 1 */
10. Funções e de i ← 1 à limite fazer
procedimentos
escrever(i)
fim de

63
Conteúdo Usando as instruções repetitivas (cont.)

1. Introdução
2. Instruções
executáveis /* Executar a contagem usando a instrução
básicas repetitiva do tipo 2 */
3. Operadores i←1
4. Instruções enquanto (i ≠ limite) fazer
condicionais
escrever(i)
5. Instruções
repetitivas i++ //é chamado “incremento”
6. Vectores fim enquanto
7. Algoritmos
básicos para lidar
/* Executar a contagem usando a instrução
com vectores repetitiva do tipo 3 */
8. Matrizes
i←1
9. Algoritmos
básicos para lidar fazer
com matrizes escrever(i)
10. Funções e i++ //é chamado “incremento”
procedimentos
até que (i = limite)
fim

64
6. Tabelas de uma
dimensão (vectores)

65
Conteúdo Tabelas de uma dimensão (vectores)

1. Introdução
2. Instruções
executáveis
básicas
• Em programação, uma tabela é simplesmente
3. Operadores uma estrutura de dados usada para armazenar
4. Instruções de forma organizada várias informações
condicionais
5. Instruções
relacionadas umas com as outras.
repetitivas
Por exemplo:
6. Vectores
7. Algoritmos • Os números das camisolas dos 11 jogadores de
básicos para lidar
com vectores futebol de uma equipa,
8. Matrizes
• Os nomes dos estudantes de uma turma,
9. Algoritmos
básicos para lidar • Os nomes dos habitantes de um bairro …
com matrizes
10. Funções e
procedimentos

66
Conteúdo Tabelas de uma dimensão (vectores)

1. Introdução
2. Instruções
executáveis
básicas
• Voltemos a nossa comparação com a receita de
3. Operadores culinária.
4. Instruções
condicionais
• Lembram-se quando definimos as Variáveis?
5. Instruções Pois, dissemos que uma Variável era um
repetitivas
recipiente que albergava um valor.
6. Vectores
7. Algoritmos • Lembram-se com que comparamos as variáveis
básicos para lidar
com vectores na receita de culinária? Pois, dissemos que eram
8. Matrizes como a tijela (que contem o acucar), o copo (que
9. Algoritmos contem o óleo), a jarra (que contem a agua) ...
básicos para lidar
com matrizes
10. Funções e
procedimentos

67
Conteúdo Tabelas de uma dimensão (vectores)

1. Introdução
2. Instruções
executáveis
básicas
• Por sua vez, a tabela seria um tipo de recipiente
3. Operadores com vários compartimentos, que nem aquelas
4. Instruções bandejas grandes usadas nos refeitórios onde
condicionais
5. Instruções
colocamos o arroz num compartimento, o peixe
repetitivas num outro, o molho também num outro etc.
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

68
Conteúdo Declaração de uma tabela de uma dimensão

1. Introdução
2. Instruções
executáveis
básicas
Representação gráfica de uma tabela:
3. Operadores
4. Instruções Índice
condicionais
5. Instruções
repetitivas 1 2 3 4 5
6. Vectores
João Manucho Paizinho Weza Ronaldo
7. Algoritmos
básicos para lidar
com vectores Elemento
8. Matrizes
9. Algoritmos
básicos para lidar • Índice: Serve para indicar a posição do elemento
com matrizes
10. Funções e
na tabela
procedimentos
• Elemento: Compartimento na tabela para
armazenar um valor.

69
Conteúdo Declaração de uma tabela de uma dimensão

1. Introdução
2. Instruções
executáveis
básicas
• Declaramos uma tabela escrevendo o nome da
3. Operadores tabela, dois pontos (:), seguido da palavra tabela
4. Instruções de;
condicionais
5. Instruções • A seguir especificamos o tipo de variável que ela
repetitivas
vai albergar;
6. Vectores
7. Algoritmos • Por último especificamos a quantidade
básicos para lidar
com vectores compartimentos entre parênteses rectos.
8. Matrizes
9. Algoritmos
básicos para lidar Sintaxe:
com matrizes
• Nome_da_tabela : tabela de <Tipo_de_variável> [1..<num de elementos>]
10. Funções e
procedimentos

70
Conteúdo Declaração de uma tabela de uma dimensão (cont.)

1. Introdução
2. Instruções
executáveis
básicas
Exemplos:
3. Operadores • tab1: tabela de Inteiro [1..10]; // Declaração de
4. Instruções uma tabela que armazenará 10 valores inteiros
condicionais • tab2: tabela de Real [1..15]; // Declaração de uma
5. Instruções tabela que armazenará 15 valores reais
repetitivas
• tab3: tabela de Carácter [1..100]; // Declaração
6. Vectores de uma tabela que armazenará 100 carácteres.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

71
Conteúdo Aceder os elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
• Quando declaramos uma tabela:
3. Operadores • T : tabela de Inteiro [1..10];
4. Instruções • Estamos na verdade a definir uma tabela de 10
condicionais
5. Instruções compartimentos indexados de 1 a 10.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

72
Conteúdo Aceder os elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis • Para acedermos um compartimento da tabela especificamos o
básicas nome da tabela seguido do índice do compartimento entre
3. Operadores parênteses rectos.
4. Instruções
condicionais Exemplos:
5. Instruções
repetitivas 1 2 3 4 5 6 7 8 9 10
6. Vectores
7. Algoritmos 1 100 8 9 856 7 0 18 99 36
básicos para lidar
com vectores
8. Matrizes T[1] T[3] T[10]
9. Algoritmos
básicos para lidar • Aceder o primeiro elemento de T:
com matrizes • T[1]
10. Funções e
procedimentos
• Aceder o terceiro elemento de T:
• T[3]
• Aceder o décimo elemento de T:
• T[10]

73
Conteúdo Afectação de uma tabela

1. Introdução
2. Instruções
executáveis
básicas
• Para afectarmos uma tabela, fazemo-lo de três
3. Operadores formas diferentes:
4. Instruções • Na declaração da tabela;
condicionais • Especificando o compartimento que vai receber o valor;
5. Instruções
repetitivas • Usando uma instrução repetitiva.
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

74
Conteúdo Afectação de uma tabela

1. Introdução
2. Instruções
executáveis
básicas
Na declaração da tabela:
3. Operadores • numeros_barcelona: tabela de inteiro [1..5] ← {4, 1, 2, 7, 6}
4. Instruções
condicionais
5. Instruções Teremos:
repetitivas
6. Vectores 1 2 3 4 5
7. Algoritmos
básicos para lidar 4 1 2 7 6
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

75
Conteúdo Afectação de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
Especificando o compartimento que vai receber o
3. Operadores valor:
4. Instruções
condicionais
• Dada a seguinte tabela:
5. Instruções • nomes_barcelona: tabela de caracter [1..3]
repetitivas
• Para afectarmos o valor “Messi” no 1º compartimento
6. Vectores
7. Algoritmos
fazemos o seguinte:
básicos para lidar • nomes_barcelona[1] ← “Messi”
com vectores
• Para afectarmos o valor “Iniesta” no 2º compartimento
8. Matrizes
9. Algoritmos
fazemos o seguinte:
básicos para lidar • nomes_barcelona[2] ← “Iniesta”
com matrizes
• Para afectarmos o valor “Piqué” no 3º compartimento
10. Funções e
procedimentos fazemos o seguinte:
• nomes_barcelona[3] ← “Piqué”

76
Conteúdo Afectação de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
• Teremos então:
3. Operadores
4. Instruções 1 2 3
condicionais Messi Iniesta Piqué
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

77
Conteúdo Afectação de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
• Usando a instrução repetitiva:
3. Operadores de i ← 1 à 3 fazer
4. Instruções tabela_unidade [i] ← 1
condicionais
5. Instruções fim de
repetitivas
6. Vectores
7. Algoritmos • Teremos:
básicos para lidar
com vectores
8. Matrizes 1 2 3
9. Algoritmos 1 1 1
básicos para lidar
com matrizes
10. Funções e
procedimentos

78
Conteúdo Mostrar o conteúdo de uma tabela

1. Introdução
2. Instruções
executáveis
básicas
Mostrar o conteúdo de alguns compartimentos de
3. Operadores uma tabela:
4. Instruções
condicionais
• Já é sabido que para mostrar algo no ecrã usa-se
5. Instruções a instrução de saída/output de dados escrever();
repetitivas
6. Vectores • E para aceder um compartimento da tabela usa-
7. Algoritmos se o nome da tabela seguido do índice do mesmo
básicos para lidar
com vectores colocado entre parênteses recto;
8. Matrizes
• Então para mostrar o valor/conteúdo de um
9. Algoritmos
básicos para lidar compartimento da tabela usa-se uma
com matrizes combinação destas duas instruções.
10. Funções e
procedimentos

79
Conteúdo Mostrar o conteúdo de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
Exemplo:
3. Operadores • Dada a tabela
4. Instruções
• nomes_barcelona: tabela de caracter [1..3]
condicionais
← {“Messi”, “Iniesta”, “Piqué”}
5. Instruções
repetitivas • Vamos mostrar no ecrã o seu 2º elemento:
6. Vectores
• escrever(nomes_barcelona[2]) /* Vai
7. Algoritmos
básicos para lidar
mostrar o valor Iniesta no ecrã */
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

80
Conteúdo Mostrar o conteúdo de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
Mostrar o conteúdo de toda a tabela
3. Operadores • Visto que os compartimentos de uma tabela
4. Instruções
condicionais
estão indexados de forma contínua: 1, 2, 3, ...,N
5. Instruções
repetitivas
• Para mostrar todos os elementos de uma tabela
6. Vectores temos de usar uma estrutura repetitiva.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

81
Conteúdo Mostrar o conteúdo de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis
básicas
Exemplo:
3. Operadores • Dada a tabela
4. Instruções
• nomes_barcelona: tabela de caracter [1..3]
condicionais
← {“Messi”, “Iniesta”, “Piqué”}
5. Instruções
repetitivas • Para mostrar todos os elementos de T fazemos:
6. Vectores
de i ← 1 à 3 fazer
7. Algoritmos
básicos para lidar escrever (nomes_barcelona [i])
com vectores fim de
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

82
7. Algoritmos básicos para
lidar com tabelas de
uma dimensão
(vectores)

83
Algoritmos básicos para lidar com tabelas de uma
Conteúdo dimensão (vectores)
1. Introdução
2. Instruções
executáveis • Os algoritmos básicos para lidar com tabelas são a base
básicas
para assimilar o raciocínio lógico de algoritmos
3. Operadores
complexos.
4. Instruções
condicionais • Tudo que quero que vocês retenham são os
5. Instruções CONCEITOS.
repetitivas
6. Vectores • Não tentem decorar os algoritmos, porque vão esquecer
7. Algoritmos daqui a algum tempo – Eu só me estou a recordar deles
básicos para lidar agora que estou a vos ensinar…
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

84
Algoritmos básicos para lidar com tabelas de uma
Conteúdo dimensão (vectores)
1. Introdução
2. Instruções
executáveis Os algoritmos básicos para lidar com tabelas são:
básicas
3. Operadores • Intercambiar dois elementos de uma tabela;
4. Instruções • Procurar um elemento na tabela
condicionais
5. Instruções • Procurar o mínimo
repetitivas
6. Vectores
• Procurar o máximo
7. Algoritmos • Procurar a posição do mínimo
básicos para lidar
com vectores • Procurar a posição do máximo
8. Matrizes • Algoritmo de ordenação – Sorting algoritm
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

85
Conteúdo Intercambiar dois elementos de uma tabela

1. Introdução
2. Instruções
executáveis • Imaginemos que temos um copo com água e um outro
básicas
com azeite.
3. Operadores
4. Instruções • Como faria se lhe pedissem para intercambiar o
condicionais conteúdo dos dois copos, ou seja, meter a água no
5. Instruções copo de azeite, e o azeite no copo de água?
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

86
Conteúdo Intercambiar dois elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis • Se quisermos intercambiar o conteúdo dos dois copos
básicas
precisaremos de um copo adicional e agiríamos da
3. Operadores
seguinte forma:
4. Instruções
condicionais 1. Colocaríamos a água no recipiente adicional;
5. Instruções 2. Colocaríamos em seguida o azeite no copo onde estava a
repetitivas água;
6. Vectores 3. Para terminar colocaríamos a água do recipiente adicional
7. Algoritmos para o recipiente onde estava o azeite.
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

87
Conteúdo Intercambiar dois elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis • O mesmo fazemos em programação para intercambiar
básicas
valores de duas variáveis.
3. Operadores
4. Instruções • Dadas as variáveis variavel1←5 e variavel2←10.
condicionais
5. Instruções
• Para intercambiarmos os seus respectivos valores fazemos
repetitivas o seguinte:
6. Vectores 1. temp ← variavel1 /* Colocamos o valor de variavel1
7. Algoritmos numa variável temporária */
básicos para lidar 2. variavel1 ← variavel2
com vectores
3. variavel2 ← temp /* Colocamos em variavel2 o valor da
8. Matrizes varável temporária */
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

88
Conteúdo Intercambiar dois elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Dada a seguinte tabela nomes_barcelona: tabela de
4. Instruções caracter [1..3] ← {“Messi”, “Iniesta”, “Piqué”}
condicionais
5. Instruções 1 2 3
repetitivas
6. Vectores Messi Iniesta Piqué
7. Algoritmos
básicos para lidar Intercambiemos o 1º e 3 elemento:
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

89
Conteúdo Intercambiar dois elementos de uma tabela (cont.)

1. Introdução
2. Instruções
executáveis 1. temp ← nomes_barcelona[1] /* Colocamos o valor do
básicas primeiro compartimento numa variável temporária */
3. Operadores
2. nomes_barcelona[1] ← nomes_barcelona[3] /*
4. Instruções
Colocamos no primeiro compartimento o valor do terceiro */
condicionais
5. Instruções 3. nomes_barcelona[3] ← temp /* Colocamos no terceiro
repetitivas compartimento o valor da variável temporária */
6. Vectores
7. Algoritmos
básicos para lidar No final teremos:
com vectores
8. Matrizes 1 2 3
9. Algoritmos
básicos para lidar Piqué Iniesta Messi
com matrizes
10. Funções e
procedimentos

90
Conteúdo Procurar um elemento na tabela
1. Introdução
2. Instruções
executáveis • Para procurar um elemento numa tabela usamos uma
básicas
instrução repetitiva para percorrer toda a tabela;
3. Operadores
4. Instruções • Em seguida usamos uma instrução condicional para testar
condicionais se um elemento da tabela é igual ao valor procurado.
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

91
Conteúdo Procurar um elemento na tabela (cont)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Dada a seguinte tabelanomes_barcelona: tabela de
4. Instruções caracter [1..3] ← {“Messi”, “Iniesta”, “Piqué”}
condicionais
5. Instruções 1 2 3
repetitivas
6. Vectores
Messi Iniesta Piqué
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes • Procuremos o elemento “Iniesta”.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

92
Conteúdo Procurar um elemento na tabela (cont)
1. Introdução
2. Instruções
executáveis de i ← 1 à 3 fazer
básicas
se (nomes_barcelona[i] = “Iniesta”) então
3. Operadores
4. Instruções escrever (“Elemento encontrado")
condicionais fim se
5. Instruções
fim de
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

93
Conteúdo Procurar o mínimo
1. Introdução
2. Instruções
executáveis • Para procurarmos o menor elemento de uma tabela,
básicas
começamos por supor que o primeiro elemento é o menor
3. Operadores
da tabela;
4. Instruções
condicionais • Em seguida percorremos a tabela usando uma instrução
5. Instruções repetitiva, comparando o primeiro elemento com os
repetitivas
restantes elementos da tabela;
6. Vectores
7. Algoritmos • Se um dos elementos for menor, então este passa a ser o
básicos para lidar novo menor;
com vectores
8. Matrizes • Repetimos este processo até que já não haja novo menor.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

94
Conteúdo Procurar o mínimo (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela
básicas • T: tabela de inteiro[1..5] ← {100, 10, 8, 3, 856}
3. Operadores
4. Instruções
condicionais 1 2 3 4 5
5. Instruções
repetitivas 100 10 8 3 856
6. Vectores
7. Algoritmos
básicos para lidar • Procuremos o mínimo (menor elemento):
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

95
Conteúdo Procurar o mínimo (cont.)
1. Introdução
2. Instruções
executáveis min ← T[1]
básicas
de i ← 1 à 5 fazer
3. Operadores
4. Instruções se (T[i] < min) então
condicionais min ← T[i]
5. Instruções
repetitivas fim se
6. Vectores fim de
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

96
Conteúdo Procurar o máximo
1. Introdução
2. Instruções
executáveis • Para procurarmos o maior elemento de uma tabela,
básicas
começamos por supor que o primeiro elemento é o maior
3. Operadores
da tabela;
4. Instruções
condicionais • Em seguida percorremos a tabela usando uma instrução
5. Instruções repetitiva, comparando o primeiro elemento com os
repetitivas
restantes elementos da tabela;
6. Vectores
7. Algoritmos • Se um dos elementos for maior, então este passa a ser o
básicos para lidar novo maior;
com vectores
8. Matrizes • Repetimos este processo até que já não haja novo maior.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

97
Conteúdo Procurar o máximo (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Dada a seguinte tabela
4. Instruções • T: tabela de inteiro[1..5] ← {100, 10, 8, 3, 856}
condicionais
5. Instruções
repetitivas 1 2 3 4 5
6. Vectores
100 10 8 3 856
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes • Procuremos o máximo (maior elemento):
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

98
Conteúdo Procurar o máximo (cont.)
1. Introdução
2. Instruções
executáveis max ← T[1]
básicas
de i ← 1 à 5 fazer
3. Operadores
4. Instruções se (T[i] > max) então
condicionais max ← T[i]
5. Instruções
repetitivas fim se
6. Vectores fim de
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

99
Conteúdo Procurar a posição do mínimo
1. Introdução
2. Instruções
executáveis • Para procurarmos a posição do menor elemento de uma
básicas
tabela, agimos da mesma forma que ao procurar o menor
3. Operadores
elemento, ou seja, começamos por supor que a primeira
4. Instruções
condicionais posição (índice) é a posição do menor elemento da tabela;
5. Instruções • Em seguida percorremos a tabela usando uma instrução
repetitivas
repetitiva, comparando o elemento da primeira posição
6. Vectores
com os restantes elementos da tabela;
7. Algoritmos
básicos para lidar • Se um dos elementos for menor, então a posição deste,
com vectores
passa a ser a posição do novo menor. Repetimos este
8. Matrizes
processo até que já não haja novo menor.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

100
Conteúdo Procurar a posição do mínimo (cont.)
1. Introdução
2. Instruções
executáveis Exemplo
básicas
3. Operadores • Dada a seguinte tabela
4. Instruções • T: tabela de inteiro[1..5] ← {100, 10, 8, 3,
condicionais 856}
5. Instruções
repetitivas
6. Vectores 1 2 3 4 5
7. Algoritmos 100 10 8 3 856
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos • Procuremos a posição do mínimo:
básicos para lidar
com matrizes
10. Funções e
procedimentos

101
Conteúdo Procurar a posição do mínimo (cont.)
1. Introdução
2. Instruções
executáveis posMin ← 1;
básicas
de i ← 1 à 5 fazer
3. Operadores
4. Instruções se (T[i] < T[posMin]) então
condicionais posMin ← i;
5. Instruções
repetitivas fim se
6. Vectores fim de
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

102
Conteúdo Procurar a posição do máximo
1. Introdução
2. Instruções
executáveis • De mesmo, para procurarmos a posição do maior
básicas
elemento de uma tabela, começamos por supor que a
3. Operadores
primeira posição é a posição do maior elemento da tabela.
4. Instruções
condicionais • Em seguida percorremos a tabela usando uma instrução
5. Instruções repetitiva, comparando o primeiro elemento com os
repetitivas
restantes elementos da tabela.
6. Vectores
7. Algoritmos • Se um dos elementos for maior, então a posição deste
básicos para lidar passa a ser a posição do novo maior. Repetimos este
com vectores
processo até que já não haja novo maior.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

103
Conteúdo Procurar a posição do máximo (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela
básicas
• T: tabela de inteiro[1..5] ← {100, 10, 8, 3,
3. Operadores 856}
4. Instruções
condicionais
5. Instruções 1 2 3 4 5
repetitivas
6. Vectores 100 10 8 3 856
7. Algoritmos
básicos para lidar
com vectores • Procuremos a posição do mínimo:
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

104
Conteúdo Procurar a posição do máximo (cont.)
1. Introdução
2. Instruções
executáveis posMax ← 1
básicas
de i ← 1 à 5 fazer
3. Operadores
4. Instruções se (T[i] > T[posMax]) então
condicionais posMax ← i;
5. Instruções
repetitivas fim se
6. Vectores fim de
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

105
Conteúdo Algoritmo de ordenação – Sorting algoritm

1. Introdução
2. Instruções
executáveis • Ordenar uma tabela consiste em organizar os seus
básicas
elementos em ordem crescente, descrente ou numa outra
3. Operadores
ordem específica.
4. Instruções
condicionais • Existem vários tipos de algoritmo de ordenação e nós
5. Instruções vamos aprender o mais simples dentre eles -Algoritmo de
repetitivas
ordenação à bolha (Bubble sort algorithm).
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

106
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis O algoritmo de ordenamento à bolha tem o seguinte princípio:
básicas
3. Operadores • A ideia é percorrer o vector diversas vezes, e a cada
4. Instruções passagem fazer flutuar para o topo o maior elemento da
condicionais sequência. (Wikipedia)
5. Instruções
repetitivas
6. Vectores Passo a passo:
7. Algoritmos
básicos para lidar • A gente percorre a tabela;
com vectores
8. Matrizes
• Compara cada par de elementos vizinhos;
9. Algoritmos • Se o par não estiver ordenado, a gente intercambia eles de
básicos para lidar modo á ordená-los.
com matrizes
10. Funções e
procedimentos

107
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis • Tomemos a seguinte tabela não ordenada como exemplo:
básicas
3. Operadores
4. Instruções 14 33 27 35 10
condicionais
5. Instruções
repetitivas
6. Vectores
• Para ordená-la em ordem crescente usando o algoritmo de
7. Algoritmos
ordenação à bolha, começamos com os primeiros dois
básicos para lidar elementos, comparando-os para verificar qual deles é o
com vectores maior.
8. Matrizes
9. Algoritmos
• Neste caso, o valor 33 é maior que 14, portanto, ele já está
básicos para lidar classificado:
com matrizes
10. Funções e
procedimentos 14 33 27 35 10

108
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis • Em seguida, comparamos 33 com 27:
básicas
3. Operadores
4. Instruções
condicionais 14 33 27 35 10
5. Instruções
repetitivas
6. Vectores
• Verificamos que 33 é maior que 27 e esses dois valores
7. Algoritmos
devem ser intercambiados:
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos 14 33 27 35 10
básicos para lidar
com matrizes
10. Funções e
procedimentos

109
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis A nova tabela fica assim:
básicas
3. Operadores
4. Instruções 14 27 33 35 10
condicionais
5. Instruções
repetitivas
6. Vectores
Em seguida, comparamos 33 e 35. Verificamos que estão em
7. Algoritmos
posições já classificadas:
básicos para lidar
com vectores
8. Matrizes 14 27 33 35 10
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

110
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis Então nos movemos para os próximos dois valores, 35 e 10:
básicas
3. Operadores
4. Instruções
condicionais 14 27 33 35 10
5. Instruções
repetitivas
6. Vectores
7. Algoritmos Verificamos que 35 é maior que 10. E que eles não estão
básicos para lidar ordenados:
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes 14 27 33 35 10
10. Funções e
procedimentos

111
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis Intercambiamos esses valores. E verificamos que chegamos ao
básicas
final da tabela. Depois de uma iteração, a tabela ficará assim:
3. Operadores
4. Instruções
condicionais
5. Instruções
14 27 33 10 35
repetitivas
6. Vectores
7. Algoritmos
Depois da segunda iteração, a tabela ficará assim:
básicos para lidar
com vectores
8. Matrizes 14 27 10 33 35
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

112
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis Observe que depois de cada iteração, pelo menos um
básicas
elemento “sobe para cima”:
3. Operadores
4. Instruções
condicionais 14 10 27 33 35
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
E quando não for mais necessário intercambiar elementos, o
básicos para lidar algoritmo supõe que a tabela está completamente ordenada:
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
10 14 27 33 35
com matrizes
10. Funções e
procedimentos

113
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela T: tabela de inteiro[1..5] ← {100,
básicas
10, 8, 3, 856}
3. Operadores
4. Instruções
condicionais 1 2 3 4 5
5. Instruções
repetitivas 100 10 8 3 856
6. Vectores
7. Algoritmos
básicos para lidar • Para classificá-la em ordem crescente procedemos da
com vectores
8. Matrizes
seguinte forma:
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

114
Conteúdo Algoritmo de ordenação – Sorting algoritm (cont.)

1. Introdução
2. Instruções
executáveis N←5 // Tamanho da tabela
básicas
de i ← 1 à N-1 fazer
3. Operadores
4. Instruções de j ← i+1 à N fazer
condicionais se (T[i] > T[j]) então
5. Instruções
repetitivas temp ← T[i]
6. Vectores T[i] ← T[j]
7. Algoritmos
T[j] ← temp
básicos para lidar
com vectores fim se
8. Matrizes fim de
9. Algoritmos
básicos para lidar fim de
com matrizes
10. Funções e
procedimentos

115
8. Tabelas de duas
dimensões(Matrizes)

116
Conteúdo Introdução
1. Introdução
2. Instruções
executáveis • Lembram-se da definição de uma tabela em programação?
básicas
• Em programação uma tabela é uma estrutura de dado usada
3. Operadores
para organizar várias informações relacionadas uma com a
4. Instruções outra.
condicionais
5. Instruções
• Por exemplo, os números das camisolas dos 11 jogadores de
repetitivas futebol de uma equipa, os nomes dos 11 jogadores da mesma
equipa, etc.
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

117
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Se quiséssemos armazenar numa só variável os números
básicas
das camisolas dos 11 jogadores de futebol de uma equipa:
3. Operadores
• Seria mais fácil se essa variável fosse do tipo Tabela de Inteiro.
4. Instruções
condicionais • Se quiséssemos armazenar numa só variável os nomes dos
5. Instruções 11 jogadores da mesma equipa:
repetitivas
• Seria mais fácil se essa variável fosse do tipo ou Tabela de
6. Vectores
Carácter.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

118
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Tabela de número de 11 jogadores de uma equipa de
básicas
futebol:
3. Operadores
4. Instruções
condicionais
1 2 3 4 5 6 7 8 9 10 11
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
• Tabela de nomes de 11 jogadores de uma equipa de
básicos para lidar futebol:
com vectores
8. Matrizes Mendon Paulo Quinzinh Zé Caxaram
Marito Bodunha Paulão Akwá Zico Betinho
9. Algoritmos ça Silva o Calanga ba
básicos para lidar
com matrizes
10. Funções e
procedimentos

119
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Imaginemos que queiramos armazenar as duas
básicas
informações numa mesma variável, afim de sabermos o
3. Operadores
número da camisa e o nome do jogador correspondente.
4. Instruções
condicionais • Para tal, existem as tabelas de duas dimensões:
5. Instruções
repetitivas
6. Vectores Tabela de números de jogadores
7. Algoritmos
básicos para lidar
com vectores
1 2 14 15 9 10 10 15 7 17 11
8. Matrizes
9. Algoritmos Bodunh Mendon Paulo Quinzin Zé Caxara
Marito Paulão Akwá Zico Betinho
a ça Silva ho Calanga mba
básicos para lidar
com matrizes
10. Funções e
procedimentos Tabela de nomes de jogares

120
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis Definição: Uma tabela de duas dimensões é uma união de
básicas
duas ou mais tabelas de uma dimensão, onde:
3. Operadores
4. Instruções • O número de linhas I é o quantidade de tabelas,
condicionais
5. Instruções
• O número de colunas J é a tamanho das tabelas.
repetitivas
6. Vectores
7. Algoritmos J: Número de colunas – Tamanho das tabelas – Índice de colunas
básicos para lidar
com vectores
8. Matrizes
1 2 3 4 5 6 7 8 9 10 11
9. Algoritmos
básicos para lidar 1 1 2 14 15 9 10 10 15 7 17 11
com matrizes
Bodunh Mendon Paulo Quinzin Zé Caxara
10. Funções e 2 Marito
a ça Silva
Paulão Akwá Zico
ho
Betinho
Calanga mba
procedimentos

I: Número de linhas – Quantidade de tabelas – Índice de linhas

121
Conteúdo Declaração de uma tabela de duas dimensões

1. Introdução
2. Instruções
executáveis • Declaramos uma tabela escrevendo o nome da tabela, dois
básicas
pontos (: ), seguido da palavra tabela de.
3. Operadores
4. Instruções • A seguir especificamos o tipo de variável que ela vai
condicionais albergar
5. Instruções
repetitivas • Por último especificamos o número de linhas e número de
6. Vectores colunas entre parênteses rectos, separados por uma
7. Algoritmos vírgula.
básicos para lidar
com vectores
8. Matrizes Sintaxe:
9. Algoritmos
• Nome_da_tabela : tabela de <Tipo_de_variável> [I,J]
básicos para lidar
com matrizes
10. Funções e
procedimentos

122
Declaração de uma tabela de duas dimensões
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis Exemplos:
básicas
3. Operadores
• tab1: tabela de Inteiro [3,5] // Declaração de uma
tabela de inteiro de 3 linhas e 5 colunas
4. Instruções
condicionais • tab2: tabela de Real [4,4] // Declaração de uma
5. Instruções tabela de real de 4 linhas e 4 colunas
repetitivas • tab3: tabela de Carácter [6,5] // Declaração de
6. Vectores uma tabela de carácter de 6 linhas e 5 colunas
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

123
Aceder os elementos de uma tabela de duas
Conteúdo dimensões
1. Introdução
2. Instruções
executáveis Quando declaramos uma tabela de duas dimensões:
básicas
3. Operadores palancas_negras: tabela de caracter [2,11];
4. Instruções Estamos na verdade a definir uma tabela de 2 x 11
condicionais
5. Instruções
compartimentos indexados de 1,1 à 2,11:
repetitivas
6. Vectores 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11
7. Algoritmos
básicos para lidar 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 2,10 2,11
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

124
Aceder os elementos de uma tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis • Para acedermos um compartimento da tabela de duas
básicas
dimensões:
3. Operadores
• Especificamos o nome da tabela
4. Instruções
condicionais • seguido dos índices da linha e da coluna, separados por uma
5. Instruções vírgula, entre parênteses rectos:
repetitivas Sintaxe
6. Vectores
7. Algoritmos
<nome da tabela> [i,j]
básicos para lidar
com vectores
8. Matrizes Para acedermos o compartimento da segunda linha, quarta
9. Algoritmos coluna fizemos o seguinte: palanca_negra[2, 4].
básicos para lidar
com matrizes
10. Funções e 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11
procedimentos
2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 2,10 2,11

125
Aceder os elementos de uma tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Para acedermos o compartimento da segunda linha, quarta
4. Instruções coluna fizemos o seguinte:
condicionais palancas_negras[2,4]
5. Instruções
repetitivas
6. Vectores 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11
7. Algoritmos
básicos para lidar 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 2,10 2,11
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

126
Conteúdo Afectação de uma tabela de duas dimensões

1. Introdução
2. Instruções
executáveis • Para afectarmos uma tabela de duas dimensões, fazemo-lo
básicas
especificando o compartimento que vai receber o valor.
3. Operadores
4. Instruções
condicionais
5. Instruções
Exemplo:
repetitivas palanca_negra [1,6] ← “10”
6. Vectores palanca_negra [2,6] ← “Akwá”
7. Algoritmos
básicos para lidar
com vectores Teremos:
8. Matrizes
9. Algoritmos 1 2 3 4 5 6 7 8 9 10 11
básicos para lidar
com matrizes 1 10
10. Funções e
2 Akwá
procedimentos

127
Afectação de uma tabela de duas dimensões
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis • Uma outra maneira, consiste em usarmos as estruturas
básicas
repectitivas.
3. Operadores
4. Instruções • Dada T: Tabela de Inteiro [2, 11], vamos preenché-la com
condicionais números de 1 à 22:
5. Instruções
repetitivas
6. Vectores elemento ← 1;
7. Algoritmos de i ← 1 à 2 fazer
básicos para lidar
com vectores de j ← 1 à 11 fazer
8. Matrizes T[i,j] ← elemento
9. Algoritmos
elemento ← elemento + 1
básicos para lidar
com matrizes fim de
10. Funções e fim de
procedimentos

128
Afectação de uma tabela de duas dimensões
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis Teremos:
básicas
3. Operadores
4. Instruções
condicionais 1 2 3 4 5 6 7 8 9 10 11
5. Instruções
repetitivas
1 1 2 3 4 5 6 7 8 9 10 11
6. Vectores 2 12 13 14 15 16 17 18 19 20 21 22
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

129
Mostrar o conteúdo de uma tabela de duas
Conteúdo dimensões
1. Introdução
2. Instruções
executáveis Mostrar o conteúdo de alguns compartimentos de uma tabela
básicas
3. Operadores • Já é sabido que para mostrar algo no ecrã usa-se a
4. Instruções instrução de saída/output de dados escrever( );
condicionais
5. Instruções
• E para aceder um compartimento da tabela usa-se o nome
repetitivas da tabela seguido do índice do mesmo colocado entre
6. Vectores parênteses recto;
7. Algoritmos • Então, para mostrar o valor/conteúdo de um
básicos para lidar
com vectores compartimento da tabela usa-se uma combinação destas
8. Matrizes duas instruções.
9. Algoritmos
básicos para lidar
com matrizes Sintaxe:
10. Funções e escrever (<nome da tabela[i,j])
procedimentos

130
Mostrar o conteúdo de uma tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Dada a tabela
4. Instruções palanca_negra: tabela de caracter [2,11]
condicionais
5. Instruções • Vamos mostrar no ecrã o elemento da 2ª linha e 6ª coluna:
repetitivas escrever (palanca_negra [2,6])
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

131
Mostrar o conteúdo de uma tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis Mostrar o conteúdo de toda a tabela
básicas
3. Operadores • Para mostrar todos os elementos de uma tabela temos de
4. Instruções usar uma extrutura repetitiva.
condicionais
5. Instruções
repetitivas Exemplo:
6. Vectores
7. Algoritmos
• Dada a tabela
básicos para lidar palanca_negra: tabela de caracter [2,11]
com vectores
8. Matrizes • Para mostrar todos os elementos da tabela fazemos:
9. Algoritmos de i ← 1 à 2 fazer
básicos para lidar
com matrizes de j ← 1 à 11 fazer
10. Funções e escrever ( palanca_negra [i, j] )
procedimentos
fim de
fim de

132
9. Algoritmos básicos para
lidar com tabelas de
duas dimensões
(Matrizes)

133
Intercambiar dois elementos de uma tabela de
Conteúdo duas dimensões
1. Introdução
2. Instruções
executáveis • Imaginemos que temos um copo com água e um outro
básicas
com azeite
3. Operadores
4. Instruções • Como faria se lhe pedissem para intercambiar o conteúdo
condicionais dos dois copos, ou seja, meter a água no copo de azeite, e
5. Instruções o azeite no copo de água?
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

134
Intercambiar dois elementos de uma tabela de
Conteúdo duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis Se quisermos intercambiar o conteúdo dos dois copos
básicas
precisaremos de um copo adicional e agiríamos da seguinte
3. Operadores
forma:
4. Instruções
condicionais 1. Colocaríamos a água no recipiente adicional;
5. Instruções
repetitivas 2. Colocaríamos em seguida o azeite no copo onde estava a
6. Vectores água;
7. Algoritmos 3. Para terminar colocaríamos a água do recipiente adicional
básicos para lidar
com vectores para o recipiente onde estava o azeite.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

135
Intercambiar dois elementos de uma tabela de
Conteúdo duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis Para intercambiar elementos de uma tabela, agimos então da
básicas
seguinte forma:
3. Operadores
4. Instruções • Dada a seguinte tabela:
condicionais • nomes_numeros_angola: tabela de carácter [2,
5. Instruções 11]
repetitivas
6. Vectores 1 2 14 15 9 10 10 15 7 17 11
7. Algoritmos
Mendon Paulo Quinzinh Zé Caxaram
básicos para lidar Marito Bodunha
ça Silva
Paulão Akwá Zico
o
Betinho
Calanga ba
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar • Intercambiemos o 1º e o 3º elemento da primeira linha:
com matrizes
10. Funções e
procedimentos

136
Intercambiar dois elementos de uma tabela de
Conteúdo duas dimensões (cont)
1. Introdução
2. Instruções
executáveis 1. temp ← nomes_numeros_angola [1,1] /* Colocamos o valor
básicas do primeiro compartimento da primeira linha numa
variável temporária */
3. Operadores
4. Instruções 2. nomes_numeros_angola[1,1] ← nomes_numeros_angola[1,3]
condicionais /* Colocamos no primeiro compartimento da primeira
5. Instruções linha o valor do terceiro */
repetitivas 1. nomes_numeros_angola [1,3] ← temp /* Colocamos no
6. Vectores terceiro compartimento o valor da variável temporária */
7. Algoritmos
básicos para lidar
com vectores No final teremos:
8. Matrizes
9. Algoritmos
básicos para lidar
14 2 1 15 9 10 10 15 7 17 11
com matrizes
10. Funções e Mendon Paulo Quinzinh Zé Caxaram
Marito Bodunha Paulão Akwá Zico Betinho
procedimentos ça Silva o Calanga ba

137
Procurar um elemento na tabela de duas
Conteúdo dimensões
1. Introdução
2. Instruções
executáveis • Para procurar um elemento numa tabela usamos uma
básicas
instrução repetitiva para percorrer toda a tabela;
3. Operadores
4. Instruções • Em seguida usamos uma instrução condicional para testar
condicionais se um elemento da tabela é igual ao valor procurado.
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

138
Procurar um elemento na tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
nomes_numeros_angola: tabela de carácter [2, 11]
3. Operadores
4. Instruções • Procuremos o elemento “Akwá”:
condicionais de i ← 1 à 2 fazer
5. Instruções
repetitivas de j ← 1 à 11 fazer
6. Vectores se (nomes_numeros_angola[i,j ] = “Akwá”) então
7. Algoritmos escrever (“Elemento encontrado")
básicos para lidar
com vectores fim se
8. Matrizes fim de
9. Algoritmos fim de
básicos para lidar
com matrizes
10. Funções e
procedimentos

139
Conteúdo Procurar o mínimo na tabela de duas dimensões

1. Introdução
2. Instruções
executáveis • Para procurarmos o menor elemento de uma tabela:
básicas
• Começamos por supor que o primeiro elemento é o menor da
3. Operadores
tabela;
4. Instruções
condicionais • Em seguida percorremos a tabela usando uma instrução
5. Instruções
repetitiva, comparando o primeiro elemento com os restantes
repetitivas elementos da tabela;
6. Vectores • Se um dos elementos for menor, então este passa a ser o novo
7. Algoritmos menor;
básicos para lidar • Repetimos este processo até que já não haja novo menor.
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

140
Procurar o mínimo na tabela de duas dimensões
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
• T: tabela de inteiro[3, 4]
3. Operadores
4. Instruções • Procuremos o mínimo (menor elemento):
condicionais min ← T[1,1]
5. Instruções
repetitivas de i ← 1 à 3 fazer
6. Vectores de j ← 1 à 4 fazer
7. Algoritmos se (T[i,j] < min) então
básicos para lidar
com vectores min ← T[i,j]
8. Matrizes fim se
9. Algoritmos fim de
básicos para lidar
com matrizes fim de
10. Funções e
procedimentos

141
Conteúdo Procurar o máximo na tabela de duas dimensões

1. Introdução
2. Instruções
executáveis • Para procurarmos o maior elemento de uma tabela:
básicas
• Começamos por supor que o primeiro elemento é o maior da
3. Operadores
tabela;
4. Instruções
condicionais • Em seguida percorremos a tabela usando uma instrução
5. Instruções
repetitiva, comparando o primeiro elemento com os restantes
repetitivas elementos da tabela;
6. Vectores • Se um dos elementos for maior, então este passa a ser o novo
7. Algoritmos maior;
básicos para lidar • Repetimos este processo até que já não haja novo maior.
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

142
Procurar o máximo na tabela de duas dimensões
Conteúdo (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
• T: tabela de inteiro[3, 4]
3. Operadores
4. Instruções • Procuremos o máximo (maior elemento):
condicionais
5. Instruções
repetitivas max ← T[1,1]
6. Vectores de i ← 1 à 3 fazer
7. Algoritmos de j ← 1 à 4 fazer
básicos para lidar
com vectores se (T[i,j] > max) então
8. Matrizes max ← T[i,j]
9. Algoritmos fim se
básicos para lidar
com matrizes fim de
10. Funções e fim de
procedimentos

143
Procurar a posição do mínimo na tabela de duas
Conteúdo dimensões
1. Introdução
2. Instruções
executáveis • Para procurarmos a posição do menor elemento de uma
básicas
tabela, agimos da mesma forma que ao procurar o menor
3. Operadores
elemento, ou seja:
4. Instruções
condicionais • Começamos por supor que a primeira posição (índice) é a
5. Instruções posição do menor elemento da tabela;
repetitivas • Em seguida percorremos a tabela usando uma instrução
6. Vectores repetitiva, comparando o elemento da primeira posição com os
7. Algoritmos restantes elementos da tabela;
básicos para lidar • Se um dos elementos for menor, então a posição deste, passa a
com vectores ser a posição do novo menor.
8. Matrizes • Repetimos este processo até que já não haja novo menor.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

144
Procurar a posição do mínimo na tabela de duas
Conteúdo dimensões (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
• T: tabela de inteiro[3, 4]
3. Operadores
4. Instruções • Procuremos a posição do mínimo:
condicionais
5. Instruções
repetitivas linha← 1
6. Vectores coluna ← 1
7. Algoritmos de i ← 1 à 3 fazer
básicos para lidar
com vectores de i ← 1 à 4 fazer
8. Matrizes se (T[i,j] < T[linha, coluna]) então
9. Algoritmos linha← i
básicos para lidar
com matrizes coluna ← j
10. Funções e fim se
procedimentos
fim de
fim de

145
Procurar a posição do máximo na tabela de duas
Conteúdo dimensões
1. Introdução
2. Instruções
executáveis • De mesmo, para procurarmos a posição do maior
básicas
elemento de uma tabela,
3. Operadores
• Começamos por supor que a primeira posição é a posição do
4. Instruções
condicionais
maior elemento da tabela.
5. Instruções • Em seguida percorremos a tabela usando uma instrução
repetitivas repetitiva, comparando o primeiro elemento com os restantes
6. Vectores elementos da tabela.
7. Algoritmos • Se um dos elementos for maior, então a posição deste passa a
básicos para lidar ser a posição do novo maior.
com vectores • Repetimos este processo até que já não haja novo maior.
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

146
Procurar a posição do máximo na tabela de duas dimensões
Conteúdo (cont.)

1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
• T: tabela de inteiro[3, 4]
3. Operadores
4. Instruções • Procuremos a posição do máximo:
condicionais linha← 1
5. Instruções
repetitivas coluna ← 1
6. Vectores de i ← 1 à 3 fazer
7. Algoritmos de i ← 1 à 4 fazer
básicos para lidar
com vectores se (T[i,j] > T[linha, coluna]) então
8. Matrizes linha← i
9. Algoritmos coluna ← j
básicos para lidar
com matrizes fim se
10. Funções e fim de
procedimentos
fim de

147
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões
1. Introdução
2. Instruções
executáveis • Ordenar uma tabela consiste em organizar os seus
básicas
elementos em ordem crescente, descrente ou numa outra
3. Operadores
ordem específica.
4. Instruções
condicionais • Existem vários tipos de algoritmo de ordenação e nós
5. Instruções vamos aprender o mais simples dentre eles
repetitivas
• Algoritmo de ordenação à bolha (Bubble sort algorithm).
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

148
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis O algoritmo de ordenamento à bolha tem o seguinte princípio:
básicas
3. Operadores • A ideia é percorrer o vector diversas vezes, e a cada
4. Instruções passagem fazer flutuar para o topo o maior elemento da
condicionais sequência. (Wikipedia)
5. Instruções
repetitivas
6. Vectores Passo a passo:
7. Algoritmos
básicos para lidar • A gente percorre a tabela;
com vectores
8. Matrizes
• Compara cada par de elementos vizinhos;
9. Algoritmos • Se o par não estiver ordenado, a gente intercambia eles de
básicos para lidar modo á ordená-los.
com matrizes
10. Funções e
procedimentos

149
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis • Tomemos a seguinte tabela não ordenada como exemplo:
básicas
3. Operadores
4. Instruções
14 33 27
condicionais
5. Instruções
35 10 9
repetitivas
6. Vectores
• Para ordená-la em ordem crescente usando o algoritmo de
7. Algoritmos
ordenação à bolha, começamos com os primeiros dois
básicos para lidar elementos, comparando-os para verificar qual deles é o
com vectores maior.
8. Matrizes
9. Algoritmos
• Neste caso, o valor 33 é maior que 14, portanto, ele já está
básicos para lidar classificado:
com matrizes
10. Funções e
procedimentos
14 33 27
35 10 9

150
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis • Em seguida, comparamos 33 com 27:
básicas
3. Operadores
4. Instruções
14 33 27
condicionais
5. Instruções
35 10 9
repetitivas
6. Vectores
• Verificamos que 33 é maior que 27 e esses dois valores
7. Algoritmos
devem ser intercambiados:
básicos para lidar
com vectores
8. Matrizes
14 33 27
9. Algoritmos
básicos para lidar
35 10 9
com matrizes
10. Funções e
procedimentos

151
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis A nova tabela fica assim:
básicas
3. Operadores
4. Instruções
14 27 33
condicionais
5. Instruções
35 10 9
repetitivas
6. Vectores
Em seguida, comparamos 33 e 35. Verificamos que estão em
7. Algoritmos
posições já classificadas:
básicos para lidar
com vectores
8. Matrizes
14 27 33
9. Algoritmos
básicos para lidar
35 10 9
com matrizes
10. Funções e
procedimentos

152
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis Então nos movemos para os próximos dois valores, 35 e 10:
básicas
3. Operadores
4. Instruções 14 27 33
condicionais
5. Instruções 35 10 9
repetitivas
6. Vectores
7. Algoritmos Verificamos que 35 é maior que 10. E que eles não estão
básicos para lidar ordenados:
com vectores
8. Matrizes
9. Algoritmos 14 27 33
básicos para lidar
com matrizes 35 10 9
10. Funções e
procedimentos

153
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis A nova tabela fica assim:
básicas
3. Operadores
4. Instruções 14 27 33
condicionais
5. Instruções 10 35 9
repetitivas
6. Vectores
7. Algoritmos Em seguida, comparamos 35 e 9:
básicos para lidar
com vectores
8. Matrizes 14 27 33
9. Algoritmos
básicos para lidar 10 35 9
com matrizes
10. Funções e
procedimentos

154
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis Verificamos que 35 é maior que 9. E que eles não estão
básicas
ordenados:
3. Operadores
4. Instruções
condicionais 14 27 33
5. Instruções
repetitivas 10 35 9
6. Vectores
7. Algoritmos
básicos para lidar Intercambiamos esses valores: E verificamos que chegamos ao
com vectores
8. Matrizes
final da tabela. Depois de uma iteração, a tabela ficará assim:
9. Algoritmos
básicos para lidar 14 27 33
com matrizes
10. Funções e 10 9 35
procedimentos

155
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis Depois da segunda iteração, a tabela ficará assim:
básicas
3. Operadores
4. Instruções
condicionais
14 27 10
5. Instruções
repetitivas
9 33 35
6. Vectores
7. Algoritmos Observe que depois de cada iteração, pelo menos um
básicos para lidar elemento “sobe para cima”:
com vectores
8. Matrizes
9. Algoritmos 14 10 9 10 9 14
básicos para lidar
com matrizes
27 33 35 27 33 35
10. Funções e
procedimentos

156
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis E quando não for mais necessário intercambiar elementos, o
básicas
algoritmo supõe que a tabela está completamente ordenada:
3. Operadores
4. Instruções
condicionais
9 10 14
5. Instruções
repetitivas
27 33 35
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

157
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont.)
1. Introdução
2. Instruções
executáveis • Dada a seguinte tabela:
básicas
• T: tabela de inteiro[2,3] ← {{14, 33, 27},
3. Operadores {35, 10, 9}}
4. Instruções
condicionais • Para classificá-la em ordem crescente procedemos da
5. Instruções seguinte forma:
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

158
Algoritmo de ordenação – Sorting algoritm na
Conteúdo tabela de duas dimensões (cont)
1. Introdução
2. Instruções
executáveis M ←3 // Número de linhas
básicas
N ← 4 // Número de colunas
3. Operadores
4. Instruções de i ← 1 à M-1 fazer
condicionais de j ← 1 à N-1 fazer
5. Instruções
de k ← i+1 à M fazer
repetitivas
6. Vectores de l ← j+1 à N fazer
7. Algoritmos se (T[i,j] > T[k,l]) então
básicos para lidar
com vectores
temp ← T[i,j]
8. Matrizes T[i,j] ← T[k,l]
9. Algoritmos T[k,l] ← temp
básicos para lidar
com matrizes fim se
10. Funções e fim de
procedimentos
fim de
fim de
fim de
159
10. Funções e
Procedimentos

160
Conteúdo Introdução
1. Introdução
2. Instruções
executáveis • Voltemos à nossa analogia com a receita de culinária.
básicas
• Recorde-se que comparamos o algoritmo à uma receita de
3. Operadores
culinária onde de antemão estão definidos os ingredientes e os
4. Instruções passos necessários para realizar um prato.
condicionais
5. Instruções • Imaginemos um restaurante cujo menu tem os seguintes
repetitivas pratos com componentes repetidos:
6. Vectores • Arroz com feijão,
7. Algoritmos
• Massa com feijão,
básicos para lidar
com vectores • Arroz com peixe,
8. Matrizes • Massa com peixe.
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

161
Conteúdo Introdução
1. Introdução
2. Instruções
executáveis • Se o chefe cozinheiro do restaurante for preguiçoso, como
básicas
todos os programadores, em vez de fazer a receita de
3. Operadores
todos estes pratos repetindo os passos necessários para
4. Instruções
condicionais realizar cada componente, receita após receita...
5. Instruções • Fazia receitas separadas dos pratos singulares (arroz,
repetitivas
massa, feijão e peixe) e os referenciava nas receitas dos
6. Vectores
pratos compostos.
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

162
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
3. Operadores • Receitas dos componentes:
4. Instruções • Receita Arroz;
condicionais • Receita Feijão;
5. Instruções
• Receita Peixe;
repetitivas
6. Vectores
• Receita Massa;
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar Receita Receita ReceitaM
com matrizes Receita
Arroz Feijão Peixe assa
10. Funções e
procedimentos

163
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Receitas principais
básicas
• Receita Arroz com Feijão
3. Operadores
• Ver Receita Arroz
4. Instruções
• Ver Receita Feijão
condicionais
5. Instruções
repetitivas • Receita Massa com Feijão
6. Vectores • Ver Receita Massa
7. Algoritmos • Ver Receita Feijão
básicos para lidar
com vectores
8. Matrizes Receita Arroz com Feijão Receita Massa com Peixe
9. Algoritmos
básicos para lidar
com matrizes Ver receita Arroz Ver receita Massa
10. Funções e
procedimentos
Ver receita Feijão Ver receita Peixe

164
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Em programação, o acto de criar pequenas receitas dos
básicas
componentes que se repetem chama-se criar funções ou
3. Operadores
procedimentos;
4. Instruções
condicionais • E o acto de referenciar as pequenas receitas na recita
5. Instruções principal designa-se chamar ou executar a função ou o
repetitivas
procedimento.
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

165
Conteúdo Introdução (cont.)
1. Introdução
2. Instruções
executáveis • Definição: Funções e Procedimentos são subprogramas
básicas
escritos fora do programa principal mas que se executam
3. Operadores
dentro deste.
4. Instruções
condicionais • Diferentemente de um procedimento, uma função sempre
5. Instruções retorna um valor.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

166
Conteúdo Parâmetro e argumento
1. Introdução
2. Instruções
executáveis • Ao criarmos uma função podemos deixar em aberto certas
básicas
variáveis para serem fornecidas no seu chamamento.
3. Operadores
4. Instruções • Voltemos à nossa receita de culinária, suponhamos que
condicionais está a fazer uma função para cozinhar feijão. Poderá deixar
5. Instruções em aberto a quantidade e o tipo de feijão para ser
repetitivas
especificado no acto do chamamento da função.
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

167
Conteúdo Parâmetro e argumento (cont.)
1. Introdução
2. Instruções
executáveis • Essas variáveis deixadas em aberto para serem
básicas
especificadas no chamamento da função ou do
3. Operadores
procedimento chamam-se parâmetros ou argumentos.
4. Instruções
condicionais
5. Instruções
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

168
Conteúdo Declaração
1. Introdução
2. Instruções
executáveis Sintaxe (Função)
básicas
Função <Nome da função> (<lista de parâmetros>) retorna <Tipo de variável>
3. Operadores
4. Instruções
Variáveis:
condicionais
<Declaração das variáveis da função>
5. Instruções
repetitivas
Início
6. Vectores
<Bloco de instruções executáveis>
7. Algoritmos
básicos para lidar Retorna Expressão
com vectores Fim
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

169
Conteúdo Declaração (cont.)
1. Introdução
2. Instruções
executáveis • A <lista de parâmetros> tem a seguinte forma:
básicas
var1: Tipo, var2: Tipo, ... , varN: Tipo
3. Operadores
4. Instruções
condicionais
Exemplo:
5. Instruções
repetitivas Função Multiplicacao(A: Inteiro, B: Inteiro) retorna Inteiro
6. Vectores
7. Algoritmos Variáveis:
básicos para lidar
produto: Inteiro
com vectores
8. Matrizes
9. Algoritmos Início
básicos para lidar produto ← A x B
com matrizes
retorna produto
10. Funções e
procedimentos Fim

170
Conteúdo Declaração (cont.)
1. Introdução
2. Instruções
executáveis Sintaxe (Procedimento)
básicas
Função <nome do procedimento> (<lista de parâmetros>) retorna Vazio
3. Operadores
4. Instruções
Variáveis:
condicionais
5. Instruções <Declaração das variáveis do procedimento>
repetitivas
6. Vectores Início
7. Algoritmos <Bloco de instruções>
básicos para lidar Fim
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

171
Conteúdo Declaração (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas
Função Adicao(A: Inteiro, B: Inteiro) retorna Vazio
3. Operadores
4. Instruções
Variáveis: soma
condicionais
5. Instruções
repetitivas Início
6. Vectores soma ← A + B
7. Algoritmos escrecer("A soma é ", soma)
básicos para lidar Fim
com vectores
8. Matrizes
9. Algoritmos Obs:
básicos para lidar
com matrizes
• Um procedimento é uma função que não retorna nenhum
10. Funções e valor;
procedimentos

172
Conteúdo Execução
1. Introdução
2. Instruções
executáveis Embora declaradas fora do programa principal - geralmente
básicas
antes do bloco de instruções do programa principal - as
3. Operadores
funções e procedimentos só são executados quando são
4. Instruções
condicionais chamados no bloco de instruções executáveis do programa
5. Instruções principal.
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

173
Conteúdo Execução (cont.)
1. Introdução
2. Instruções
executáveis • Chamar uma função: Consiste em referenciar ou invocar
básicas
uma função previamente definida.
3. Operadores
4. Instruções
condicionais
5. Instruções
Sintaxe:
repetitivas • <Nome da função> (<lista de valores para os
6. Vectores
parâmetros>)
7. Algoritmos • <Nome do procedimento> (<lista de valores para
básicos para lidar os parâmetros>)
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

174
Conteúdo Execução (cont.)
1. Introdução
2. Instruções
executáveis Obs:
básicas
3. Operadores • Ao chamar uma função ou procedimento a lista de valores
4. Instruções para os parâmetros deve ter a seguinte forma:
condicionais • <Nome da função ou procedimento> (val1, val2,
5. Instruções ..., valN)
repetitivas
6. Vectores
7. Algoritmos
básicos para lidar
com vectores
8. Matrizes
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

175
Conteúdo Execução (cont.)
1. Introdução
2. Instruções
executáveis Exemplo:
básicas Algoritmo Soma_de_dois_numeros
3. Operadores
4. Instruções Variáveis:
condicionais
X, Y, Z: Inteiro
5. Instruções
repetitivas
// Declarando a função
6. Vectores
Função Soma(A: Inteiro, B: Inteiro) retorna
7. Algoritmos Inteiro
básicos para lidar
com vectores
8. Matrizes Variáveis:
9. Algoritmos resultado: Inteiro
básicos para lidar A, B: Inteiro
com matrizes
10. Funções e Início
procedimentos resultado ← A + B
retorna resultado
Fim

176
Conteúdo Execução (cont.)
1. Introdução
2. Instruções
executáveis Início
básicas
Escrever("Bem-vindo a aplicação soma");
3. Operadores
4. Instruções Escrever("Digitar o primeiro número");
condicionais Ler(X);
5. Instruções
Escrever("Digitar o segundo número");
repetitivas
6. Vectores Ler(Y);
7. Algoritmos Z ← Soma(X, Y); // Chamar a função Soma
básicos para lidar
com vectores
Escrever("A soma é ", Z);
8. Matrizes Fim
9. Algoritmos
básicos para lidar
com matrizes
10. Funções e
procedimentos

177
“Código é poesia”
Tel.: +244933909592, +244996366303 (Whatsapp)
osvaldo@codigopoesia.com
Youtube.com/oslivon
Facebook.com/oslivon
Instagram.com/oslivon
https//:ww.codigopoesia.com

178

Das könnte Ihnen auch gefallen