módulo 1 de psi

70
1 Programação e Sistemas de Informação Prof. Hilário Russo Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos 10º ano (2013/2014)

Upload: hilario-santos-russo

Post on 25-Jun-2015

165 views

Category:

Technology


1 download

DESCRIPTION

Unidade 1 da disciplina de Programação e Sistemas de Informação

TRANSCRIPT

Page 1: Módulo 1 de PSI

1

Programação e Sistemas de Informação

Prof. Hilário Russo

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos

10º ano (2013/2014)

Page 2: Módulo 1 de PSI

2

Módulo 1

Introdução à Programação e Algoritmia

Page 3: Módulo 1 de PSI

3

Esclarecer conceitos básicos necessários à atividade de programar, que consiste na elaboração de programas de computador.

Promoção do raciocínio lógico e preparação para a resolução de problemas de programação mais ou menos complexos.

Objetivo

Introdução à Programação e Algoritmia

Page 4: Módulo 1 de PSI

4

Noções básicas de programaçãoO que é um Programa?

É um conjunto de instruções organizadas de uma forma lógica e previamente estabelecida destinadas a serem processadas num sistema informático para realizar determinada tarefa.

Introdução à Programação e Algoritmia

Page 5: Módulo 1 de PSI

5

Atenção:

Antes de se começar a escrever um programa numa determinada linguagem de programação, há algumas ações a ter em conta;

Após a escrita desse programa, a atividade do programador não termina, pois são necessárias outras tarefas.

Introdução à Programação e Algoritmia

Page 6: Módulo 1 de PSI

6

1ª - Definição do problema; 2ª - Planificação da resolução; 3ª - Codificação; 4ª - Teste e depuração; 5ª - Documentação; 6ª - Manutenção.

Introdução à Programação e Algoritmia

Fases/etapas de criação de um programa

Page 7: Módulo 1 de PSI

7

1ª - Definição do problema

Tem de se definir/identificar muito bem o problema que se pretende resolver.

Não se pode passar à fase seguinte, sem ter um enunciado preciso de todos os aspetos da situação ou problema a resolver.

Introdução à Programação e Algoritmia

Page 8: Módulo 1 de PSI

8

2ª - Planificação da resolução

Depois de se ter a noção exata da situação ou problema, devemos recorrer a uma estratégia para o abordar.

Diferentes estratégias de abordagem ao problema podem conduzir à solução.

É nesta fase que surgem os ALGORITMOS.

Introdução à Programação e Algoritmia

Page 9: Módulo 1 de PSI

9

3ª Codificação

Depois de definir o algoritmo adequado ao problema passa-se à codificação; Nesta fase as ações dos algoritmos passam a

instruções da linguagem de programação que se vai utilizar.

Pode dizer-se que um programa consiste num algoritmo ou num conjunto de algoritmos interligados num todo.

Introdução à Programação e Algoritmia

Page 10: Módulo 1 de PSI

10

4ª Teste e Depuração

Após a obtenção do código do programa, há que testá-lo com diversos tipos de dados e em diferentes situações, de modo a poderem detetar-se eventuais erros, falhas ou omissões.

Introdução à Programação e Algoritmia

Page 11: Módulo 1 de PSI

11

5ª - Documentação

Deve-se elaborar dois tipos de documentação; Uma para os programadores e outra para os utilizadores.

Para os programadores a documentação é a explicação do código do programa e serve para possibilitar eventuais alterações ou melhoramentos do mesmo.

Para os utilizadores a documentação visa facilitar o modo de operar com o programa.

Introdução à Programação e Algoritmia

Page 12: Módulo 1 de PSI

12

6ª - Manutenção

Esta fase diz respeito a alterações que sejam necessárias ou a aperfeiçoamentos que se revelem úteis.

Esta fase ocupa uma grande parte do trabalho dos programadores.

Introdução à Programação e Algoritmia

Page 13: Módulo 1 de PSI

13

Algoritmos

Conjunto finito de regras/instruções bem determinadas para a resolução de um problema, através de um número finito de operações.

Isto é:

Um algoritmo é uma sequência finita e logicamente ordenada de ações para se chegar à solução de um problema.

Introdução à Programação e Algoritmia

Page 14: Módulo 1 de PSI

14

Um mesmo algoritmo pode servir de base à codificação de um programa em diversas linguagens de programação ou com diferentes técnicas de implementação.

Algoritmos

Introdução à Programação e Algoritmia

Page 15: Módulo 1 de PSI

15

Características de um Algoritmo Um algoritmo deve ser rigoroso. A definição das

ações tem de ser clara e precisa, sem ambiguidades, isto quer dizer que um algoritmo não pode estar sujeito a diferentes interpretações.

