1 / 94

Conceitos Fundamentais de Algoritmos e Programação para iniciantes

Conceitos Fundamentais de Algoritmos e Programação para iniciantes. joa@deinfo.ufrpe.br REFERÊNCIA: Material dos Profs. Reinaldo Gomes (UFRPE) e Robson Fidalgo (UFPE) www.xiscanoe.org. Algoritmo Textual Informal. Modo de preparo: Bata a margarina, as gemas e o açúcar até ficar cremoso

belita
Télécharger la présentation

Conceitos Fundamentais de Algoritmos e Programação para iniciantes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conceitos Fundamentais de Algoritmose Programação para iniciantes joa@deinfo.ufrpe.br REFERÊNCIA: Material dos Profs. Reinaldo Gomes (UFRPE) e Robson Fidalgo (UFPE) www.xiscanoe.org

  2. Algoritmo Textual Informal • Modo de preparo: • Bata a margarina, as gemas e o açúcar até ficar cremoso • Junte o leite, o coco e a farinha e continue batendo • Acrescente o fermento e, por último, as claras em neve • Unte uma forma com manteiga e leve ao forno para assar Quão cremoso?!? Quanto tempo?!? De uma vez só?!? Quanto tempo?!?

  3. Algoritmo Textual Informal Refinado • Modo de preparo: • Bata a margarina, as gemas e o açúcar por 15 minutos • Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos • Acrescente 20 g de fermento e, por último, as claras em neve • Unte uma forma com manteiga e leve ao forno para assar por 30 minutos

  4. Algoritmo Gráfico-Textual Informal • Montagem de um Aeromodelo • Material • Cola especial para plásticos • Estilete • Lixas finas • Durex ou fita crepe • Pregador de roupas, elásticos

  5. Algoritmo Gráfico-Textual Informal • Identificação das peças

  6. Algoritmo Gráfico-Textual Informal • Instruções • Leia e entenda as instruções antes de começar a montagem • Lave as peças com água e detergente. Na lavagem serão removidos desmoldantes e sujeiras, que dificultam a colagem e a pintura. Faça isto dentro de uma bacia, para evitar perder peças pequenas, que porventura se soltem • Encontre as peças que devem ser usadas na primeira parte da montagem (figura do slide anterior) • Lixe as peças com cuidado eliminando as rebarbas • ...

  7. Algoritmo Textual Informal 2 • Troca de pneu “Abra o porta-mala e verifique se todos acessórios estão lá. Em caso negativo, feche o porta-malas e peça carona a alguém. Em caso positivo, retire o triângulo, posicione-o a cerca de 30 m do carro, e, depois, retire o estepe e o macaco. Levante o carro... “

  8. Algoritmo Gráfico Informal • Troca de pneu

  9. Abre porta-malas Acessórios OK? Pega triângulo Fecha porta-malas Algoritmo Gráfico Semi-formal • Troca de pneu (Fluxograma) Sim Não

  10. Algoritmo Textual Formal • Troca de pneu abre(porta_malas) Se acessorio_ok = FALSO Então fecha(porta_malas) espera_carona() Senão pega_triangulo() ...

  11. Algoritmo: Problemas Complexos • Problema da Torre de Hanói • Seja a seguinte situação: • deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original • em cada movimento, pode-se mover apenas um disco • um disco nunca poderá ser sobreposto por outro maior

  12. Algoritmo: Problemas Complexos • Passo 1: mova disco menor para terceiro eixo

  13. Algoritmo: Problemas Complexos • Passo 2: mova disco médio para segundo eixo

  14. Algoritmo: Problemas Complexos • Passo 3: mova disco menor para segundo eixo

  15. Algoritmo: Problemas Complexos • Passo 4: mova disco maior para terceiro eixo

  16. Algoritmo: Problemas Complexos • Passo 5: mova disco menor para primeiro eixo

  17. Algoritmo: Problemas Complexos • Passo 6: mova disco médio para terceiro eixo

  18. Algoritmo: Problemas Complexos • Passo 7: mova disco menor para terceiro eixo

  19. Algoritmo: Problemas Complexos • Seqüência de passos completa: Passo 1: mova disco menor para terceiro eixo Passo 2: mova disco médio para segundo eixo Passo 3: mova disco menor para segundo eixo Passo 4: mova disco maior para terceiro eixo Passo 5: mova disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova disco menor para terceiro eixo

  20. Algoritmo: CONCEITO • O que é um ALGORITMO? • OBS.: Não existe um algoritmo para construir algoritmos • a criação de um algoritmo é um exercício de criatividade (conhecimento) e experiência (técnica e prática)

  21. O que é Programação? = ABSTRAÇÃO! A realidade é complexa e rica em detalhes!

  22. Abstração Realidade O que você abstrai dessa realidade?

  23. Abstração O que é abstração?

  24. Abstração Abstração = Operação mental que observa a realidade e captura apenas os aspectos relevantes para um contexto

  25. MASLOW

  26. Abstração • A tarefa de programar sistemas computacionais envolve o exercício constante da abstração da realidade e sua codificação em uma linguagem de programação Abstração + Programação Sistema de Locadora de Veículo

  27. Sistema Computacional O que é um Sistema Computacional?

  28. Sistema Computacional Sistema Computacional Software Hardware Peopleware

  29. Processamento Programação de Sistema Computacional • A programação de um sistema computacional pode ser resumida em 3 passos básicos Entrada Saída Dispositivo de Entrada Dispositivode Saída UCP Memória

  30. Processamento Programação de Sistema Computacional • Exemplo 1 – Exibir a média de dois números Entrada Saída Dispositivo de Entrada Dispositivode Saída UCP Memória 6 , 8 (6 + 8) / 2 7

  31. Processamento Programação de Sistema Computacional • Exemplo 2 – Exibir se o aluno está aprovado ou reprovado Entrada Saída Dispositivo de Entrada Dispositivode Saída UCP Memória Se (5+3)/2>=7 aprovado Senão reprovado Ana, 5, 3 Ana, reprovado

  32. Programação de Sistema Computacional • Tipos de Linguagens de Programação • 1 - Totalmente codificadas em binário (0´s e 1´s) • 2 - Usa instruções simbólicas para representar os 0´s e 1´s • 3 - Voltadas para facilitar o raciocínio humano Baixo Nível Alto Nível (2) (3) (1)

  33. Noções de Lógica • Exemplos de aplicação da lógica • O quarto está fechado e que meu livro está no quarto. Então, preciso primeiro abrir o quarto para pegar o livro • Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana. Então, Júlia é neta de Rosa e sobrinha de Paula • Todo mamífero é animal e todo cavalo é mamífero. Então, todo cavalo é animal • Todo mamífero bebe leite e o homem bebe leite. Então, todo homem é mamífero e animal (mas não é um cavalo)

  34. Atividade 1 (10min) • Resolva os seguintes problemas de lógica • P1 – Uma lesma deve subir um poste de 10m de altura. De dia sobe 2m e à noite desce 1m. Em quantos dias atingirá o topo do poste? • P2 - Três gatos comem três ratos em três minutos. Cem gatos comem cem ratos em quantos minutos? • P3 - O pai do padre é filho do meu pai. O que eu sou do Padre? • P4 - Se um bezerro pesa 75 kg mais meio bezerro, quanto pesa um bezerro inteiro?

  35. Atividade 1 (10min) • Resolva os seguintes problemas de lógica • P5 – Qual o próximo número da seqüência 7,8,10,13,17,? • P6 – Um pai de 80kg e suas 2 filhas (40kg cada), precisam sair de uma ilha com um barco. Porém a capacidade do barco é de 80kg. Como farão para sair da ilha? • P7 – Usando uma jangada, um camponês precisa atravessar uma cabra, um leão e um fardo de capim para a outra margem do rio. A jangada só tem lugar para ele e mais outra coisa. O que ele deve fazer para atravessar o rio com seus pertences intactos?

  36. RESPOSTAS - Atividade 1 • Respostas • R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce 1 metro • R2 – 3 (três) minutos • R3 – Tio • R4 – 150 (cento e cinqüenta) kg • R5 – 22 • R6 – Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem juntas. • R7 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim e leve a cabra de volta; deixe a cabra e leve o leão, depois é só voltar e pegar a cabra.

  37. Noções de Lógica Em Lógica um conceito importanteé o de “Proposição” Você sabe o que é umaPROPOSIÇÃO?

  38. Noções de Lógica • Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambigüidade, um valor lógico verdadeiro (V) ou falso (F). • Exemplos de proposições: • Robson Fidalgo é Professor (V) • 3 + 5 = 10 (F) • 5 < 8 (V) • Contra-exemplos de Proposições: • Onde você vai ? • 3 + 5 • Os estudantes jogam vôlei. (quais ?)

  39. Noções de Lógica • Operações Lógicas: são usadas para formar novas proposições a partir de proposições existentes. • Considerando p e q duas proposições genéricas, pode-se aplicar as seguintes operações lógicas básicas sobre elas • Definindo a prioridade: • Usar parênteses Ex:((p v q)^(~q)) ou • Obedecer (~) > (^) > (v)

  40. Noções de Lógica • Exemplos de aplicação das operações lógica • Considere: • p = 7 é primo = (V) • q = 4 é impar = (F) • Então: • 4 NÃO é impar = ~q = (~F) = (V) • 7 NÃO é primo = ~p = (~V) = (F) • 7 é primo E 4 NÃO é impar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V) • 7 é primo E 4 é impar = p ^ q = (V ^ F) = (F) • 4 é impar E 7 é primo = q ^ p = (F ^ V) = (F) • 4 é impar E 7 NÃO é primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)

  41. Noções de Lógica • Exemplos de aplicação das operações lógica (Cont.) • Considere: • p = 7 é primo = (V) • q = 4 é impar = (F) • Então: • 7 é primo OU 4 NÃO é impar = p v ~q = (V v (~F)) = (V v V) = (V) • 7 é primo OU 4 é impar = p v q = (V v F) = (V) • 4 é impar OU 7 é primo = q v p = (F v V) = (V) • 4 é impar OU 7 NÃO é primo = q v ~p = (F v (~V)) = (F v F ) = (F)

  42. Noções de Lógica • Exemplos de aplicação das operações lógica • Resumindo: • Ou seja: • Não (~) troca o valor lógico. Se é F passa a ser V e vice-versa • E (^) só tem valor V quando as duas proposições forem V, basta uma proposição ser F para o resultado ser F • OU (v) só tem valor F quando as duas proposições forem F, basta uma proposição ser V para o resultado ser V

  43. Atividade 2 • Considerando p = V e q = F, resolva as seguintes expressões lógicas • ~p • ~q • p ^ q • p v q • (~p) ^ q • (~p) v q • p ^ (~q) • p v (~q) • (~p) ^ (~q) • (~p) v (~q)

  44. RESPOSTAS - Atividade 2 • Considerando p = V e q = F, resolva as seguintes expressões lógicas • ~p = F • ~q = V • p ^ q = F • p v q = V • (~p) ^ q = F • (~p) v q = F • p ^ (~q) = V • p v (~q) = V • (~p) ^ (~q) = F • (~p) v (~q) = V

  45. Lógica de Programação & Algoritmo O que é Programação de computadores?  INSTRUÇÕES

  46. Instruções Delimitadoras • Servem para especificar o início e o fim do algoritmo. início ... fim

  47. Declaração de Variáveis • Utilizado para especificar os nomes e os respectivos tipos das variáveis necessárias no algoritmo declare <variáveis>: <tipo>; onde: <variáveis> - lista de nomes de variáveis separados por vírgula <tipo> - inteiro, real, caracter, string, lógico

More Related