Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da...

19

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...

Page 1: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 2: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 3: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 4: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 5: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 6: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 7: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 8: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 9: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 10: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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.

Page 11: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 12: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 13: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 14: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 15: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 16: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 17: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 18: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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

Page 19: Módulo 1 1234567 1 1 Introdução à Lógica de Programação 2 Pseudocódigo 3 Regras e Fases da Construção de um Algoritmo 4 Fluxogramas 5 Constantes, Variáveis.

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.