Your SlideShare is downloading. ×
Módulo 1 de PSI
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Módulo 1 de PSI

111
views

Published on

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

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

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
111
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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)
  • 2. 2 Módulo 1 Introdução à Programação e Algoritmia
  • 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
  • 24. 24 Exercício Elabore um algoritmo para substituição de um pneu de um automóvel 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
  • 37. 37 Operadores aritméticos OPERADOR OPERAÇÃO + Adição - Subtracção * Multiplicação / Divisão ^ Exponenciação 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
  • 39. 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
  • 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
  • 46. 46 Tipos de dados Introdução à Programação e Algoritmia
  • 47. 47 Funções Pré definidas 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
  • 69. 69 Em pseudocódigo Inicio Ler (comprimento, largura) area  comprimento * largura escrever (area) Fim Introdução à Programação e Algoritmia
  • 70. 70 O fluxograma será: Início Ler (comp, larg) Área  comp * larg Escrever (área) Fim Introdução à Programação e Algoritmia