A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento.

Apresentações semelhantes


Apresentação em tema: "Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento."— Transcrição da apresentação:

1 ano lectivo de 2009 /

2 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento do computador Linguagens de Programação Desenvolvimento de algoritmos Algoritmos não computacionais Algoritmos computacionais Exercícios 2

3 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Dicionário – Porto Editora Dicionário – Porto Editora 1 que ou aquele que faz cômputos; calculador; calculista. 2 aparelho electrónico que processa dados em função de um conjunto de instruções previamente fornecidas. 3

4 As cinco gerações 4

5 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 5 Mark 1 – (1944) ENIAC – (1945) válvula O primeiro Bug

6 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Vantagens em relação às válvulas Menor energia consumida Menor aquecimento Maior velocidade de processamento 6 UNIVAC (1956)

7 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Componentes miniaturizados Transistores Resistores Diodos Chips Conjunto de componentes Circuitos integrados Conjunto de chips Sistema Operativo - MS-DOS Graficos EGA – 16 cores 7 PC-XT (1981)

8 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Integração de circuitos em larga escala Slots ISA de 16 bits Slots PCI Placas VGA e SVGA 8 PC-AT (1985)

9 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Integração em muito larga escala Processamento paralelo Slots AGP USB SATA 9

10 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 10

11 11

12 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 12

13 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 13

14 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 14

15 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Aplicativos Aplicativos Realizam tarefas específicas Processamento de texto Microsoft Word Desenho Corel Draw Autocad Jogos Etc. Sistema operativo Sistema operativo Serve de interface entre a máquina e os programa de aplicação 15

16 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Quanto ao tamanho e capacidade Quanto ao tamanho e capacidade Grande porte Grande porte Supercomputadores Mainframes Médio porte Médio porte Workstations MiniComputadores Pequeno porte Pequeno porte Microcomputadores Ultra-Microcomputadores 16

17 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Quanto ao número de utilizadores e de tarefas Quanto ao número de utilizadores e de tarefas Mono utilizador Mono utilizador Monotarefa Ex. PC com MS-DOS Multitarefa Ex. PC com Windows Multi utilizador Multi utilizador Multi-posto Servidor UNIX Terminais Redes de computadores Internet 17

18 A linguagem que as máquinas entendem 18

19 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 19 Hello World Olá Mundo Bonjour Monde Halo welt

20 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 1ª geração – Linguagem máquina Conjunto de dígitos binários do instruction set do processador Os programas correm apenas no computador para o qual foram projectados

21 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 2ª geração – Assembler Mneumónicas doinstruction set do processador Assemblador – Programa que traduz o código assembly para linguagem máquina Os Programas funcionam apenas num tipo processador Mov –> int -> Desenvolvimento de programas muito difícil e demorado 21 dosseg.model small.stack 100h.data hello_message db 'Hello, World!','$'.code main proc mov mov ds,ax mov ah,9 mov dx,offset hello_message int 21h mov ax,4C00h int 21h main endp end main Assembly para o IBM-PC

22 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 22 reset LDX #$00 cycle LDA hworld,X BEQ reset STX cache JSR $FFD2 LDX cache INX JMP cycle hworld.text "Hello, World!".byte 13,0 cache.byte 0 printf: pea text move.w #9,-(sp) trap #1 addq.l #6,sp bra printf text: dc.b " Hello, World !",0 Assembly 680x0 on an Atari computerAssembly on an Commodore 64

23 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Desvantagens Desvantagens Pequeno número de instruções Programas longos Pouco legíveis Difíceis de modificar Utiliza directamente os recursos da máquina Os programas não são portáteis entre computadores Vantagens Vantagens Código optimizado Velocidade de processamento elevado Controlo total do hardware 23

24 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 3ª geração – Linguagens de alto nível Uma instrução pode corresponder a um grande número de instruções em assembly Intruções em linguagem natural write, read, print,... Ler, escrever, repetir Linguagens de propósito geral Cálculo matemática Gestão de documentos Controlo Exemplos Basic Pascal C Cobol Fortran print"Hello World!" 20 goto 10 Basic