Um algoritmo deve ser eficaz. Deve resolver o problema, independentemente da situação, de uma forma isenta de erros e de qualquer falha.

Introdução à Programação e Algoritmia

Page 16: Módulo 1 de PSI

16

Características de um Algoritmo Um algoritmo deve ser eficiente. Deve ter capacidade

de resolver o problema com o mínimo de recursos.

Um algoritmo deve terminar. O algoritmo deve levar a uma situação em que o objetivo tenha sido atingido e não existam mais instruções para ser executadas.

Introdução à Programação e Algoritmia

Page 17: Módulo 1 de PSI

17

Exemplos de algoritmos

A substituição de uma lâmpada fundida por uma em bom estado;

A substituição de um pneu de um automóvel; A utilização de um eletrodoméstico para uma finalidade

especifica; Uma receita culinária; A resolução de um problema de matemática.

Introdução à Programação e Algoritmia

Page 18: Módulo 1 de PSI

18

Exemplo do algoritmo para substituição de uma lâmpada fundida

O algoritmo enuncia a sequência das operações:1 – Preparar uma lâmpada nova2 – Retirar a lâmpada fundida3 – Colocar a lâmpada nova

Temos uma sequência ordenada de forma linear em três passos.

Introdução à Programação e Algoritmia

Page 19: Módulo 1 de PSI

19

Mas, entretanto podemos acrescentar outras ações:

4 – Ligar o interruptor para verificar se a nova lâmpada acende ou não.5 – Se a lâmpada acender, podemos dar o processo por concluído, mas se não acender teremos de repetir os passos de 1 a 4.

Com estas ações a sequência já não se mantém numa simples ordem linear.

Pois a uma determinada altura surge uma condição associada à palavra “SE”

Introdução à Programação e Algoritmia

Page 20: Módulo 1 de PSI

20

Essa condição tem 2 ramificações distintas:

- se a condição se verificar (se a lâmpada acende), processo concluído. - se a condição não se verificar (se a lâmpada não acender), teremos de repetir os passos anteriores.

Estas SITUAÇÕES CONDICIONAIS são um elemento comum nos algoritmos e nos programas.

Introdução à Programação e Algoritmia

Page 21: Módulo 1 de PSI

21

Mas ainda podemos acrescentar outras ações e assim o algoritmo fica mais completo

Podemos ainda adicionar as ações ir buscar um escadote para mudar a lâmpada, assim fica:

1 – Preparar a lâmpada nova;2 – Colocar o escadote debaixo do candeeiro;3 – Retirar a lâmpada fundida;4 – Colocar a lâmpada nova;

Introdução à Programação e Algoritmia

Page 22: Módulo 1 de PSI

22

5 – Descer o escadote;

6 – Ligar o interruptor para verificar se a nova lâmpada acende ou não;

7 – Se a lâmpada acender, podemos dar o processo por concluído;

8 – Arruma-se o escadote;

9 - Se a lâmpada não acender teremos de repetir os passos de 1 a 6.

Assim teremos o algoritmo mais completo.

Introdução à Programação e Algoritmia

Page 23: Módulo 1 de PSI

23

Regras para a construção de um algoritmo Usar somente um verbo por frase; Imaginar que se está a desenvolver um algoritmo para

pessoas que não trabalham com informática; Usar frases curtas e simples; Ser objetivo; Procurar usar palavras que não tenham sentido

duvidoso.

Introdução à Programação e Algoritmia

Page 24: Módulo 1 de PSI

24

Exercício

Elabore um algoritmo para substituição de um pneu de um automóvel

Introdução à Programação e Algoritmia

Page 25: Módulo 1 de PSI

25

Resolução:

1 – Abrir o carro2 – Retirar o pneu suplente3 – Colocar o macaco na posição adequada4 – Levantar o carro5 – Retirar os parafusos do pneu6 – Retirar o pneu furado7 – Colocar o novo pneu8 - Retirar o macaco do carro9 – Arrumar o macaco

Introdução à Programação e Algoritmia

Page 26: Módulo 1 de PSI

26

Metodologia Top-down

Esta metodologia parte do topo para a base, isto é, o problema é abordado como um todo que se vai decompondo em blocos.

Esta metodologia procura identificar os pontos essenciais da questão e parte dos ponto mais gerais para os mais particulares, até ao nível do pormenor desejado.

Introdução à Programação e Algoritmia

Page 27: Módulo 1 de PSI

27

Exemplo:

Elaborar um programa para gerir os livros de uma biblioteca.

