Este documento apresenta conceitos básicos de programação e algoritmia. Descreve as principais etapas na criação de um programa, como definição do problema, planeamento da resolução, codificação, teste e depuração. Explora ainda conceitos-chave como algoritmos, operações elementares de sistemas de informação e operadores lógicos e aritméticos.
1. 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)
3. 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
4. 4
Noções básicas de programação
O 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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 nova
2 – Retirar a lâmpada fundida
3 – Colocar a lâmpada nova
Temos uma sequência ordenada de forma linear em três
passos.
Introdução à Programação e Algoritmia
19. 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
20. 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
21. 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
22. 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
23. 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
25. 25
Resolução:
1 – Abrir o carro
2 – Retirar o pneu suplente
3 – Colocar o macaco na posição adequada
4 – Levantar o carro
5 – Retirar os parafusos do pneu
6 – Retirar o pneu furado
7 – Colocar o novo pneu
8 - Retirar o macaco do carro
9 – Arrumar o macaco
Introdução à Programação e Algoritmia
26. 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
27. 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
28. 28
Operações principais:
1 – Registar os livros num ficheiro
2 – Consultar os dados dos livros
3 – 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
29. 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
30. 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
31. 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
32. 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
33. 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 P3
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e
dividi-los por 3: (P1+P2+P3)/3
c) 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
34. 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
35. 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
36. 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
38. 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
40. 40
Tabelas de Verdade
Not
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 F
Introdução à Programação e Algoritmia
41. 41
Ordem de prioridade dos operadores
(usados na linguagem Pascal)
Introdução à Programação e Algoritmia
42. 42
Calculo de expressões
a) 10 + 5 > 10 AND 10 < 10 – 5
15 > 10 AND 10 < 5
V AND F
F
b) R = 3; Y=2
R * Y / 2
3 * 2 / 2
6 / 2
3
Introdução à Programação e Algoritmia
43. 43
Exercícios com expressões lógicas
1 - 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
44. 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
45. 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
48. 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
49. 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
50. 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
51. 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
52. 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
53. 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
54. 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
55. 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
56. 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
57. 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
58. 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
59. 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
60. 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
61. 61
Símbolo de Comentário
………….
Este símbolo é usado para fazer comentários
explicativos do algoritmo
Introdução à Programação e Algoritmia
62. 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
63. 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
64. 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
65. 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
66. 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
67. 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
68. 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