25 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 25 #include main() { for(;;) printf ("Hello World!\n"); } C PROGRAM HELLO DO 10, I=1,10 PRINT *,'Hello World' 10 CONTINUE STOP END Fortran program Hello_World; Begin repeat writeln('Hello World!') until 1=2; End. Pascal MAIN-LOGIC SECTION BEGIN DISPLAY " " LINE 1 POSITION 1 ERASE EOS DISPLAY "HELLO, WORLD." LINE 15 POSITION STOP RUN MAIN-LOGIC-EXIT EXIT. Cobol

26 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 4ª geração – Linguagens de alto nível com aplicações a áreas concretas Funções muito específicas Gestão de bases de dados Elaboração de relatórios Geração de ecrãs Exemplos DBASE SQL CLIPPER 26 SET ECHO OFF CLEAR DO WHILE SAY "Hello, World!" ENDDO DBASE CREATE TABLE HELLO (HELLO CHAR(12)) UPDATE HELLO SET HELLO = 'HELLO WORLD!' SELECT * FROM HELLO SQL

27 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 5ª geração – Linguagens de muito alto nível Programação declarativa Declaração dos problemas Métodos específicos de resolução dos problemas Linguagens de Inteligência Artificial Prolog 27 hello :- printstring("HELLO WORLD!!!!"). printstring([]). printstring([H|T]) :- put(H), printstring(T). Prolog

28 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Programação imperativa Qual é o procedimento que resolve o problema? Descrição pormenorizada de como um problema deve ser resolvido Algoritmo O computador segue os passos descritos no programa Programação declarativa Qual é o problema? O programador declara o conhecimento necessário para a resolução do problema A linguagem possui métodos próprios para a resolução dos problemas. inferência 28

29 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 29 C:\Calculo.exe Raio do circulo: 2 Perimetro do circulo: 6.28 # include int main(int argc, char *argv[]) { double raio; printf( raio do círculo :); scanf(%f,&raio); if( raio < 0 ) printf ( ERRO – Raio negativo) else { printf(Perimetro do circulo:; printf(%f, 3.14* raio); } Programação imperativa Linguagem C Cálculo do Perímetro do círculo

30 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 30 Mae(iria, ines). Mae(iria, antonio). Mae(ines, tiago). Irmao(X,Y) :- Mae(Z,X) Mae(Z,Y) Avo(X,Y):- Mae(X,Z), Mae(Z,Y). ?: Avo( X,tiago) X= Iria. ?: Irmao( X,Y) X = ines Y = antonio Programação declarativa (prolog) Relações familiares

31 Introdução à programação imperativa 31

32 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 32 Origem da palavra Origem da palavra al-Khwarizmi - Matemático árabe Algoritmo Algarismo Definição Definição É uma sequência finita de passos ou instruções, ordenadas de forma lógica, que levam a execução de uma tarefa ou solução de um problema.

33 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática g de farinha 150g de margarina 5 ovos 2 colheres de fermento 200 gramas de acucar 1. Misturar os ingredintes 2. cozinhar o bolo. Receita

34 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 34 Receita: 1 - Misturar os ingredintes 1.1 – juntar a margarina e a farinha e bater até obter um creme 1.2 – Juntar os ovos e mexer 1.3 – juntar o fermento 2 –Cozinhar o bolo 2.1 Aquecer o forno a 180ºc 2.2 Cozer o bolo durante 45 min Refinamento: Obter creme Juntar ovos Ligar e regular o forno Desligar o forno Pode um computador fazer um bolo ?

35 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Algoritmo não computational Algoritmo não computational Exemplos Receita Manual de instruções Depende da perícia do utilizador! Algoritmo computational Algoritmo computational Manipular informação Receber dados Guardar dados Devolver informação Executar instruções Fazer operações aritméticas Fazer operações lógicas Escolha entre várias instruções. Repetir um conjunto de instruções 35 Um algoritmo computacional é uma sequencia de passo tão bem definida que até um computador o é capaz de a executar

36 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 36 Problema Problema Conjunto das possíveis entradas Conjunto das saídas Conjunto de operações válidas Solução Algorítmica Solução Algorítmica Conjunto ordenado de operações válidas que transformam o conjunto de entradas na saída desejada

37 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Como se constroem algoritmos? Problema Trocar uma lâmpada fundida Algoritmo 1 Retirar a lâmpada fundida Colocar a lâmpada boa 37 A formulação de um problema é frequentemente mais essencial do que a sua solução, a qual pode ser meramente uma questão de habilidade matemática ou experimental Einstein