Antes de começarmos a elaborar o algoritmo, segundo esta metodologia teremos de identificar as tarefas gerais que pretendemos realizar com o nosso programa e só passaremos aos detalhes numa fase posterior.

Introdução à Programação e Algoritmia

Page 28: Módulo 1 de PSI

28

Operações principais:

1 – Registar os livros num ficheiro2 – Consultar os dados dos livros3 – Registar os empréstimos e as devoluções

Depois de identificadas as operações gerais do programa, poderíamos formular uma interface com um menu apresentando as opções do programa, permitindo escolher a opção desejada.

Introdução à Programação e Algoritmia

Page 29: Módulo 1 de PSI

29

De seguida, podemos tratar cada opção como um subprograma ou um subalgoritmo.

Por exemplo, a opção: 1 - Registar os livros num ficheiro

Pode-se subdividir em tarefas mais especificas, como: Criar um formulário para a introdução dos dados

relativos a cada livro (nome do autor, título da obra, etc); Criar um ficheiro adequado a operar com estes registos.

Isto teria de se fazer para todas as opções até termos todos os detalhes necessários ao programa.

Introdução à Programação e Algoritmia

Page 30: Módulo 1 de PSI

30

Operações elementares de um sistema inf. Um sistema informático é constituído por blocos

ou unidades funcionais, tais como: Dispositivos de input ou entrada de dados. Unidade central de processamento ( a que

podemos associar a memória primária). Dispositivos de output ou saída de dados.

Introdução à Programação e Algoritmia

Page 31: Módulo 1 de PSI

31

Assim sendo, podemos considerar que as operações básicas e fundamentais de um sistema informático são: Operações de input – ou entrada de dados; Operações de processamento interno; Operações de output ou saída de dados.

Para a elaboração de um algoritmo devemos convencionar determinadas palavras para as referidas operações elementares.

Operações elementares de um sistema inf.

Introdução à Programação e Algoritmia

Page 32: Módulo 1 de PSI

32

Exemplo: Para as operações de entrada ou input de dados

utilizamos as palavras LER ou OBTER Para as operações de saída ou output de dados,

utilizamos ESCREVER ou APRESENTAR Nas operações de processamento, não interessa

o que o processador faz (a nível de linguagem máquina), mas as operações que pretendemos realizar.

Essas operações serão essencialmente operações de cálculos aritméticos e lógicos

Introdução à Programação e Algoritmia

Page 33: Módulo 1 de PSI

33

Exemplo: Calcular a média final do aluno Os alunos realizaram 3 provas: P1, P2 e P3. Onde: Média Final = (P1+P2+P3)/3

Para elaborar o algoritmo proposto, faremos três perguntas:a) Quais são os dados de entrada?R: Os dados de entrada são P1, P2 e P3b) Qual será o processamento a ser utilizado?R: O procedimento será somar todos os dados de entrada edividi-los por 3: (P1+P2+P3)/3c) Quais serão os dados de saída?R: O dado de saída será a média final

Introdução à Programação e Algoritmia

Page 34: Módulo 1 de PSI

34

O algoritmo para calcular média do aluno seria:

1. Obter a nota da prova1.

2. Obter a nota de prova2.

3. Obter a nota de prova3.

4. Somar todas as notas e dividir o resultado

por 3.

5. Apresentar o resultado da divisão, ou seja, o valor da média.

Introdução à Programação e Algoritmia

Page 35: Módulo 1 de PSI

35

Exercício

Elabore um algoritmo que visa calcular a área de um rectângulo a partir das medidas dadas em relação ao comprimento e à largura desse mesmo rectângulo.

Introdução à Programação e Algoritmia

Page 36: Módulo 1 de PSI

36

O algoritmo para calcular a área do rectângulo seria:

1. Obter valor do comprimento

2. Obter valor da largura

3. Calcular área: comprimento x largura

4. Apresentar o valor da área

Introdução à Programação e Algoritmia

Page 37: Módulo 1 de PSI

37

Operadores aritméticos

OPERADOR OPERAÇÃO

+ Adição

- Subtracção

* Multiplicação

/ Divisão

^ Exponenciação

Introdução à Programação e Algoritmia

Page 38: Módulo 1 de PSI

38

Operadores relacionais ou de comparação

Operador Significado

= Igualdade

< Menor

> Maior

<= Menor ou igual

>= Maior ou igual

<> Diferente de

Introdução à Programação e Algoritmia

Page 39: Módulo 1 de PSI

39

Operadores lógicos

Operador Significado

Not (não) Negação

And (e) Conjunção

Or (ou) Disjunção

Introdução à Programação e Algoritmia

Page 40: Módulo 1 de PSI

40

Tabelas de VerdadeNot

