Anda di halaman 1dari 26

Algoritmos e Programao

Prof. Honorivaldo Silva

O que Algoritmo?
Algoritmo pode ser definido como uma sequncia de passos finitos que visam a atingir um objetivo comum, Forbellone e Eberspacher, 2005.

Lgica de programao
Desenvolvimento de Algoritmos
Encadear pensamentos para atingir um objetivo.

Sequncia lgica
Passos executados at atingir o objetivo. Raciocnio coerente -> soluo prtica, eficaz.

Instruo
Regra para realizao de algo. Programao: Ao bsica a ser executada pelo computador. Uso de regras para atingir uma meta.

Elaborao de Algoritmos
Por Descrio Narrativa Formular uma sequncia para chegar a um resultado satisfatrio.
Assistir um filme em DVD: 1 Ligar a TV; 2 Ligar o DVD; 3 Abrir o compartimento do disco; 4 Inserir disco; 5 Fechar o compartimento do disco; 6 Pressionar a tecla PLAY para iniciar o filme.

As instrues organizadas logicamente para resolver um problema; A partir do algoritmo desenvolveremos o raciocnio lgico de resoluo de problemas; Outras maneiras, detalhamento da sequncia.

Elaborao de Algoritmos
Atividades do cotidiano so desenvolvidas por algoritmos: trocar o pneu de um carro, preparar um bolo, trocar uma lmpada, enviar e-mail. Trocar uma lmpada:
1 pegar uma escada; 2 posicionar a escada embaixo da lmpada; 3 buscar uma lmpada nova; 4 subir na escada; 5 retirar a lmpada velha; 6 colocar a lmpada nova.

Elaborao de Algoritmos
Forma estruturada e padronizada Percepo do Problema Entendimento detalhado para depois pensar na soluo Transformar idias em sequncias de aes. No pensem como simples soluo, mas como a melhor soluo possvel. Ex. da lmpada

Elaborao de Algoritmos
Caso a lmpada no estiver queimada?
1 pegar uma escada; 2 posicionar embaixo da lmpada; 3 buscar uma lmpada nova; 4 ligar o interruptor; 5 se a lmpada no acenter, ento: 5.1 subir na escada; 5.2 retirar a lmpada velha; 5.3 colocar lmpada nova.

Elaborao de Algoritmos Descrio narrativa:


VANTAGENS:
O portugus bastante conhecido por ns;

DESVANTAGENS:
Impreciso; Extenso (normalmente, escreve-se muito dizer pouca coisa). para

Elaborao de Algoritmos
Somar dois nmeros quaisquer: 1 Insira o primeiro nmero no retngulo A 2 Insira o segundo nmero no retngulo B 3 Some o nmero do retngulo A com nmero do retngulo B e 4 Escreva o resultado no retngulo C
Ret A Ret B Ret C

Elaborao de Algoritmos: Portugol


Linguagem Algortmica: pseudolinguagem de programao Portugol: Portugus Estruturado Vantagens: Independncia fsica da soluo (soluo lgica

apenas); Usa o portugus como base; Pode-se definir quais e como os dados vo estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de programao qualquer.

Portugol: exemplo
Algoritmo SOMA inicio //nome do algoritmo //instruo de inicio do algoritmo

leia (retA); leia (retB); retC (retA + retB); Escreva (retC); fim algoritmo. //instruo de fim algoritmo

Fases do Algoritmo
Entrada: dados de entrada do algoritmo; Processamento: so os procedimentos utilizados para chegar ao resultado final; Sada: dados j processados.

Algoritmo SOMA Inicio leia (retA); //ENTRADA leia (retB); //ENTRADA retC retA + retB; //PROCESSAMENTO escreva (retC); //SADA fim algoritmo.

Portugol: comandos
Varivel:
Identificadores para armazenar valores = retA, retB, retC

Entrada:
leia : informar os dados de entrada = leia (retA)

Atribuio
: para atribuirmos um valor uma variavel

Sada
escreva : permite apresentar mensagens e dados contidos em identificadores/variveis.

Portugol: variveis
Declarao de Variveis
So declaradas no incio e deve iniciar pela reservada declare
Algoritmo Soma declare retA: inteiro retB: inteiro retC: inteiro Inicio ... fimAlgoritmo