38 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Trocar uma lâmpada fundida Trocar uma lâmpada fundida Entrada Entrada Lâmpada fundida Lâmpada nova Escada Saída Saída Lâmpada nova a funcionar Operações válidas Operações válidas Retirar a lâmpada Colocar a lâmpada Subir a escada Descer a escada 38 Algoritmo 2 Algoritmo 2 Subir a escada Retirar a lâmpada fundida Colocar a lâmpada boa Descer a escada

39 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Trocar uma lâmpada fundida Entrada Entrada Lâmpada fundida Lâmpada nova Escada Caixote de reciclagem Saída Saída Lâmpada nova a funcionar Lâmpada fundida na reciclagem Operações válidas Operações válidas Retirar a lâmpada Colocar a lâmpada Subir a escada Descer a escada Deitar a lâmpada na reciclagem 39 Algoritmo 2 Algoritmo 2 Subir a escada Retirar a lâmpada fundida Colocar a lâmpada boa Descer a escada Colocar a lâmpada fundida na reciclagem

40 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Trocar uma lâmpada fundida Trocar uma lâmpada fundida Entrada Entrada Lâmpada nova Escada Caixote de reciclagem Saída Saída Lâmpada nova a funcionar Operações válidas Operações válidas Retirar a lâmpada Colocar a lâmpada Subir a escada Descer a escada Deslocar a escada Deitar a lâmpada na reciclagem 40 Algoritmo 3 Algoritmo 3 Colocar a escada debaixo da lâmpada Colocar a lâmpada boa no bolso Subir a escada Retirar a lâmpada fundida Colocar a lâmpada boa Descer a escada Colocar a lâmpada fundida na reciclagem Arrumar a escada É um bom algoritmo ?

41 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Interagir com o utilizador Interagir com o utilizador Realiza uma tarefa útil ao utilizador Resolve o problema Ser finito Ser finito Termina sempre e com o resultado previsto Ser correctamente definido Ser correctamente definido Instruções claras que o utilizador consegue compreender e seguir Ser eficaz Ser eficaz Resolve sempre o problema mesmo nas situações mais problemáticas Ser eficiente Ser eficiente Utiliza o mínimo de recursos possível 41

42 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 42 1.Inicio 2.Suba um degrau 3.Suba um degrau 4.Suba um degrau 5.Suba um degrau 6.Suba um degrau 7.Suba um degrau Fim 1.Inicio 2.Subir a escada 3.Fim

43 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática O algoritmo não é a solução de um problema O algoritmo não é a solução de um problema É uma forma de chegar á solução Não se aprende Não se aprende A copiar algoritmos Ler algoritmos prontos A decorar algoritmos Aprende-se Aprende-se Construindo algoritmos Testando algoritmos 43

44 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Qual é o problema. O que pretendemos do algoritmo Definir quais são os dados que entram Qual a situação inicial O que é necessário para resolver o problema Definir quais são os dados que saem Qual a situação final Que resultados devem ser apresentados Definir o Algoritmo Definir quais as instruções disponíveis/necessárias Organizar as instruções de forma a resolver o problema transformar as entradas na saída Testar o algoritmo Verificar se resolve o problema Verificar se resolve todos os casos Optimizar o algoritmos Verificar se não utiliza recursos supérfluos 44

45 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 45 Formas de Representar um algoritmo: As formas de representar o raciocínio para a solução do problema podem ser diversas, as mais utilizadas são: 1) Pseudocódigo / português estruturado; 2) Fluxograma. Obs.: Na vida quotidiana, os algoritmos são encontrados freqüentemente. Exemplos: tomar banho, tomar café, almoçar, trocar um pneu, fazer um bolo, até mesmo atender um telefone...

46 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 46 Pergunta: Pergunta: Duas pessoas podem resolver corretamente o mesmo problema de forma diferente? O algoritmo é o conceito central da teoria da programação. Programar é basicamente construir vários algoritmos. Construir Sistemas (Software) é a junção de vários programas. Sistema (software) Programas Algoritmos + +

47 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 47 ACÇÃO: é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Ex.: 1) Estado inicial = digitar dois números 2) Estado intermediário = somar os dois números 3) Estado final = mostrar o resultado da soma. Inicial (Entrada) Intermediário (Processamento) Final (Saída)

