Introdução à Programação

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Algoritmo e Programação
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Software Básico Silvio Fernandes
Introdução a Algoritmos
Nilo Menezes – Lógica de Programação –
Introdução à Programação
Data: 10 a 12 de fevereiro de 2009 e
Construção de Aplicativos Computacionais METEOROLOGIA
Introdução à Ciência da Computação Linguagens de Programação.
Amintas engenharia.
Estruturas de Repetição
Desenvolvendo Algoritmos
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Paradigmas de Linguagens Conceitos Básicos
Introdução a Programação Renata Freire
Introdução à Programação
Algoritmos e Programação Estruturada Conceitos básicos
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Lógica de Programação Módulo II
INTRODUÇÃO À PROGRAMAÇÃO
Estruturas de Controle
Softwares.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Programação e Sistemas de Informação
Programação Baseada em Objectos Desenho de TAD
Estrutura de decisão e repetição em JAVA
Classes e objetos P. O. O. Prof. Grace.
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos Prof. Kelly E. Medeiros.
Formas de Representação de Algoritmos
Processamento da Informação BC-05045
Paradigmas de programação
Lógica de Programação UNIDADE 1 – Introdução a) Computador
Introdução à Programação
PROGRAMAÇÃO I UNIDADE 1.
Comunicação Inclusiva Acessibilidade e Programação Web
CEPMAT Curso Técnico em Informática
INTRODUÇÃO – LOGICA E ALGORITMOS
Estrutura de dados, pseudocódigo
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Algoritmos e Programação I
Introdução a Programação
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Aula 6 - Estruturas de Controle
Linguagem e Ambiente Scratch
Programação e Sistemas de Informação
Máquina de Turing Universal
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Introdução a Algoritmos
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Programação de PIC em C Exposição das funções básicas para
Fundamentos de linguagens de programação
Programação de Computadores - 1
Linguagens de Programação
Algoritmos e Programação I
ALGORITMOS.
Introdução à lógica de programação
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Disciplina: Lógica de Programação
Introdução a Programação Aula 02 Jackson Eduardo
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Introdução à Programação ano lectivo de 2009 / 2010

Sumario 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

O que é um computador? 1 2 que ou aquele que faz cômputos; calculador; 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.

Computador As cinco gerações

1ª Geração - válvulas válvula Mark 1 – (1944) O primeiro Bug ENIAC – (1945)

2ª geração - Transistor Vantagens em relação às válvulas Menor energia consumida Menor aquecimento Maior velocidade de processamento UNIVAC (1956)

3ª geração - Circuitos integrados Componentes miniaturizados Transistores Resistores Diodos Chips Conjunto de componentes Circuitos integrados Conjunto de chips Sistema Operativo - MS-DOS Graficos EGA – 16 cores PC-XT (1981)

4ª geração - VLSI Integração de circuitos em larga escala Slots ISA de 16 bits Slots PCI Placas VGA e SVGA PC-AT (1985)

5ª geração - ULSI Integração em muito larga escala Processamento paralelo Slots AGP USB SATA

Computadores na actualidade

Funcionamento do computador digital

Modelo de Von Neuman

Arquitectura básica do Computador dados Programas

Software / Hardware Programas

Software Aplicativos Sistema operativo Realizam tarefas específicas Processamento de texto Microsoft Word Desenho Corel Draw Autocad Jogos Etc. Sistema operativo Serve de interface entre a máquina e os programa de aplicação

Tipos de sistemas informáticos Quanto ao tamanho e capacidade Grande porte Supercomputadores Mainframes Médio porte Workstations MiniComputadores Pequeno porte Microcomputadores Ultra-Microcomputadores

Tipos de sistemas informáticos Quanto ao número de utilizadores e de tarefas Mono utilizador Monotarefa Ex. PC com MS-DOS Multitarefa Ex. PC com Windows Multi utilizador Multi-posto Servidor UNIX Terminais Redes de computadores Internet

Linguagens de Programação A linguagem que as máquinas entendem