p ~p

V F

F V

AND

P Q P Q

V V V

V F F

F V F

F F F

OR

P Q P Q

V V V

V F V

F V V

F F FIntrodução à Programação e Algoritmia

Page 41: Módulo 1 de PSI

41

Ordem de prioridade dos operadores(usados na linguagem Pascal)

Introdução à Programação e Algoritmia

Page 42: Módulo 1 de PSI

42

Calculo de expressões

a) 10 + 5 > 10 AND 10 < 10 – 5 15 > 10 AND 10 < 5

V AND FF

b) R = 3; Y=2 R * Y / 2 3 * 2 / 2 6 / 2 3

Introdução à Programação e Algoritmia

Page 43: Módulo 1 de PSI

43

Exercícios com expressões lógicas1 - Considerando que P=3 e Q=2, determine o

valor das expressões:

a) P + Q * 5

b) (P + Q ) * 5

c) P + 5 * Q / 2

d) (P + 5 * Q) / 2

Introdução à Programação e Algoritmia

Page 44: Módulo 1 de PSI

44

2 – Determine os valores lógicos de cada expressão, sabendo que X=10 e Y=5 (apresente todos os cálculos).

a) X > 5 and X >= 10

b) X > 0 or X > 20

c) X = 10 and Y<>5

d) Not (Y=5) or X <> 10

e) X >= 10 and y < 5

f) Not (X > 10) and (Y<5)

g) Not (X>10) or (Y<5)

h) X >=5 and x <10 or y>=0 and y <=5

Introdução à Programação e Algoritmia

Page 45: Módulo 1 de PSI

45

Tipos de dados

Os principais tipos de dados utilizados em algoritmia e programação são: Caracteres, cadeias de caracteres ou texto; Números (podendo este ser de diferentes tipos,

inteiros (negativos, zero e positivos), reais (com casas decimais));

Dados do tipo lógico ou booleano, este têm apenas 2 resultados possíveis verdadeiro (true) ou falso (false)

Introdução à Programação e Algoritmia

Page 46: Módulo 1 de PSI

46

Tipos de dados

Introdução à Programação e Algoritmia

Page 47: Módulo 1 de PSI

47

Funções Pré definidas

Introdução à Programação e Algoritmia

Page 48: Módulo 1 de PSI

48

Constantes e Variáveis

Em algoritmos e em programas, os dados podem surgir sob a forma de constantes ou de variáveis. Constante - é um dado que permanece

inalterável do início ao fim do algoritmo. Variável - é um dado que pode sofrer alterações

durante o algoritmo.

Introdução à Programação e Algoritmia

Page 49: Módulo 1 de PSI

49

Constantes e Variáveis

As constantes podem surgir: Sob a forma directa, ou seja, valores numéricos ou

alfanuméricos, por exemplo: 0,75; “Junho”. Sob a forma de identificadores, ou seja, nomes

que representam ou identificam determinados dados, por exemplo:

Introdução à Programação e Algoritmia

Page 50: Módulo 1 de PSI

50

Identificador – é um nome que é associado (pelo programador) a uma constante, a uma variável ou a outro tipo de elemento.

As variáveis surgem sempre designadas através de identificadores, ou seja, os nomes que as identificam.

Cada variável surge associada a um determinado tipo de dados (inteiro, real, string, etc.)

Constantes e Variáveis

Variável Idade : inteiro

Introdução à Programação e Algoritmia

Page 51: Módulo 1 de PSI

51

Constantes e Variáveis

Instruções de atribuição – são as operações internas de um algoritmo ou programa que atribuem valores às variáveis Nos algoritmos o símbolo que se utiliza na operação de

atribuição é

Nome ”Maria João” Custo 15

Introdução à Programação e Algoritmia

Page 52: Módulo 1 de PSI

52

Pseudocódigo e Fluxogramas

Pseudocódigo – Representa o código de um programa numa linguagem formal, com termos convencionais que representam as acções a executar pelo programa.

Fluxogramas – É outra forma de representar os algoritmos, recorrendo a símbolos convencionais, que representam as sequências de acções dos algoritmos.

Introdução à Programação e Algoritmia

Page 53: Módulo 1 de PSI

53

Pseudocódigo

Vantagens: Como é baseado na linguagem corrente, é fácil

de elaborar; Pode atingir vários níveis de complexidade,

conforme o detalhe com que se escrever; Permite acompanhar o tratamento dos dados

facilitando o teste do programa; Permite implementar as estruturas elementares

da programação estruturada; Serve de base à própria documentação

Introdução à Programação e Algoritmia

Page 54: Módulo 1 de PSI

54