48 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 48 Exemplo de um algoritmo: Exemplo de um algoritmo: O evento a ser executado: realizar uma determinada compra num supermercado: 1 - faça a lista de compra; 2 -vá ao supermercado; 3 -entre no supermercado; 4 -pegue o carrinho de compra; 5 -pegue os produtos da lista de compra; 6 -passe os produtos junto ao caixa; 7 -volte para casa; Suponhamos que um outro observador fez seu relato no próximo dia e muda algumas rotinas. O que é que os dois eventos têm em comum? CHEGAM AO MESMO RESULTADO COMPRA CHEGAM AO MESMO RESULTADO COMPRA

49 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática FLUXOGRAMA É uma forma gráfica para representar os passos lógicos de um determinado processamento A principal função é a de facilitar a visualização dos passos de um processamento através de símbolos Existem diversos símbolos para representar um fluxograma, a seguir serão vistos os principais.

50 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 50 Indica o início ou final do Fluxograma Utilizado para chamar funções Entrada de dados Processamento de dados Saída de dados Fluxogramas Fluxogramas ( símbolos) Fluxo dos dados

51 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 51 Fluxogramas - continuação Conector na mesma página Conector fora da página Desvios de caminho Obs: Dentro de cada símbolo são descritas informações que indicam a operação a ser realizada. (símbolos)

52 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 52 Fluxogramas - continuação

53 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 53 Considerando o algoritmo que deve calcular a média de um aluno e mostrar uma mensagem dizendo se esse aluno está aprovado (no caso da nota ter sido igual ou superior a Cinco), uma cláusula senão deve ser incluída no algoritmo no caso do aluno ser reprovado (nota inferior a cinco). Exemplo:

54 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 54 É uma maneira de escrever um programa usando uma linguagem mais próxima do utilizador. Tem como finalidade transcrever as ideias do fluxograma em forma de escrita. Pseudo-código Representado por PALAVRAS RESERVADAS, seguidas numa certa sequência lógica.

55 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PSEUDOCÓDIGO (português estruturado) PSEUDOCÓDIGO (português estruturado) - Algoritmo escrito numa forma bem clara - Fácil interpretação para codificação. -Pseudocódigo é independente da linguagem de programação a ser implementada posteriormente. -Pseudocódigo, é uma referência para uma posterior implementação numa linguagem de programação. (Delphi, Pascal, Java, Visual Basic, ASP, etc.)

56 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PSEUDOCÓDIGO FLUXOGRAMA INICIO Leia (Nota1); Leia (Nota2); media := (Nota1+Nota2)/2 Escreva ( media ); FIM. FIM INÍCIO Nota2 Nota1 media = (Nota1+Nota2) / 2 media

57 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática 57 Calcular a área do rectângulo Algoritmo Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area Lado 1 Lado 2

58 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática REGRAS PARA CONSTRUÇÃO DE ALGORITMO verbos -Usar de um no máximo dois verbos por frase; -Imaginar que você está desenvolvendo um algoritmo para pessoas leigas, que não trabalham com informática; frases curtas -Usar frases curtas e simples; -Ser objetivo; sentido duplo -Procurar usar palavras que não tenham sentido duplo;

59 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática FASES PARA EXECUÇÃO DE UM ALGORITMO Entrada Entrada: são as informações iniciais digitadas Processamento Processamento: com o auxílio da memória do computador, são executadas as rotinas, cálculos, combinações, etc. Saída Saída: Resultados dos processos executados anteriormente. Entrada ProcessamentoSaída

60 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PERGUNTAS PADRÃO PARA MONTAR UM ALGORITMO Estudo de Caso: Calcular a média final dos alunos do 1.º ano de Aplicações B. Os alunos realizarão quatro provas, P1, P2, P3 e P4, a qual será armazenada numa variável Média. Após o processamento mostre a média encontrada. 1) Quais os dados de entrada? R: P1, P2, P3 e P4 (uma após a outra) 2) Qual será o processamento a ser realizado? R: somar os dados de entrada e dividí-los por 4 (quatro) 3) Qual será o resultado? R: A saída será a média final