Linguagens e alfabetos Hello World Olá Mundo Bonjour Monde Halo welt

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. 0100 1010100 0100 1010110 0110 1001100 0101 1010101 1100 1001100

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

2ª geração – Assembler printf: pea text move.w #9,-(sp) trap #1 addq.l #6,sp bra printf text: dc.b "Hello, World !",0 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 Assembly 680x0 on an Atari computer Assembly on an Commodore 64

2ª geração – Assembler Desvantagens Vantagens 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 Código optimizado Velocidade de processamento elevado Controlo total do hardware

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 10 print"Hello World!" 20 goto 10 Basic

3ª geração – Linguagens de alto nível #include <stdio.h> main() { for(;;) printf ("Hello World!\n"); } program Hello_World; Begin repeat writeln('Hello World!') until 1=2; End. C Pascal PROGRAM HELLO DO 10, I=1,10 PRINT *,'Hello World' 10 CONTINUE STOP END 100200 MAIN-LOGIC SECTION. 100300 BEGIN. 100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS. 100500 DISPLAY "HELLO, WORLD." LINE 15 POSITION 10. 100600 STOP RUN. 100700 MAIN-LOGIC-EXIT. 100800 EXIT. Fortran Cobol

4ª Geração de Linguagens de aplicação 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 SET ECHO OFF CLEAR DO WHILE 1=1 @1,1 SAY "Hello, World!" ENDDO DBASE CREATE TABLE HELLO (HELLO CHAR(12)) UPDATE HELLO SET HELLO = 'HELLO WORLD!' SELECT * FROM HELLO SQL

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 hello :- printstring("HELLO WORLD!!!!"). printstring([]). printstring([H|T]) :- put(H), printstring(T). Prolog

Programação imperativa versus declarativa “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

Exemplo em linguagem imperativa Cálculo do Perímetro do círculo # include <stdio.h> 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); } C:\Calculo.exe Raio do circulo: 2 Perimetro do circulo: 6.28 Programação imperativa Linguagem C

Exemplos imperativa versus declarativa Relações familiares 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)

Resolução de problemas Introdução à programação imperativa

Algoritmo Origem da palavra Definição al-Khwarizmi - Matemático árabe Algarismo 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.

Exemplo de um Algoritmo 250g de farinha 150g de margarina 5 ovos 2 colheres de fermento 200 gramas de acucar 1.       Misturar os ingredintes 2.       cozinhar o bolo. Receita

Abordagem Top Down Receita: Pode um computador fazer um bolo ? 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 ?

Algoritmos Algoritmo não computational Exemplos Receita Manual de instruções Depende da perícia do utilizador! 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 Um algoritmo computacional é uma sequencia de passo tão bem definida que até um computador o é capaz de a executar

Componentes de um algoritmo Problema Conjunto das possíveis entradas Conjunto das saídas Conjunto de operações válidas Solução Algorítmica Conjunto ordenado de operações válidas que transformam o conjunto de entradas na saída desejada

Como se constroem algoritmos? Problema Trocar uma lâmpada fundida Algoritmo 1 Retirar a lâmpada fundida Colocar a lâmpada boa 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

Trocar uma lâmpada fundida Entrada Lâmpada fundida Lâmpada nova Escada Saída Lâmpada nova a funcionar Operações válidas Retirar a lâmpada Colocar a lâmpada Subir a escada Descer a escada Algoritmo 2 Subir a escada Retirar a lâmpada fundida Colocar a lâmpada boa Descer a escada

Exemplo Trocar uma lâmpada fundida Algoritmo 2 Entrada Saída Lâmpada nova Escada Caixote de reciclagem Saída Lâmpada nova a funcionar Lâmpada fundida na reciclagem Operações válidas Retirar a lâmpada Colocar a lâmpada Subir a escada Descer a escada Deitar a lâmpada na reciclagem 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

Exemplo Trocar uma lâmpada fundida É um bom algoritmo ? Entrada Lâmpada nova Escada Caixote de reciclagem Saída Lâmpada nova a funcionar 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 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 ?

