Professional Documents
Culture Documents
Definies
3 Coloque Shampoo
4 Faa Massagem 5 Enxge 6 Repita o Processo
7 Fim
4 Fim
Fase de Resoluo
Problema
Programa Fonte
Compilao
Cdigo Objeto
Execuo
Resultados
Definio Perfeita
Deve descrever exatamente quais so as instrues que devem ser executadas e em que sequncia. Deve ser tornado explcito o maior nmero possvel de informaes, pois a falta de alguma informao pode levar a uma interpretao errada do algoritmo;
Ausncia de Ambiguidade
No deve deixar dvidas sobre o que deve ser feito. A ambiguidade acerca do que deve ser feito tambm pode levar a uma interpretao errada do algoritmo;
Eficcia Conseguir resolver o problema em qualquer situao. Todas as situaes de exceo que possam alterar o comportamento do algoritmo devem ser especificadas e tratadas; Eficincia
Resolver o problema com o mnimo de recursos. Sempre se deve buscar aquele algoritmo que, dentre os diversos algoritmos que resolvam um mesmo problema, utilize a menor quantidade de recursos.
Caractersticas do Algoritmo
Algoritmo um conjunto finito de regras, bem definidas, para a soluo de um problema em um tempo finito e com um nmero finito de passos. uma sequncia de aes finitas que descrevem como um problema deve ser resolvido. um conjunto de regras formais para a obteno de um resultado ou da soluo de um problema. Sequncia ordenada de passos a ser seguida para a realizao de uma determinada tarefa.
Especifique o problema claramente e entenda-o completamente; Explicite todos os detalhes suprfluos; Entre no problema (envolva-se totalmente com o problema); Use todas as informaes disponveis; Decomponha o problema (Top-Down); Use o sentido inverso, se necessrio (Bottom-Up).
Anlise Preliminar
Soluo
Teste de Qualidade
Alterao
Produto Final
Anlise Preliminar
Entenda o problema com a maior preciso possvel, identifique os dados; identifique os resultados desejados.
Soluo
Teste de Qualidade
Execute o algoritmo desenvolvido com dados para os quais o resultado seja conhecido. O ideal que o universo dos dados tenha todas as combinaes possveis. Note que a qualidade de um algoritmo pode ser limitada por fatores como tempo para a sua confeco e recursos disponveis.
Alterao
Se o resultado do teste de qualidade no for satisfatrio, altere o algoritmo e submeta-o a um novo teste de qualidade.
Produto Final
Portugol Pseudo-Cdigo
A Linguagem Estruturada a forma que tem sido mais
Operadores Aritmticos
Operao Soma Subtrao Multiplicao Diviso Real Diviso de Inteiros Resto da Diviso Inteira Potenciao Operador + * / \ % ^ Exemplo 1+1=2 1-1=0 2*2=4 7/2=3.5 7\2=3 7%2=1 22 = 2^2.
Operadores Relacionais
Operador Menor Menor ou Igual Maior Maior ou Igual Diferente Igual Smbolo < <= > >= <> = Os operadores relacionais retornam valores lgicos (Verdadeiro ou Falso)
Operadores Lgicos
Operador Smbolo Significado Resulta VERDADEIRO se ambas as partes forem verdadeiras. Resulta VERDADEIRO se uma das partes verdadeira. Multiplicao lgica E Adio lgica OU
Negao
NO
Nega uma afirmao, invertendo o seu valor lgico: se for VERDADEIRO torna-se FALSO, se for FALSO torna-se VERDADEIRO.
Tabela Verdade
A V V F F B V F V F AEB V F F F A OU B V V V F NO A F F V V NO B F V F V
Prioridades de Operadores
Operador Aritmtico Exponenciao Multiplicao Diviso Adio Subtrao Operador Lgico E OU Prioridade 3 2 2 1 1 Prioridade 3 2
NO
Operador Aritmticos Relacionais Lgicos
1
Prioridade 3 2 1
Variveis
Contedo
Varivel
Tipo Nome
nomes de variveis no podem ser iguais a palavras reservadas; nomes de variveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado); nomes de variveis devem ter no mximo 127 caracteres; Nomes de variveis no podem conter espaos em branco; na sintaxe do Portugus Estruturado, no h diferena entre letras maisculas de minsculas (NOME o mesmo que noMe).
3. 4. 5.
Tipos de Dados
Os computadores trabalham com dados Os dados precisam ser de um determinado tipo Existem duas categorias de tipos de dados Tipos primitivos Tipos bsicos utilizados na construo de algoritmos
Tipos customizados
Tipos que no existem nativamente, mas que so criados pelo programador por alguma necessidade Podem agrupar um ou mais tipos primitivos
Comando se
se <condicao> entao <bloco de comandos 1> senao <bloco de comandos 2> fim se
Comandos se aninhados
As duas formas do comando se podem aparecer dentro de outros comando se. se estiver fazendo sol entao se eu tiver dinheiro entao vou a Portugal fimse fimse
Na estrutura de deciso do tipo Caso pode haver uma ou mais condies a serem testadas e um comando diferente associado a cada uma destas.
A sintaxe da construo de Caso :
escolha <expressao> caso <exp_1>,<exp_2>,...,<exp_n> <bloco_de_comandos_1> caso <exp_1>,<exp_2>,...,<exp_n> <bloco_de_comandos_2> ... caso <exp_1>,<exp_2>,...,<exp_n> <bloco_de_comandos_n> outrocaso <bloco_de_comandos_s> fimescolha
Estruturas de Repetio
So muito comuns as situaes em que se deseja repetir um determinado trecho de um programa um certo nmero de vezes. As estruturas de repetio so muitas vezes chamadas de Laos ou tambm de Loops. Classificao:
Laos Contados
Laos Condicionais
No se conhece de antemo o nmero de vezes que o conjunto de comandos no interior do lao ser repetido. Amarrado a uma condio sujeita modificao pelas instrues do interior do lao.
Laos condicionais
O conjunto de comandos em seu interior executado at que uma determinada condio seja satisfeita. Laos condicionais mais comuns nas linguagens de programao modernas:
Enquanto - lao condicional com teste no incio Repita - lao condicional com teste no final
A varivel que testada dever sempre estar associada a um comando que a atualize no interior do lao.
Caso isso no ocorra, o programa ficar repetindo indefinidamente este lao, gerando um lao infinito.
Caracteriza-se por uma estrutura que efetua um teste lgico no incio de um lao, verificando se permitido ou no executar o conjunto de comandos no interior do lao.
enquanto <condio> faca <comando_composto> fimenquanto
Efetua um teste lgico no final de um lao, verificando se permitido ou no executar novamente o conjunto de comandos no interior do mesmo.
Na construo Repita o comando executado uma ou mais vezes (pelo menos uma vez). Alm disso, a varivel pode ser inicializada ou lida dentro do lao.
repita
<comando_composto>
ate <condio>
O Diagrama de Blocos