Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da...
Click here to load reader
Transcript of Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da...
Módulo 1
1 2 3 4 5 6 7 1
1 Introdução à Lógica de Programação
2 Pseudocódigo
3 Regras e Fases da Construção de um Algoritmo4 Fluxogramas
5 Constantes, Variáveis e Tipos de Dados6 Operadores e Funções Predefinidas
7 Teste e Correcção de Erros
Programação e Sistemas de Informação
Índice
• Introdução à Programação e Algoritmia
Módulo 1
1 2 3 4 5 6 7 2
1 Introdução à Lógica de Programação• Lógica
• Sequência Lógica
• Instruções
• Algoritmos
• ProgramasSolução a partir de
um programa
de computad
or
Solução na forma de algoritmo
Problema
Fase de resolução do
problema
Fase de implemen
tação
Passos difíceis
1
Módulo 1
1 2 3 4 5 6 7 3
1 Introdução à Lógica de Programação• Algoritmo
Sequência finita de acções, que descrevem um modo ou forma de resolução de um problema.
• Programa
Conjunto de instruções destinadas a serem processadas num sistema informático para realizar uma tarefa.
1
Módulo 1
1 2 3 4 5 6 7 4
• Expressão de Algoritmos
1 Introdução à Lógica de Programação
Narrativa descritiva
FluxogramaPseudocódig
o
Problema: Somar dois números
Começar por ler os dois números, calcular a soma e, por fim, apresentar o resultado.
1. Início2. Ler (a, b);3. SOMA a+b;4. Escrever (SOMA);5. Fim
Início
Fim
a, b
SOMA a+b
SOMA
1
Módulo 1
1 2 3 4 5 6 7 5
2 Pseudocódigo
• Linguagem algorítmicaInício
2
Fim
Ler (…)
Escrever (…)
Se … então …Senão …
Enquanto … fazer …Repetir … enquanto …
Problema: Calcular XY
1. Início2. Ler (BASE)3. Ler (EXP)4. PRODUTO BASE5. CONTADOR 16. Repetir até ao passo 8 enquanto
CONTADOR < EXP7. PRODUTO PRODUTO * BASE8. CONTADOR CONTADOR + 19. Escrever (PRODUTO)10.Fim
Módulo 1
1 2 3 4 5 6 7 6
3 Regras e Fases da Construção de um Algoritmo
• Fases da construção de um algoritmo
1. Análise do problema2. Elaboração do algoritmo (fluxograma e/ou
pseudocódigo)3. Codificação4. Verificação (detecção de erros)
3
Módulo 1
1 2 3 4 5 6 7 7
3 Regras e Fases da Construção de um AlgoritmoCaracterísticas de um bom algoritmo• Ser correctamente definido
– As acções a desenvolver, devem ser apresentadas de uma forma clara abrangendo a maior quantidade de informação.
• Estar isento de ambiguidades– Como resultado de falta de informação ou duplicação
desta.
• Ser eficaz– Deve resolver o problema, independentemente da
situação, de uma forma isenta de erros e qualquer falha.
• Ser eficiente– Deve ter capacidade de resolver o problema com o
mínimo de recursos.
3
Módulo 1
1 2 3 4 5 6 7 8
4 Fluxogramas
• Fluxogramas – Principais símbolos
Início/Fim
Entrada/ Saída de dados
Decisão
Processamento interno
Entrada de dados
Selecção múltipla
Conector
Saída de dados
Subalgoritmo
4
Módulo 1
1 2 3 4 5 6 7 9
4 Fluxogramas
• Linguagem simbólica
4
Problema: Calcular XY
Início
Fim
BASE, EXP
PRODUTO BASECONTADOR 1
CONTADOR < EXP
PRODUTO PRODUTO * BASECONTADOR CONTADOR + 1
PRODUTO
V
F
Módulo 1
1 2 3 4 5 6 7 10
5 Constantes - Variáveis - Tipos de dados
5
• Nomes de variáveis ou constantes
Maiúsculas, minúsculas, dígitos (0…9) e símbolo underscore (_).
O primeiro carácter não pode ser um dígito.O nome de uma variável não pode ser igual a uma
palavra reservada da própria linguagem.Não é aconselhável o uso de acentos ou cedilhas.O número de caracteres depende do compilador,
mas o normal é ir até aos 32 caracteres.O nome da variável ou constante deve ser
descritivo daquilo que armazena.
Módulo 1
1 2 3 4 5 6 7 11
5 Constantes - Variáveis - Tipos de dados
Tipos de dados
Inteiros Positivos ou negativos
ReaisDecimais ou vírgula flutuante
Booleanos True ou False
Strings Caracteres
…
5
• Tipos de dados
Módulo 1
1 2 3 4 5 6 7 12
6 Operadores e Funções Predefinidas
• Operadores ARITMÉTICOSOperador
Descrição Exemplo Resultado
+ Soma 21+4 25
– Subtracção 21–4 17
* Multiplicação 21*4 84
div Divisão inteira 21 div 4 5
/ Divisão real 21/4 5,25
modResto da divisão
21 mod 4 1
^ Expoente 2^4 16Qualquer operação entre dados de determinado tipo
devolve um valor com o mesmo tipo.
6
Módulo 1
1 2 3 4 5 6 7 13
6 Operadores e Funções Predefinidas
• Operadores RELACIONAIS
Operador Descrição Exemplo Resultado
= Igualdade 1=2 0
> Maior 1 > 2 0
< Menor 1 < 2 1
>=Maior ou
igual1 >=2 0
<> Diferente 1 <> 2 1Uma expressão que contenha um operador relacional, devolve sempre
como resultado um valor lógico: VERDADE (1) ou FALSO (0).
6
Módulo 1
1 2 3 4 5 6 7 14
6 Operadores e Funções Predefinidas
• Operadores LÓGICOS – Valores Lógicos: Verdadeiro e Falso
OperadorDescriçã
oExemplo
Resultado
AND E2<1 AND
4==4AND(F,V)
=F
OR Ou 2<1 OR 4==4OR(F,V)=
V
NOT Negação NOT(2<1) NOT(F)=V
6
Módulo 1
1 2 3 4 5 6 7 15
6 Operadores e Funções Predefinidas
• Funções predefinidas
Função Descrição Exemplo Resultado
ROUND ArredondarROUND(2.
54)3
TRUNC TruncarTRUNC(2.5
4)2
INTParte
inteiraINT(2.54) 2
SQRTRaiz
quadradaSQRT(9) 3
ABSValor
absolutoABS(-2.54) 2.54
SIN Seno SIN(90º) 1
COS Co-seno COS(90º) 0
TAN Tangente TAN(0º) 0
6
Módulo 1
1 2 3 4 5 6 7 16
6 Operadores e Funções Predefinidas
• Precedência dos operadores
Prioridade
1.ª
Funções predefinidas
2.ª
^
3.ª
+, - (sinal)
4.ª
*, /, div, mod
5.ª
+, –
6.ª
>, >=,<…
7.ª
NOT, AND, OR
-3
*7 2 3 div
4 – 6
8
2-21
^+
-19
-25
6
Módulo 1
1 2 3 4 5 6 7 17
6 Operadores e Funções Predefinidas
• Operador de ATRIBUIÇÃO
Representação da memória de um computador.
&A: 0 1 2 3 4Endereço
Conteúdo 01111011
5 6 7 8 9
Word
10 11 12 13 14
15 16 17 18 19
A 123
6
A é um inteiro
Módulo 1
1 2 3 4 5 6 7 18
7 Teste e correcção de erros• Traçagem (Trace)Método para verificar se o algoritmo tem erros: bug
(Debugging)
7
Passo
BASE
EXP
PRODUTO
CONTADOR
Teste Output
1 ? ? ? ?
2 9 ? ? ?
3 9 4 ? ?
4 9 4 9 ?
5 9 4 9 1
6 9 4 9 1 V
7 9 4 81 1
8 9 4 81 2
6 9 4 81 2 V
7 9 4 729 2
8 9 4 729 3
6 9 4 729 3 V
7 9 4 6561 3
8 9 4 6561 4
9 9 4 6561 4 F
10 9 4 6561 4 6561
Problema: Calcular XY
Módulo 1
1 2 3 4 5 6 7 19
Referências
• TREMBLAY, Jean-Paul & BUNT, Richard B., Introduction to Computer Science: An Algorithmic Approach, 2.ª Ed. Lisboa: McGraw-Hill, 1989.
• AZUL, Artur A., Bases de Programação – Curso Tecnológico de Informática – 10.º ano, Porto: Porto Editora, 2004.