Revisão Algoritmos
Felipe Pazinatto
Índice da Revisão 1/2
●
Variáveis
●
Tipos de variáveis
●
Comandos
●
Atribuição de valores
●
Aritmética Básica
Troca de valores(swap)
●
Vetores
●
Matrizes
Laço
–
Pseudo-código
●
●
●
–
●
Enquanto
Para
Desvio Condicional
–
–
–
Se <cond> então
Se <cond> então senão
Se <cond> então senão
Se <cond> então senão
Se ...
Índice da Revisão 2/2
●
Comandos de I/O
●
Teste de mesa
●
Ler( variável )
●
O que é?
●
Mostrar ( variável )
●
Como fazer
Variáveis
●
O que são variáveis?
●
São posições de memória
●
Possuem um tipo: ( inteiro, real, caracter )
●
Possuem uma capacidade de armazenamento
–
●
●
1 byte, 2 bytes, 4 bytes, etc.
Dependendo da capacidade de armazenamento, é
a capacidade de reprodução.
Ex: 8 bits= 1 byte = 2^8 = 256
–
Um número de 8 bits consegue representar até 256
números
Variáveis
●
Ex: 8 bits
Binário
Decimal
00000000
0
00000001
1
00000010
2
00000011
3
00000100
4
00000101
5
11111111
255
Variáveis
●
Variáveis são posições de memória
idade
telefone
Altura
28
3322-3322
1,75
Conteúdo caracter
Conteúdo inteiro
Conteúdo real
Tipos de Variáveis
●
Tipo inteiro → valores inteiros
●
●
Tipo real → valores de ponto flutuante
●
●
I={1,2,3,4...}
R={1.5,2.666,3.1416...}
Tipo caracter → letras e números
●
●
C={“a”,”b”,”c”,”1”,”2”...}
Os números neste caso possuem apenas função
de texto.
Pseudo- Código
●
Forma de representar um algoritmo
●
É uma forma genérica
●
●
Fácil de transportar para as linguagens de
programação
Usado para publicações científicas
Pseudo-Código
●
Formação de um programa
●
Início (declaração das variáveis)
–
–
●
Desenvolvimento (processamento)
–
●
Criação das variáveis
Inicialização das variáveis
Transformações das variáveis por cálculos e trocas
Finalização
–
Relatório mostrando o resultado
Pseudo-Código para um Programa
//declaração de variáveis//
Inteiro Peso
Real Altura
Real IMC
//inicialização das variáveis//
Peso ← 28
Altura ← 1.75
//processamento das variáveis//
IMC ← Peso / (Altura * Altura)
//Finalização – relatório//
Mostrar ( “Seu IMC é”, IMC)
Tipo Nome
Nome ← Valor
Nome ← Valor do Cálculo
Detalhe: O cálculo é sempre
realizado antes de ocorrer a
atribuição
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ← 10
Y ← 15
X
Y
Z
W
Nomes das Variáveis
10
0
15
0
0
0
Conteúdos
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ← 10
Y←X
X
Y
Z
W
Nomes das Variáveis
10
0
10
0
0
0
Conteúdos
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ← 10
Y←X
Y←Z
X
Y
Z
W
Nomes das Variáveis
10
0
0
0
0
Conteúdos
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ←X+1
Y ← X+1
X
Y
Z
W
Nomes das Variáveis
0
1
0
2
0
0
Conteúdos
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ← 10
Y ← Y+1
Y ← Y+X
X
Y
Z
W
Nomes das Variáveis
10
0
11
0
0
0
Conteúdos
Atribuição de Valores
X
Y
Z
W
Nomes das Variáveis
0
0
0
0
Conteúdos
X ← 10
Y ← X-9
Y ← Y+1
X
Y
Z
W
Nomes das Variáveis
10
0
0
2
0
0
Conteúdos
Aritmética Básica
X
Y
Z
W
Nomes das Variáveis
10
0
10
0
10
0
10
Conteúdos
Somar
+
Subtrair
-
Multiplicar
*
X ← X+1
Y ← Y-1
Z←Z/2
W←W*2
Dividir
/
X
Y
Z
W
Nomes das Variáveis
11
0
0
9
0
5
20
0
Conteúdos
Troca de Valores(swap)
X
Y
Z
W
Nomes das Variáveis
10
0
50
0
0
0
Conteúdos
Z←X
X←Y
Y←Z
Como o conteúdo da memória se
perde por sobreposição de valores,
é necessário copiar o conteúdo para
outra posição de memória
X
Y
Z
W
Nomes das Variáveis
50
0
10
0
10
0
0
Conteúdos
Troca de Valores em PseudoCódigo
//declaração de variáveis//
Inteiro X
Inteiro Y
Inteiro Troca
//inicialização das variáveis//
X ← 10
Y ← 50
//processamento das variáveis//
Troca ← X
X←Y
Y ← Troca
//Finalização – relatório//
Mostrar ( “Valores trocados”,X,Y)
X
10
Y
Troca
Troca de Valores em PseudoCódigo
//declaração de variáveis//
Inteiro X
Inteiro Y
Inteiro Troca
//inicialização das variáveis//
X ← 10
Y ← 50
//processamento das variáveis//
Troca ← X
X←Y
Y ← Troca
//Finalização – relatório//
Mostrar ( “Valores trocados”,X,Y)
X
Y
10
50
Troca
Troca de Valores em PseudoCódigo
//declaração de variáveis//
Inteiro X
Inteiro Y
Inteiro Troca
//inicialização das variáveis//
X ← 10
Y ← 50
//processamento das variáveis//
Troca ← X
X←Y
Y ← Troca
//Finalização – relatório//
Mostrar ( “Valores trocados”,X,Y)
X
Y
Troca
10
50
10
Troca de Valores em PseudoCódigo
//declaração de variáveis//
Inteiro X
Inteiro Y
Inteiro Troca
//inicialização das variáveis//
X ← 10
Y ← 50
//processamento das variáveis//
Troca ← X
X←Y
Y ← Troca
//Finalização – relatório//
Mostrar ( “Valores trocados”,X,Y)
X
Y
Troca
10
50
50
10
Troca de Valores em PseudoCódigo
//declaração de variáveis//
Inteiro X
Inteiro Y
Inteiro Troca
//inicialização das variáveis//
X ← 10
Y ← 50
//processamento das variáveis//
Troca ← X
X←Y
Y ← Troca
//Finalização – relatório//
Mostrar ( “Valores trocados”,X,Y)
X
Y
Troca
10
50
50
10
10
Vetores
●
Mecanismo de programação adotado para
facilitar o acesso à várias posições de memória
X
Y
Z
W
Nomes das Variáveis
10
0
10
0
10
0
10
Conteúdos
Vetor[0]
Vetor[1]
Vetor[2]
Vetor[3]
Nomes das Variáveis
10
0
10
0
10
0
10
Conteúdos
Declaração de vetores
●
Inteiro vetor[10]
Declara um vetor de
10 elementos de
Inteiro. Este vetor irá
ocupar 10 posições de memória
Vetor [ 10 ]
Índice
Nome
Inicialização de Vetores
vetor[0]
vetor[1]
vetor[2]
vetor[3]
Nomes das Variáveis
0
0
0
0
Conteúdos
vetor[0] ← 10
vetor[3] ← vetor[0]
vetor[1] ← vetor[1] + 1
vetor[0]
vetor[1]
vetor[2]
vetor[3]
Nomes das Variáveis
10
0
1
0
0
10
0
Conteúdos
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
10
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
vet[2]
vet[3]
soma
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
10
15
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
vet[2]
vet[3]
soma
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
10
15
20
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
vet[3]
soma
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
10
15
20
45
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
soma
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
soma
10
15
20
45
0
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
soma
10
15
20
45
0
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
10
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
soma
10
15
20
45
0
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
10
25
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
soma
10
15
20
45
0
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
10
25
45
Somando o conteúdo de um
vetor em uma variável
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma
vet[0]
vet[1]
vet[2]
vet[3]
soma
10
15
20
45
0
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0]
soma ← soma + vet[1]
soma ← soma + vet[2]
soma ← soma + vet[3]
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
10
25
45
90
Matrizes
●
●
Mesma idéia dos vetores, porém com dois
índices
Um índice para a linha, outro para a coluna
Inteiro matriz[ 2 ][ 3 ]
Coluna
Linha
Inteiro matriz [2][3]
10 11
Matriz [ 0 ][ 0 ] ← 10
Matriz [ 0 ][ 1 ] ← 11
Matriz [ 0 ][ 2 ] ← 12
20 21 22
Matriz [ 1 ][ 0 ] ← 20
Matriz [ 1 ][ 1 ] ← 21
Matriz [ 1 ][ 2 ] ← 22
12
//declaração de variáveis//
Inteiro vet[2][3]
Inteiro soma
//inicialização das variáveis//
vet[0][0] ← 10 vet[0][1] ← 15 vet[0][2] ← 12
vet[1][0] ← 21 vet[1][1] ← 25 vet[1][2] ← 22
Soma ← 0
//processamento das variáveis//
soma ← soma + vet[0][0]
soma ← soma + vet[0][1]
soma ← soma + vet[0][2]
soma ← soma + vet[1][0]
soma ← soma + vet[1][1]
soma ← soma + vet[1][2]
//Finalização – relatório//
Mostrar ( “Soma:”,soma)
Comparações
> maior
< menor
>= maior ou igual
<= menor ou igual
!= não igual
== igual
Inteiro a
a ← 10
a>10 → falso
a<10 → falso
a==10 → verdadeiro
a>=10 → verdadeiro
a<=10 → verdadeiro
A != 5 → verdadeiro
Comandos – Laço - Enquanto
Verdadeiro ou
falso
Inteiro contador
Enquanto <condição> faça
contador ← 0
Enquanto contador<10 faça
Fim Enquanto
contador ← contador + 1
Fim Enquanto
Comandos – Laço - Para
Para [variavel] ← LI até LS faça
Inteiro c
Para c ← 0 até 10 faça
Fim Para
//LI-limite inferior
//LS-limite superior
Fim Para
Soma de vetor usando Enquanto
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma, ID
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0 ID ← 0
//processamento das variáveis//
Enquanto ID<10 faça
soma ← soma + vet[ID]
ID ← ID + 1
Fim Enquanto
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
Soma de vetor usando Para
//declaração de variáveis//
Inteiro vet[4]
Inteiro soma, ID
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45
Soma ← 0
//processamento das variáveis//
Para ID ←0 até 10 faça
soma ← soma + vet[ID]
Fim Enquanto
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
Desvio Condicional
●
Desvia a execução do programa para um outro
trecho de código de acordo com a condição
Se <cond> Então Se <cond> Então
Se <cond> Então
Senão Se <cond> então
Fim Se
Senão
Senão Se <cond> então
Senão
Fim Se
Fim Se
//declaração de variáveis//
Inteiro vet[4], soma, ID
//inicialização das variáveis//
vet[0] ← 10 vet[1] ← 15
vet[2] ← 20 vet[3] ← 45 Soma ← 0
//processamento das variáveis//
Para ID ←0 até 10 faça
soma ← soma + vet[ID]
Fim Enquanto
Se soma<10 então
Mostrar(“Valor insuficiente”)
Soma ← soma *2
Senão
Mostrar ( “ Valor suficiente”)
Fim Se
//Finalização – relatório//
Mostrar ( “Vetor:”,vet[0],vet[1],vet[2],vet[3])
Mostrar ( “Soma:”,soma)
Download

Revisão Algoritmos