61 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática ALGORITMO INICIAL (sem refinamento) Inicio Receber a NOTA 1; Receber a NOTA 2; Receber a NOTA 3; Receber a NOTA 4; Somar todas as notas de entrada e dividir o resultado por 4 (quatro); Mostrar o resultado final, o qual foi armazenado em Média; fim.

62 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática ALGORITMO (com refinamento) Inicio Leia ( nota1 ); Leia ( nota2 ); Leia ( nota3 ); Leia ( nota4 ); media := ( nota1 + nota2 + nota3 + nota4 ) / 4; Escreva (media); fim.

63 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PROGRAMAÇÃO ESTRUTURADA A arte de construir e formular algoritmos de forma organizada. início (inicio do bloco principal do algoritmo) sequência de instruções... sequência de comandos... sequência de ações... fim. (fim do algoritmo) corpo do algoritmo

64 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática ESTRUTURAS EXISTENTES NA PROGRAMAÇÃO ESTRUTURADA 1) Estrutura Sequencial; 2) Estrutura Condicional / Decisão; - Simples; - Composta; - Múltipla escolha; 3) Estruturas de Repetição;

65 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Estrutura Sequencial: início passo 1; passo 2; passo 3; passo 4; passo 5; fim.

66 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Exemplo para realizar uma compra Estrutura Sequencial: início faça a lista de compra; vá ao supermercado; entre no supermercado; pegue o carrinho de compra; pegue os produtos da lista de compra; passe os produtos junto ao caixa; volte para casa; fim.

67 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Exercício: Realizar a troca de um Pneu Furado: início Estou em viagem com meu carro; Percebe-se a existência de 1 pneu furado;... ; Sigo viagem; fim.

68 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Estrutura Condicional - Simples SE então comandos; Fim então;

69 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO1: Estrutura Condicional - Simples início faça a lista de compra; vá ao supermercado; SE o mercado estiver aberto então entre no supermercado; pegue o carrinho de compra; pegue os produtos da lista de compra; passe os produtos junto ao caixa; Fim então; volte para casa; Fim.

70 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO2: Estrutura Condicional - Simples início faça a lista de compra; vá ao supermercado; SE (o mercado estiver aberto) e (existir carrinho disponível ) então pegue o carrinho de compra; pegue os produtos da lista de compra; passe os produtos junto ao caixa; fim então; volte para casa; Fim.

71 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Estrutura Condicional - Composta SE então comandos; Fim então senão comandos; Fim senão;

72 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO1: Estrutura Condicional - Composta início faça a lista de compra; vá a um supermercado que esteja aberto; SE existir carrinho de compra disponível então pegue o carrinho de compra; fim então senão aguarde a disponibilidade de um carrinho; Fim senão; pegue os produtos da lista de compra; passe os produtos junto ao caixa; volte para casa; Fim.

73 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO2: Estrutura Condicional - Composta início faça a lista de compra; vá ao supermercado; SE (o mercado estiver aberto) e (existir carrinho disponível ) então pegue o carrinho de compra; fim então senão vá para um mercado que tenha disponibilidade; Fim senão; pegue os produtos da lista de compra; passe os produtos junto ao caixa; volte para casa; Fim.

74 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Conceito de Estrutura de Repetição SE então comandos; instruções; fim então; SE então comandos; instruções; fim então; SE então comandos; instruções; fim então;

75 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO: Repetição de estrutura início faça a lista de compra; vá ao supermercado; pegue o carrinho de compra; quantidade de produtos a ser comprado = 8; Se quantidade de produto é MENOR QUE 8 então pegue o próximo produto da lista; Fim então; Se quantidade de produto é MENOR QUE 8 então pegue o próximo produto da lista; Fim então;... Repetir a estrutura (Se) quantas vezes for necessário passe os produtos junto ao caixa; volte para casa; Fim.

76 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Estrutura de Repetição ENQUANTO faça comandos; instruções; ações; Fim Enquanto;

77 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXEMPLO: Estrutura de Repetição início faça a lista de compra; vá ao supermercado que esteja aberto; pegue o carrinho de compra; Informe a qtde de produtos a ser comprado; enquanto produtos INSUFICIENTE faça pegue o próximo produto da lista; Fim enquanto; passe os produtos junto ao caixa; volte para casa; fim.

