Вы находитесь на странице: 1из 36

Prof. MSc. Flvio Barros flathbarros@gmail.

com

Parnaba-PI

Contedo
Unidade I - Noes bsicas de Programas e Algoritmo
Consideraes Iniciais Conceitos Algoritmos e Lgica de Programao Linguagem de programao

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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 bsicas de Programas e Algoritmo

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;

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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 bsicas de Programas e Algoritmo

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.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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 ___?

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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;

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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:

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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;

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

15

Algoritmos
Como montar...
Entrada: dados de entrada do algoritmo; Processamento: procedimentos chegar ao resultado final; Sada: dados j processados. utilizados para

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

17

Algoritmos

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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]

O conceito central da programao e da cincia da computao o conceito de algoritmo.


[WIRTH - Professor da Universidade de Zurique, autor de diversos livros na rea e responsvel pela criao de linguagens de programao como ALGOL, PASCAL, etc]

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

20

Algoritmos
Formas de representao
Algoritmos podem ser representados, dentre outras maneiras, por: Descrio narrativa; Fluxograma; Linguagem algortmica.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

MSc. Flvio Barros

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

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

25

Algoritmos
exemplo >> Fluxograma

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

33

Linguagens de Programao

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

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

Noes bsicas de Programas e Algoritmo

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.

MSc. Flvio Barros

Noes bsicas de Programas e Algoritmo

36