Portugol: Variveis
Regras para nomes de Variveis: Os nomes devem comear com caracteres alfabtico ou _; Podem ser constitudos por caracteres alfabticos e numricos; No podem ter caracteres especiais: +*/=<>(){}.,;:$

Portugol: Variveis
Vlidas: cliente, delta, x, a, BC4R, media, nota_aluno, A123B Invlidas: 5X, E(13), x-y, nota/2, 123teste, nome do cliente, valor_em_R$

Portugol: tipos de dados e variveis


Numricos Inteiros: Conjunto do nmeros inteiros Exemplo 38, 0, 541, -41 Portugol: inteiro Numricos Reais: Conj. Reais 38, 0, 541, -56, 5.7, 5.4 Portugol: real Caracteres e Alfanumricos: sequncia delimitada por aspas ( ) de A at Z, de 0 at 9 e smbolos @, &, * e espao em branco. Portugol: literal

Portugol: comandos Entrada e Sada


Entrada:
Leia : informar os dados de entrada para o algoritmo= leia (retA); leia (valor);

Sada
Escreva : permite apresentar mensagens e dados contidos em identificadores/variveis. escreva (retC); escreva(soma);

Portugol: Operadores
Aritmticos
Adio: + Subtrao: Multiplicao: * Diviso: / Potenciao: **

Ordem de prioridade das operao Aritmticas


( ) parnteses p/ alterar a ordem de prioridade das operaes. *, / +, -

Portugol: Operadores
Aritmticos
Adio: + Subtrao: Multiplicao: * Diviso: / Potenciao: **

Ordem de prioridade das operao Aritmticas


1 ( ) (parnteses) alterar a ordem de prioridade das operaes. 2 3

* (multiplicao), / (diviso) + (soma), - (subtrao)

Portugol: Atribuio
Atribuio
: para atribuirmos um valor uma varivel/identificador

Ex: valor

(num1+num2)

A varivel VALOR receber o resultado do clculo da expresso da direita.


Expresses: constitudas por variveis e operadores que definem o mtodo para calcular um valor. Resultado (3 + (x*y)) (D + (num / alfa) a>b DIA 30

Algoritmo: Sintaxe Geral


Algoritmo Nome do Programa Declare //variveis <variavel01>: <tipo1> <variavel02>: <tipo2> //Corpo do algoritmo Inicio <comando01>; <comando02>; fimAlgoritmo

Mtodos de criao
Faa uma leitura de todo o problema at o final, a fim de formar a primeira impresso. A seguir, releia o problema e faa anotaes sobre os pontos principais.
Extraia do problema todas as suas sadas. Extraia do problema todas as suas entradas. Identifique qual o processamento principal.

Verifique se ser necessrio algum valor intermedirio que auxilie na transformao das entradas em sadas.
Esta etapa pode parecer obscura no incio, mas com certeza no desenrolar do algoritmo, estes valores aparecero naturalmente.

Teste cada passo do algoritmo, com todos os seus caminhos para verificar se o processamento est gerando os resultados esperados. Crie valores de teste para submeter ao algoritmo. Reveja o algoritmo, checando as normas de criao EXERCCIO: Fazer um algoritmo que calcule o dobro de um nmero positivo e apresente o resultado. (montar a expresso)

Portugol: exemplo 2
Algoritmo CALCULA_DOBRO //nome do algoritmo declare num: real dobro: real inicio //instruo de inicio do algoritmo leia (num); dobro (2 * num); escreva (dobro); fimAlgoritmo. //instruo de fim algoritmo

Portugol:
Exerccio Entrar com 2 variveis, A = 100 e B = 200 fazer as seguintes expresses de soma:
1 C=(B+A)+2 2 B=(C(A+3)) 3 A=(B+C)

e escreva o resultado de A, B e C.

Exerccios
1) Faa um algoritmo que calcule a mdia de 3 nmeros positivos e apresente o resultado. 2) Faa um algoritmo que calcule a porcentagem de 30% de um salrio. 3)Faa um algoritmo para ler a base e a altura de um tringulo. Em seguida, escreva a rea do mesmo. Obs.: rea = ( Base * Altura ) / 2 4) Faa um algoritmo que leia dois nmeros positivos e os apresente ordenados

Anda mungkin juga menyukai