Beruflich Dokumente
Kultur Dokumente
com
Parnaba-PI
Contedo
Unidade I - Noes bsicas de Programas e Algoritmo
Consideraes Iniciais Conceitos Algoritmos e Lgica de Programao Linguagem de programao
Consideraes Iniciais
Contextualizao
Muitos anos se passaram desde os primrdios da histria da computao; J vivemos vrios paradigmas de programao; Uma base de conhecimento que no mudou e no mudar nunca, a Lgica de Programao; Lgica de Programao e Raciocnio Matemtico interpretao de um problema e a utilizao correta de uma frmula; Ser que existem frmulas em Informtica?
MSc. Flvio Barros
Consideraes Iniciais
Contextualizao (cont.)
Aperfeioamento de nossa forma de pensar e raciocinar sobre um problema; Extrair do mesmo uma soluo eficiente e eficaz; preciso aprender a pensar sobre os problemas, extraindo deles o mximo de informaes.
Consideraes Iniciais
Contextualizao (cont.)
A soluo que criamos para um determinado problema necessita ser expressa numa linguagem publicamente conhecida; Assim, utilizamos a lgica de programao para desenvolver nossas solues e os algoritmos para apresentar essas solues ao mundo; Precisamos mais do que frmulas, precisamos aprender a pensar.
MSc. Flvio Barros
Raciocnio Matemtico
As crianas aprendem facilmente como adicionar e subtrair valores; Suas dificuldades comeam no momento em que elas se deparam com problemas e necessitam identificar quais operaes traro solues para os mesmos; Podemos pensar tambm num algoritmo como um mecanismo de transformao de entradas em sadas; Assim, um algoritmo ao ser executado, receber algumas entradas, que sero processadas e nos devolver algumas sadas.
MSc. Flvio Barros
Noes de Lgica
O que Lgica?
Lgica trata da correo do pensamento; Cincia que estuda as leis do raciocnio; Correo/validao do pensamento; Encadeamento/ordem de idias; Arte de bem pensar, ela procura saber por que pensamos assim e no de outro jeito;
Noes de Lgica
O que Lgica?
Com arte ou tcnica, ela nos ensina a usar corretamente as leis do pensamento; a arte de pensar corretamente e, visto que a forma mais complexa do pensamento o raciocnio; A lgica estuda ou tem em vista a correo do raciocnio; Importante! Lgica ensina a colocar Ordem no Pensamento.
MSc. Flvio Barros
Noes de Lgica
Sequncia Lgica?
So passos executados at atingir um objetivo ou soluo de um problema: Chupar uma bala Pegar a bala; Retirar o papel; Chupar a bala; Jogar o papel no lixo.
Noes de Lgica
Exemplos
Todo o mamfero animal. Toda vaca mamfero. Portanto, toda vaca ____?
Todo mamfero bebe leite. O homem bebe leite. Portanto, todo homem ___ e ___?
10
Algoritmos
Definio
Pode ser definido como uma sequncia finita de passos, descritos em uma ordem lgica, que visam a atingir um objetivo bem definido; Conforme precisemos especificar uma sequncia de passos, necessrio utilizar ordem, ou seja, pensar com ordem, utilizar lgica;
11
Algoritmos
Definio (cont.)
Quando elaboramos um algoritmo, devemos especificar aes claras e precisas, que, a partir de um estado inicial, aps um perodo de tempo finito, produzem um estado final previsvel e bem definido. Assim, surgem algumas caractersticas, tais como:
12
Algoritmos
Caractersticas
Finitude: um algoritmo tem de terminar ao fim de um nmero finito de passos; Definitude: cada passo do algoritmo tem de ser definido com preciso; Entrada: um algoritmo pode ter zero ou mais entradas. Sadas: um algoritmo tem uma ou mais sadas;
13
Algoritmos
Caractersticas
Eficcia: todas as operaes feitas por um algoritmo tm de ser bsicas; No dar margem dupla interpretao (no ambguo). Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcanveis em um tempo finito).
14
Algoritmos
Regras para se criar...
Usar somente um verbo por frase; Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica; Usar frases curtas e simples; Ser objetivo; Procurar usar palavras que no tenham sentido dbio.
15
Algoritmos
Como montar...
Entrada: dados de entrada do algoritmo; Processamento: procedimentos chegar ao resultado final; Sada: dados j processados. utilizados para
16
Algoritmos
Exemplo
Os alunos faro 2 provas: P1 e P2. Calcular a mdia dos alunos do 1 ano? Quais os dados de entrada? Qual o processamento? Qual o dado de sada? Utilizando o teste de mesa
P1 P2 Mdia
17
Algoritmos
18
Algoritmos
Por que precisamos de algoritmos?
A noo de algoritmo bsica para toda a programao de computadores.
[KNUTH - Professor da Universidade de Stanford, autor da coleo The art of computer programming]
19
Algoritmos
Por que precisamos de algoritmos?
A importncia do algoritmo est no fato de termos que especificar uma sequncia de passos lgicos para que o computador possa executar uma tarefa qualquer, pois o mesmo por si s no tem vontade prpria, faz apenas o que mandamos; Com uma ferramenta algortmica, podemos conceber uma soluo para um dado problema, independendo de uma linguagem especfica e at mesmo do prprio computador.
MSc. Flvio Barros
20
Algoritmos
Formas de representao
Algoritmos podem ser representados, dentre outras maneiras, por: Descrio narrativa; Fluxograma; Linguagem algortmica.
21
Algoritmos
Formas de representao >> Descrio narrativa
Faz-se uso do portugus para descrever algoritmos. Exemplo: Receita de Bolo
Providencie manteiga, ovos, 2 Kg de massa, etc. Misture os ingredientes Despeje a mistura na frma de bolo Leve a frma ao forno Espere 20 minutos Retire a frma do forno Deixe esfriar Prove
Noes bsicas de Programas e Algoritmo
22
Algoritmos
Formas de representao >> Descrio narrativa
Vantagens O portugus bastante conhecido por ns. Desvantagens Impreciso; Pouca confiabilidade (a impreciso acarreta a desconfiana); Extenso (normalmente, escreve-se muito para dizer pouca coisa).
23
Algoritmos
Formas de representao >> Fluxograma
Utilizao de smbolos grficos para representar algoritmos; No fluxograma existem smbolos padronizados para incio, entrada de dados, clculos, sada de dados, fim, etc.
Clculo
Deciso
Entrada
Sada
Incio/Fim
24
Algoritmos
Formas de representao >> Fluxograma
Explicao Incio do algoritmo Entrada do nmero Clculo do dobro do nmero Apresentao do resultado Fim do algoritmo
MSc. Flvio Barros
25
Algoritmos
exemplo >> Fluxograma
26
Algoritmos
Formas de representao >> Fluxograma
Vantagens Uma das ferramentas mais conhecidas; Figuras dizem muito mais que palavras; Padro mundial. Desvantagens Pouca ateno aos dados, no oferecendo recursos para descrev-los ou represent-los; Complica-se medida que o algoritmo cresce.
MSc. Flvio Barros
27
Algoritmos
Formas de representao >> Linguagem algortmica
Consiste na definio de uma pseudolinguagem de programao, cujos comandos so em portugus, para representar algoritmos. Exemplo: Algoritmo CALCULA_DOBRO NUM, DOBRO: inteiro incio Leia NUM; DOBRO 2 * NUM; Escreva DOBRO; fim
MSc. Flvio Barros
28
Algoritmos
Formas de representao >> Linguagem algortmica
Consiste na definio de uma pseudolinguagem de programao, cujos comandos so em portugus, para representar algoritmos. Exemplo: Algoritmo CALCULA_DOBRO < nome_do_algoritmo > NUM, DOBRO: inteiro incio Leia NUM; DOBRO 2 * NUM; Escreva DOBRO; fim
MSc. Flvio Barros
29
Algoritmos
Formas de representao >> Linguagem algortmica
Consiste na definio de uma pseudolinguagem de programao, cujos comandos so em portugus, para representar algoritmos. Exemplo: Algoritmo CALCULA_DOBRO < nome_do_algoritmo > NUM, DOBRO: inteiro < declarao_de_variveis > incio Leia NUM; DOBRO 2 * NUM; Escreva DOBRO; fim
MSc. Flvio Barros
30
Algoritmos
Formas de representao >> Linguagem algortmica
Consiste na definio de uma pseudolinguagem de programao, cujos comandos so em portugus, para representar algoritmos. Exemplo: Algoritmo CALCULA_DOBRO < nome_do_algoritmo > NUM, DOBRO: inteiro < declarao_de_variveis > Incio Leia NUM; < corpo_do_algoritmo > DOBRO 2 * NUM; Escreva DOBRO; Fim
MSc. Flvio Barros
31
Algoritmos
Formas de representao >> Linguagem algortmica
Vantagens 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. Desvantagens Exige a definio de uma linguagem no real para trabalho; No padronizado.
MSc. Flvio Barros
32
O ato de programar
Programar no um ato mecnico, consegue-se atravs do estudo e principalmente do treino!!!! O Conhecimento da linguagem necessrio, mas no de todo suficiente; Programao o simples ato de escrever idias: ter essas idias, ser criativo e engenhoso.
33
Linguagens de Programao
34
Atividade
Questo 01: Temos uma turma de alunos da 5 srie. Tais alunos, no decorrer do semestre, realizaram quatro provas, classificadas por p1, P2, P3 e P4. Escreva algoritmo para encontre a mdia final dos alunos? Questo 02: Faa um algoritmo que realize o clculo do salrio lquido de uma professora. Ser necessrio algumas informaes como: Valor da hora-aula; Quantidade de horas trabalhadas em um ms; e Percentual de desconto. OBS: utilize o Fluxograma e a Pseudolinguagem para representar a soluo.
MSc. Flvio Barros
35
Referncias
WERHMULLER, Claudia Miyuki. Lgica de Programao 1. CEFET-SP. OLIVEIRA, Elaine H. T. Introduo Lgica de Programao. DCC/UFAM, 2006. Campos, Paulemir G. Algoritmo. UFRPE - Dept de Estatstica e Informtica. 2011. FORBELLONE, Andr Luiz Villar. Lgica de Programao: a construo de algoritmos e estruturas de dados. 3 ed. So Paulo: Makron Books, 2005. SALVETTI, Dirceu D.; BARBOSA, Lisbete M. Algoritmos. So Paulo:Makron Books, 2000.
36