Características dos bons algoritmos Interagir com o utilizador Realiza uma tarefa útil ao utilizador Resolve o problema Ser finito Termina sempre e com o resultado previsto Ser correctamente definido Instruções claras que o utilizador consegue compreender e seguir Ser eficaz Resolve sempre o problema mesmo nas situações mais problemáticas Ser eficiente Utiliza o mínimo de recursos possível

Algoritmo ou algoritmos ? Inicio Subir a escada Fim Inicio Suba um degrau . . . . Fim

Conclusão O algoritmo não é a solução de um problema Não se aprende É uma forma de chegar á solução Não se aprende A copiar algoritmos Ler algoritmos prontos A decorar algoritmos Aprende-se Construindo algoritmos Testando algoritmos

Conclusão - Construir Algoritmos 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

1) Pseudocódigo / português estruturado; 2) Fluxograma. 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...

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 +

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)

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”

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.

Fluxogramas (símbolos) Indica o início ou final do Fluxograma Utilizado para chamar funções Entrada de dados Processamento de dados Saída de dados Fluxo dos dados

Fluxogramas - continuação (símbolos) 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.

Fluxogramas - continuação

Exemplo: 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).

Pseudo-código É 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. Representado por PALAVRAS RESERVADAS, seguidas numa certa sequência lógica.

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

INICIO Leia (Nota1); Leia (Nota2); media := (Nota1+Nota2)/2 PSEUDOCÓDIGO  FLUXOGRAMA INÍCIO Nota1 INICIO Leia (Nota1); Leia (Nota2); media := (Nota1+Nota2)/2 Escreva ( media ); FIM . Nota2 media = (Nota1+Nota2) / 2 media FIM

Exemplo de um programa Calcular a área do rectângulo Algoritmo Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area Lado 1 Lado 2

REGRAS PARA CONSTRUÇÃO DE ALGORITMO 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; Usar frases curtas e simples; Ser objetivo; Procurar usar palavras que não tenham sentido duplo;

FASES PARA EXECUÇÃO DE UM ALGORITMO Entrada: são as informações iniciais digitadas Processamento: com o auxílio da memória do computador, são executadas as rotinas, cálculos, combinações, etc. Saída: Resultados dos processos executados anteriormente. Entrada Processamento Saída

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

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.

ALGORITMO (com refinamento) Inicio Leia ( nota1 ); Leia ( nota2 ); Leia ( nota3 ); Leia ( nota4 ); media := ( nota1 + nota2 + nota3 + nota4 ) / 4; Escreva (media); fim.

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

ESTRUTURAS EXISTENTES NA PROGRAMAÇÃO ESTRUTURADA 1) Estrutura Sequencial; 2) Estrutura Condicional / Decisão; - Simples; - Composta; - Múltipla escolha; 3) Estruturas de Repetição;

Estrutura Sequencial: início passo 1; passo 2; passo 3; passo 4; passo 5; fim.

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.

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.

SE <condição for verdadeira> então comandos; Fim então; Estrutura Condicional - Simples SE <condição for verdadeira> então comandos; Fim então;

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.

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.

SE <condição for verdadeira> então comandos; Fim então senão Estrutura Condicional - Composta SE <condição for verdadeira> então comandos; Fim então senão Fim senão;

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.

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.

Conceito de Estrutura de Repetição SE <condição for verdadeira> então comandos; instruções; fim então;

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; ... Repetir a estrutura (Se) quantas vezes for necessário passe os produtos junto ao caixa; volte para casa; Fim.

ENQUANTO <condição verdadeira> faça comandos; instruções; ações; Estrutura de Repetição ENQUANTO <condição verdadeira> faça comandos; instruções; ações; Fim Enquanto;

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 .

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.

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.

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

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 Leia (nota1); Leia (nota2); Media := (nota1+nota2) / 2;

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.

Formulação do Algoritmo e verificação do teste aplicado 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.

Operadores Aritméticos 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 3 + - Os parêntesis alteram a prioridade

Exercícios

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.

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.

3) Desenvolva um algoritmo que: Leia 4 (quatro) números 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

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