78 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PENSAR PRIMEIRO, PROGRAMAR DEPOIS COMO PROGRAMADOR VOCÊ PRECISA: a) aprender a EXAMINAR cuidadosamente a definição do algoritmo; b) considerar ALTERNATIVAS para solucionar o problema; c) examinar cada alternativa de forma suficientemente DETALHADA para detectar possíveis pontos de embaraço. d) Amadurecer a alternativa, APERFEIÇOANDO-A antes de tentar implementá-la numa linguagem de programação.

79 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática PROJETO TOP – DOWN Objetivo: definir as funções exigidas para a solução de um problema. Passos: a) Identificar a principal função a ser desempenhada; b) Identificar suas subfunções; c) Definir os níveis: (entrada/processamento/saída). O analista, projeta um algoritmo em níveis. A cada nível do projeto são consideradas somente as questões pertinentes a esse nível. Formuladas todas com precisão; d) Fazer o refinamento sucessivo; e) Fazer testes para validar o algoritmo.

80 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Exemplo de Refinamentos sucessivos: Refinamento 1 - calculo da média de um aluno Início Ler as notas do aluno; Calcular a média final; Escrever a média do aluno; Fim. Refinamento 2 - calculo da média de um aluno Início Ler a primeira nota do aluno; Leia a segunda nota do aluno; Somar as duas notas e dividir por dois; Escrever na tela a média do calculo anterior; Fim.

81 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Exemplo de Refinamentos sucessivos: Refinamento 3 - calculo da média de um aluno Início Ler a 1.ª nota; Leia a 2.ª nota; Media := (nota1 + nota2) / 2; Escreva ( Media ); Fim. Refinamento 4 - calculo da média de um aluno Início Leia (nota1); Leia (nota2); Media := (nota1+nota2) / 2; Escreva ( Media ); Fim.

82 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática TESTE TOP – DOWN O algoritmo e a programação TOP - DOWN facilita os testes, que seguirão os passos do projeto do algoritmo e a codificação do programa. Para que o teste seja efetivado com maior confiança pelo programador, o teste poderá ser feito através de um TESTE DE MESA. Teste de Mesa: deve-se seguir as instruções do algoritmo de maneira precisa, verificando se os procedimentos (o caminho tomado), está correto ou não.

83 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Exemplo: entre com as notas de uma disciplina e calcule a média: Teste de Mesa: Formulação do Algoritmo e verificação do teste aplicado Início Leia (nota1); Leia (nota2); Media := (nota1+nota2) / 2; Escreva ( Media ); Fim.

84 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Variáveis numéricas Unários - (menos) Binários + (adição) - (subtracção) * (multiplicação) / (divisão) ^(potenciação) Variáveis Texto Binário + ( concatenação) Prioridade dos operadores Prioridade 1 ^ Prioridade 2 * / Prioridade Os parêntesis alteram a prioridade

85 85

86 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXERCÍCIO EXEMPLO em pseudocódigo (em sala): 1) Faça um algoritmo para SOMAR dois números e MULTIPLICAR o resultado pelo primeiro número. Após o calculo, mostre o resultado. 2) Encontrar o dobro de um número, caso seja positivo e o seu triplo caso seja negativo. Após o calculo escrever o resultado.

87 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXERCÍCIO EXEMPLO em fluxograma (em sala): 1) Faça um algoritmo para SOMAR dois números e MULTIPLICAR o resultado pelo primeiro número. Após o calculo, mostre o resultado. 2) Encontrar o dobro de um número, caso seja positivo e o seu triplo caso seja negativo. Após o calculo imprimir o resultado.

88 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática EXERCÍCIOS (pseudocódigo/fluxograma) 3) Desenvolva um algoritmo que: -Leia 4 (quatro) números -Calcule o dobro para cada um -Some todos e -Mostre o resultado -Pegue o resultado e multiplique por 3 -Mostre o resultado novamente 3.1 – Escrever um algoritmo em PSEUDOCÓDIGO 3.2 – Escrever outro algoritmo em FLUXOGRAMA

89 Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Escreva um algoritmo para trocar o pneu de um carro Escreva um algoritmo par meter gasolina num posto de abastecimento Self-service. Escreva um algoritmo para telefonar de uma cabine pública. 89


Carregar ppt "Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento."

Apresentações semelhantes


Anúncios Google