1 / 40

Construção de Algoritmos

Construção de Algoritmos. Aquiles Burlamaqui UERN 2007.1. Conteúdo Programático. Unidade I Fundamentos de Lógica de Programação Algoritmo (metalinguagem) Conceitos de memória, variáveis e constantes. Tipos básicos de dados Operadores aritméticos, relacionais e lógicos.

hea
Download Presentation

Construção de Algoritmos

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. Construção de Algoritmos Aquiles BurlamaquiUERN 2007.1 Professor: Aquiles Burlamaqui

  2. Conteúdo Programático • Unidade I • Fundamentos de Lógica de Programação • Algoritmo (metalinguagem) • Conceitos de memória, variáveis e constantes. • Tipos básicos de dados • Operadores aritméticos, relacionais e lógicos. • Comandos básicos de entrada e saída e atribuição • Conceito de bloco de comandos • Estruturas de controle de fluxo – condicionais (se, se-senão e caso) • Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto) • Estruturas de Dados Homogêneas (vetores e matrizes) • Unidade II • Estruturas de Dados Heterogêneas (registros) • Modularização • Variáveis locais e globais • Funções • Passagem de parâmetros por valor e por referência • Funções recursivas • Biblioteca de funções • Unidade III • Algoritmos de Busca • Ponteiros • Conceitos • Operador endereço e operador de acesso indireto • Alocação dinâmica de memória • Arquivo Professor: Aquiles Burlamaqui

  3. Planejamento • Carga horária: 90h, 15 dias Professor: Aquiles Burlamaqui

  4. Metodologia • Aulas • Teóricas-Práticas: • Em todas as aulas haverão uma discussão inicial, onde serão expostos conceitos assim como atividades práticas que servirão como parâmetro para avaliação. • Avaliação: • A avaliação será feita de forma continua. E Baseada em três provas escritas. Assim como trabalhos em sala aula. Professor: Aquiles Burlamaqui

  5. Bibliografia • Bibliografia Básica: • Manzano, José Augusto N. Z.; Oliveira, Jayr F. de Algoritmos: Lógica para o desenvolvimento de programas de computadores. 16ª Edição. Érica, 2004. • Técnicas de programação: Uma Abordagem Estruturada;SALIBA, Walter Luiz Caram;Markron Books,2002. • Técnicas de programação: Uma Abordagem Moderna. LEIRE, Mario,Brasport,2006. • Bibliografia Complementar: • Herbert Schildt; "C" Completo e Total, McGraw-Hill,1990. • CHARLES E. LEISERSON ;Algoritmos: Teoria e Prática. • Internet • www.google.com Professor: Aquiles Burlamaqui

  6. Motivação • Por que estudar Construção de Algoritmos? Professor: Aquiles Burlamaqui

  7. Motivação • Por que estudar Construção de Algoritmos? • Disciplina base do curso de computação • Pré-requisito para todas as outras linguagens de programação; Professor: Aquiles Burlamaqui

  8. Conceitos Fundamentais • Três pilares • Físico • Lógico • Humano Professor: Aquiles Burlamaqui

  9. Conceitos Fundamentais • Três pilares • Físico • Hardware (CPU + Periféricos) • Lógico • Firmware (Instruções de Fábrica) • Software (Programas) • Algoritmo • Humano • Peopleware (Profissionais) Professor: Aquiles Burlamaqui

  10. Conceitos Fundamentais • Origem da palavra Algoritmo • Matemático Persa do século IX • Mohamed ben Musa Al-Khwarizmi, • Algorithmi de numero indorum • Al-goreten (conceito que se pode aplicar aos cálculos) • Definição: Professor: Aquiles Burlamaqui

  11. Conceitos Fundamentais • Origem da palavra Algoritmo • Matemático Persa do século IX • Mohamed ben Musa Al-Khwarizmi, • Algorithmi de numero indorum • Al-goreten (conceito que se pode aplicar aos cálculos) • Definição: • Receita de bolo; • Um algoritmo é uma seqüência não ambígua de instruções que é executada até que determinada condição se verifique; (wikipédia) • Conjunto ordenado e não-ambíguo de passos executáveis que definem uma atividade finita;(Brookshear) Professor: Aquiles Burlamaqui

  12. Conceitos Fundamentais • Algoritmo • Exemplo (Ligar o Carro): Professor: Aquiles Burlamaqui

  13. Conceitos Fundamentais • Algoritmo • Exemplo (Ligar o Carro): • Ligar o carro • Pisar na embreagem • Passar a primeira marcha • Soltar a embreagem lentamente,enquanto pisa no acelerador. • Algoritmo para fritar um ovo? Professor: Aquiles Burlamaqui

  14. Conceitos Fundamentais • Algoritmo • Calcular a média na disciplina? Professor: Aquiles Burlamaqui

  15. Conceitos Fundamentais • Algoritmo • Se não for seguido um formalismo, podemos ter problemas. Professor: Aquiles Burlamaqui

  16. Conceitos Fundamentais • Algoritmo • De modo a torná-lo não ambíguo uma formalização é necessária. • Definição de regras de semântica e sintaxe. Professor: Aquiles Burlamaqui

  17. Formas de representação de algoritmos • Descrição Narrativa • Fluxograma • Pseudocódigo • Linguagens de Programação Professor: Aquiles Burlamaqui

  18. Formas de representação de algoritmos • Descrição Narrativa • Uso da linguagem natural; • Temos a inconveniência da má interpretação, originando ambigüidades e imprecisões. • Vejamos mais um exemplo: a troca de um pneu furado. • Analisar as ambigüidades e imprecisões. Professor: Aquiles Burlamaqui

  19. Descrição Narrativa • Algoritmo • afrouxar ligeiramente as porcas; • suspender o carro; • retirar as porcas e o pneu; • colocar o pneu reserva e as porcas; • abaixar o carro; • dar o aperto final nas porcas. Professor: Aquiles Burlamaqui

  20. Fluxograma • Uso de formas geométricas distintas produzindo ações distintas • Início ou fim do fluxograma. • Entrada de dados. • Cálculo de expressões. • Saída de resultados. • Tomada de decisão • Fluxo. Professor: Aquiles Burlamaqui

  21. Fluxograma Professor: Aquiles Burlamaqui

  22. Pseudocódigo • Uso de linguagem própria, aproximando-se mais das linguagens de alto nível, chamado, também de pseudolinguagem ou ainda portugol. • Forma geral: Algoritmo < nome_do_algoritmo > < declaração_de_variáveis > Início < Instruções > Fim Professor: Aquiles Burlamaqui

  23. Pseudocódigo • Algoritmo Média_do_aluno Real: m1,m2,media Início Escreva(“Digite as duas notas:”) Leia(m1,m2) media  (m1+m2)/2 Se (média >= 5) então Escreva (“APROVADO”) Senão Escreva (“REPROVADO”) Fim_se Fim Professor: Aquiles Burlamaqui

  24. Linguagens de Programação • Linguagens de Programação • Uma linguagem de programação é um método padronizado para expressar instruções para um computador. • É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Professor: Aquiles Burlamaqui

  25. Linguagens de Programação • Linguagens de baixo nível • Linguagens de máquina, assembly • Linguagens de alto nível • Fortran, Cobol, C, C++, Java, Pyton, Lua, Basic, Pascal... Professor: Aquiles Burlamaqui

  26. Conceitos Básicos • Baixo nível • Código otimizado,Indicado para situações onde não há opção de alto nível • Alto nível • Programação do algoritmo mais fácil • Portabilidade • Manutenção do código Professor: Aquiles Burlamaqui

  27. Processadores de Linguagens • Compilação • Interpretação Professor: Aquiles Burlamaqui

  28. Compilação Professor: Aquiles Burlamaqui

  29. Linguagem de Programação C • Flexibilidade • Portabilidade • Usada no desenvolvimento de: • Unix • Linguagem C, C++ • Java • Etc Professor: Aquiles Burlamaqui

  30. Linguagem de Programação C • Programas em C geram programas executáveis. • Mais veloz que outras linguagens de alto nível. • Linguagem de relativo baixo nível, permite operações com bits, bytes, endereços de memórias. Professor: Aquiles Burlamaqui

  31. Linguagem de Programação C • Instalação • Windows • Dev-C++ • Turbo C++ • Linux • gcc Professor: Aquiles Burlamaqui

  32. Tipos de Dados • Manipulação de informações na memória • Instruções • Dados • Memória 1 célula = 1 byte = 8 bits 1 bit possui 2 estados: 0 e 1 (dígitos binários). 1 byte possui 28 = 256 estados possíveis. Professor: Aquiles Burlamaqui

  33. Tipos de Dados • Tipos básicos podem ser: • Numéricos; • Inteiros • Reais; • Literais; • Lógicos; Professor: Aquiles Burlamaqui

  34. Tipo de Dados • Numéricos • Inteiros: sem parte fracionária nem ponto; • Ex: 86 0 234 -34 4324 • Reais: com parte fracionária e ponto; • Ex:85.3 -9.34 10.0 6.0 0.00 Professor: Aquiles Burlamaqui

  35. Tipos de Dados • Literais: Seqüências de caracteres contendo letras, dígitos e/ou símbolos especiais • Também chamados de: • “alfanuméricos” • “cadeia de caracteres” • “strings” • Serão representados nos algoritmos entre aspas. • Ex:“UERN” comprimento 4; “Construção de Algoritmos” comprimento ?; “29/04/80” comprimento ? “” comprimento ? “ “ comprimento ? Professor: Aquiles Burlamaqui

  36. Tipos de Dados • Lógico • Usados para representar dois únicos valores lógicos possíveis: verdadeiro e falso. • Representados nos algoritmos como: .V. (verdadeiro) e .F. (falso). Professor: Aquiles Burlamaqui

  37. Armazenamento na Memória Professor: Aquiles Burlamaqui

  38. Trabalho 01 • Escrever o pseudo-código da média da UERN baseado no fluxograma criado em sala de aula. • Entregar próxima aula. Professor: Aquiles Burlamaqui

  39. Professor: Aquiles Burlamaqui

  40. FIM PRIMEIRA AULA Professor: Aquiles Burlamaqui

More Related