1 / 113

A lgoritmos

A lgoritmos. Fabrício Costa Santana prof.fabricio@outlook.com http://professorfabricio.net. Plano da Disciplina. EMENTA Declaração de variáveis e constantes Tipos de variáveis Instruções de entrada e saída Tipos de representações de algoritmos

zihna
Download Presentation

A lgoritmos

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. Algoritmos Fabrício Costa Santana prof.fabricio@outlook.com http://professorfabricio.net

  2. Plano da Disciplina • EMENTA • Declaração de variáveis e constantes • Tipos de variáveis • Instruções de entrada e saída • Tipos de representações de algoritmos • Operadores aritméticos e lógicos • Comandos de decisão • Estruturas de recepção • Vetores e matrizes

  3. Plano da Disciplina • OBJETIVO GERAL • Estudar as técnicas de programação, baseando-se no aprendizado de algoritmos computacionais. • OBJETIVOS ESPECÍFICOS (Competências/Habilidades – aprendizagens que serão consolidadas pelos estudantes) • Resolver problemas computacionais. • Desenvolver o raciocínio lógico voltado para criação de programas e permitir o domínio das principais técnicas para a produção de algoritmos

  4. Avaliações • UNIDADE I • INSTRUMENTO NOTA • Prova Individual Peso 8 • Trabalho em Grupo – Listas de Exercícios Peso 2 • UNIDADE II • INSTRUMENTO NOTA • Prova Individual Peso 8 • Trabalho em Grupo – Listas de Exercícios Peso 2

  5. Referências Básicas • MANZANO & OLIVEIRA. Algoritmos: Lógica para Desenvolvimento de Programação de Computadores • FORBELONE & EBERSPACHER. Lógica de Programação • GUIMARÃES & LAGES. Algoritmos e Estruturas de Dados • PEREIRA, S.L. Estruturas de Dados Fundamentais

  6. Introdução • O raciocínio lógico • O raciocínio lógico na tecnologia da informação: Um esquema sistemático que define as interações de sinais no equipamento automático do processamento de dados, ou o computador científico com o critério e princípios formais de raciocínio e pensamento • Segundo Venancio (1997) lógica pode ser definida como sendo o estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade. A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a ordenação do pensamento humano (Forbellone, 1993).

  7. Introdução à lógica É possível trocar uma lâmpada obedecendo a sequência de ações abaixo? • Pegar uma escada; • Posicionar a escada embaixo da lâmpada; • Buscar uma lâmpada nova; • Colocar a lâmpada nova; • Retirar a lâmpada velha; • Subir na escada. • Pegar uma escada; • Posicionar a escada embaixo da lâmpada; • Buscar uma lâmpada nova; • Subir na escada; • Retirar a lâmpada velha; • Colocar a lâmpada nova.

  8. Introdução à lógica André e quatro amigos praticam esportes diferentes. Com base nas dicas determine o nome e sobrenome de cada homem e o esporte que pratica. a) João pratica pesca. Um sobrenome é Sr. Soares. b) O Sr. Saraiva não pratica ciclismo, ele pratica golfe. c) Nem Davi Silva nem o Sr. Rocha praticam natação. d) O esporte de Pedro (cujo sobrenome não é Bernardes) é canoagem. e) Nem o Sr. Bernardes nem Mauro praticam natação. Nome Sobrenome Esporte André Soares Natação João Bernardes Pesca Davi Silva Ciclismo Pedro Rocha Canoagem Mauro Saraiva Golfe

  9. Exercício 1

  10. Respostas Exercício 1 Carolina

  11. O problema do bolo

  12. A receita Ingredientes: • 1 Lata de leite condensado • 1 Lata de milho sem a água • 1 colher (de sopa) de manteiga • 1 pacote de coco ralado • 3 ovos • 1 colher (de sopa) de fermento em pó Modo de preparo: • Bata no liquidificador, o milho, o leite condensado, a manteiga, o coco e os ovos. • Despeje a mistura acima em uma tigela. • Peneire o fermento e adicione-o à mistura. • Mexa delicadamente a mistura. • Em uma fôrma média de bolo, untada e polvilhada com fubá, despeje a massa. • leve ao forno médio pré-aquecido, por 35 min.

  13. O problema da média • O problema: exibir a média das notas de um aluno de matemática do ensino médio, sabendo que o aluno recebe uma nota em cada unidade e o ano letivo possui 4 unidades. • Entradas • Processamento • Saída

  14. Algoritmo Compreender o problema Identificar os dados de entrada Identificar os dados de saída Determinar o que é preciso para transformar dados de entrada em dados de saída: • usar a estratégia do dividir-para-conquistar • observar regras e limitações • identificar todas as ações a realizar • eliminar ambiguidades Construir o algoritmo Testar o algoritmo Executar o algoritmo

  15. Dividir-para-conquistar É conhecido por método descendente (top-downmethod) ou método de refinamento passo-a-passo Consiste em dividir um problema em partes menores (ou subproblemas) de modo a que seja mais fácil a sua resolução. Exemplo: Fazer suco de laranja? • Lavar laranja; • Partir laranja ao meio; • Espremer laranja; • Filtrar o suco; • Servir o suco. Passo-a-passo, significa que cada passo é completado antes que o próximo comece. Exemplo: é impossível “ver novela” antes de executar por inteiro o passo anterior de “ligar a TV”

  16. Características dos Algoritmos Um algoritmo tem cinco características importantes: • Finitude: deve sempre terminar após um número finito de passos. • Definição: cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades. • Entradas: deve ter zero ou mais entradas, isto é informações que são lhe são fornecidas antes do algoritmo iniciar. • Saídas: deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas. • Efetividade: deve ser efetivo. Isto significa que todas as operações devem ser suficientemente básicas de modo que possam ser em princípio executadas com precisão em um tempo finito por um humano usando papel e lápis.

  17. Dicas para a criação de algoritmos • Procure conhecer e compreender, ao máximo, o problema a ser resolvido; • Identifique e defina os dados que, essencialmente, deverão ser informados para que o processamento seja realizado com sucesso (dados de entrada); • Descreva, detalhadamente, o processamento ou a transformação a ser executada sobre os dados de entrada, em busca dos resultados desejados (como chegar no objetivo); • Identifique e defina quais serão os dados resultantes do processamento ou transformação (dados de saída); • Construa o algoritmo que represente a solução encontrada com o detalhamento necessário para o seu entendimento; • Teste o algoritmo por meio de simulações e efetue as devidas correções que possam vir a ser necessárias na lógica proposta.

  18. Como representar um algoritmo • A descrição narrativa • O fluxograma: Ex.: diagrama de blocos, diagrama de Chapin • Linguagem algorítmica (também chamada de pseudocódigo). Ex.: Português Estruturado

  19. Como representar um algoritmo • Linear • Estruturada • Modular • Diagrama de Chapin • Português Estruturado

  20. Estruturada Linear

  21. Modular

  22. Diagrama de Chapin

  23. Português Estruturado algoritmo "media" var n1, n2, n3, n4, soma, media: real inicio leia(n1, n2, n3, n4) soma <- n1 + n2 + n3 + n4 media <- soma / 4 escreva("Media: ", media) fimalgoritmo

  24. Tipos de Dados 1. Dados Numéricos: Tipos Inteiros: nos positivos e negativos. exemplos: 35 0 -12 Tipos Reais: nos positivos, negativos e fracionários. exemplos: 9 -12 4.6 -89.726 2. Dados Caracteres : São sequências contendo letras, números e símbolos especiais. Deve ser indicado entre aspas (“”). Também chamado de alfanumérico, literal, string ou cadeia. exemplos: “Rua Alfa, 52” “Fone: 211-3456”

  25. Tipos de Dados 3. Dados Lógicos: Pode representar apenas dois valores: verdadeiro e falso. Também chamado de booleano. Deve ser indicado entre pontos. exemplos: .Falso. .F. .N. .Verdadeiro. .V. .S.

  26. Tipos de Dados Exercício: Identifique os tipos de dados presentes na frase abaixo: Ela tem 8 filhos, pesa 48,3 kg, seu exame de gravidez deu positivo e pintou numa placa: “Precisa-se de Babás. Urgente!”

  27. Variáveis • É um dado que será armazenado no computador e que assumirá valores diferentes à medida que for utilizado e manipulado. • Regras de representação • O primeiro caractere do nome de uma variável não poderá ser, em hipótese alguma, um número; sempre deverá ser uma letra; • O nome de uma variável não poderá possuir espaços em branco; • O nome de uma variável não poderá ser uma palavra reservada (uma instrução ou comando); • Não poderão ser utilizados outros caracteres a não ser letras, números e sublinhado (underscore).

  28. Variáveis • Exemplo: NOMEALUNO (Pedro, Afonso, Ana) NOTAALUNO (7,23 10 2,8) Deve ser identificado por um nome e pelo seu tipo. Exemplo: NOMEALUNO : caractere NOTAALUNO : real

  29. Constantes • Área da Circunferência = 3.14159 * Raio ^ 2 • Kelvin = Celcius+ 273 • Celcius/ 5 = (Fahrenheit – 32) / 9 • (Kelvin – 273) / 5 = (Fahrenheit– 32) / 9

  30. Operadores Matemáticos

  31. Expressões Aritméticas • AREA <- ( BASE * ALTURA ) / 2 • X = { 43 . [ 55 : ( 30 + 2 ) ] } • X <- ( 43 * ( 55 / ( 30 + 2 ) ) ) • X <- 2 * 5 + 4 • X <- 2 * ( 5 + 4 )

  32. Expressões Aritméticas • a * x ^ 2 + b * x + c

  33. Exercício 2

  34. Respostas Exercício 2 1 - a) 2 ^ x +1 / 2 - y b) z <- (1 + x) * (2 + y ^ 2) + 5 c) delta <- b ^ 2 - 4 * a * c d) (8 / x + 6 / y ) * (3 ^ x / 2) e) (1 / 2 - 5 ) + 2 ^ 3 * (5 + 3 / 2) f) x <- 5 + sqrt(10) + (1 / 2) ^ 3 g) (sqrt(125) + 2 * 1 / 5) + 5 ^ 3 + (1/2*(5 / 2 + 8 + 1 / 3)) ^ 2 2 – a) I b) L c) S d) R e) R f) I g) S h) S i) L j) S k) S l) I 3 – a, f, g, l, n

  35. O Visualg

  36. Diagrama de Blocos

  37. Diagrama de Blocos • Os diagramas devem ser feitos e quebrados em vários níveis. Os primeiros devem conter apenas as ideias gerais e detalhando-os posteriormente. • Deve ser desenvolvido preferencialmente de cima para baixo e da esquerda para a direita. • As linhas de fluxo de dados nunca devem se cruzar.

  38. Diagrama de Blocos

  39. Diagrama de Blocos

  40. Diagrama de Blocos

  41. Diagrama de Blocos

  42. Diagrama de Blocos

  43. Diagrama de Blocos

  44. Algoritmos Simples – Soma de dois números algoritmo "soma_numeros" var X: inteiro A: inteiro B: inteiro inicio leia(A) leia(B) X <- A + B escreva(X) fimalgoritmo

  45. Algoritmos Simples – Cálculo da área de um círculo algoritmo "area_circulo" var A: real R: real inicio leia(R) A <- 3.114159*R^2 escreva(A) fimalgoritmo

  46. Estruturas de Controle – A Tomada de Decisões • Desvio Condicional Simples • Desvio Condicional Composto • Desvios Condicionais Encadeados

  47. Operadores Relacionais

  48. Desvio Condicional Simples se (<condição>) então <instruções para condição verdadeira> fimse

  49. Desvio Condicional Simples algoritmo "Soma_numeros" var X, A, B: inteiro inicio leia(A) leia(B) X <- A + B se (X>10) entao escreva (X) fimse fimalgoritmo

More Related