Desvantagens: Não possui regras padrão, pois depende do estilo

de escrita de cada programador; Não permite uma rápida visualização de

pormenores, pois usa a linguagem escrita, o que obriga à sua leitura integral;

Para problemas mais complicados a linguagem torna-se muito complexa e de difícil compreensão.

Pseudocódigo

Introdução à Programação e Algoritmia

Page 55: Módulo 1 de PSI

55

Fluxogramas

Vantagens: Como são baseados numa representação gráfica,

é mais fácil de visualizar; Os símbolos utilizados são normalizados e

universais; Como cada símbolo tem um significado, isso

simplifica a resolução do problema; São fáceis de testar e permitem uma rápida

detecção e correcção de erros de lógica.

Introdução à Programação e Algoritmia

Page 56: Módulo 1 de PSI

56

Desvantagens: São pouco práticos para efectuar alterações; Os dados tem de ser definidos à parte, porque os

fluxogramas não permitem representar a estrutura dos dados;

Se os programas forem muito grandes os fluxogramas tornam-se muito grandes e complexos.

Fluxogramas

Introdução à Programação e Algoritmia

Page 57: Módulo 1 de PSI

57

Símbolos utilizados nos fluxogramas

Símbolo de inicio ou de fim

Estes são usados para representar o inicio ou o fim das operações de um algoritmo

Introdução à Programação e Algoritmia

Page 58: Módulo 1 de PSI

58

Símbolo de linha de fluxo

Estabelece a ligação entre as acções e indica o sentido da sequência delas

Introdução à Programação e Algoritmia

Page 59: Módulo 1 de PSI

59

Símbolo de entrada ou de saída de dados

Representa uma acção de entrada (input) ou de saída (output) de dados no sistema

Introdução à Programação e Algoritmia

Page 60: Módulo 1 de PSI

60

Símbolo de processamento interno

Representa uma operação de processamento interno, como, por exemplo, a atribuição de um valor a uma variável

Introdução à Programação e Algoritmia

Page 61: Módulo 1 de PSI

61

Símbolo de Comentário

………….

Este símbolo é usado para fazer comentários explicativos do algoritmo

Introdução à Programação e Algoritmia

Page 62: Módulo 1 de PSI

62

Símbolo de conector

Usado para representar a ligação ou conexão entre diferentes fluxos de acções representadas num algoritmo

Introdução à Programação e Algoritmia

Page 63: Módulo 1 de PSI

63

Símbolo de decisão

Representa uma condição ou expressão lógica de que dependerá uma decisão a seguir num sentido ou noutro

Introdução à Programação e Algoritmia

Page 64: Módulo 1 de PSI

64

Símbolo de selecção múltipla

Representa uma situação em que o algoritmo pode seguir por diversas vias, opções ou sequência de acções

Introdução à Programação e Algoritmia

Page 65: Módulo 1 de PSI

65

Símbolo de subalgoritmo

Representa um subalgoritmo, ou seja uma unidade mais pequena em que o algoritmo foi decomposto, por outras palavras é uma rotina, um procedimento ou um conjunto de instruções

Introdução à Programação e Algoritmia

Page 66: Módulo 1 de PSI

66

Convenções do pseudocódigo Aqui, não há regras generalizadas, mas existem

palavras que representam as principais operações que os algoritmos poderão conter.

Exemplo: LER – Entrada de dados Escrever – Saída de dados As strings estão sempre entre “ “ ou ‘ ‘ As variáveis começam sempre por letras e não utilizam

acentos, nem espaços O simbolo indica a operação de atribuição

Introdução à Programação e Algoritmia

Page 67: Módulo 1 de PSI

67

Criar um algoritmo que calcule a área de um rectângulo, em linguagem informal:

1 – Obter o valor do comprimento 2 – Obter o valor da largura 3 – Calcular a área: comprimento x largura 4 – Apresentar o valor da área.

Para fazermos o algoritmo correcto teremos de utilizar os operadores utilizados em algoritmia e em programação.

Exercício

Introdução à Programação e Algoritmia

Page 68: Módulo 1 de PSI

68

Problema:

Calcular a área de um rectângulo

Dados de entrada (input) : comprimento e largura Dados de saída (output) : valor da área

Introdução à Programação e Algoritmia

Page 69: Módulo 1 de PSI

69

Em pseudocódigo

Inicio

Ler (comprimento, largura)

area comprimento * largura

escrever (area)

Fim

Introdução à Programação e Algoritmia

Page 70: Módulo 1 de PSI

70

O fluxograma será:

Início

Ler (comp, larg)

Área comp * larg

Escrever (área)

Fim

Introdução à Programação e Algoritmia