Upload
lua-menor
View
218
Download
0
Embed Size (px)
Citation preview
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Construção de Algoritmos
Aquiles BurlamaquiUERN2008.1
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Planejamento Carga horária: 90h, 15 semanas
10:40h – 12:30h
8:50h – 10:30h
7:00h – 8:40h
SEX.QUI.QUA.TER.SEG.
CA– NC
CA– NC
CA– NC
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
Motivação Por que estudar Construção de
Algoritmos?
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Conceitos Fundamentais Três pilares
Físico
Lógico
Humano
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
Conceitos Fundamentais Algoritmo
Exemplo (Ligar o Carro):
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Conceitos Fundamentais Algoritmo
Calcular a média na disciplina?
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais Algoritmo
Se não for seguido um formalismo, podemos ter problemas.
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Formas de representação de algoritmos Descrição Narrativa Fluxograma Pseudocódigo Linguagens de Programação
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
Fluxograma
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Pseudocódigo Algoritmo Média_do_aluno
Real: m1,m2,mediaInício
Escreva(“Digite as duas notas:”)Leia(m1,m2)media (m1+m2)/2Se (média >= 5) então
Escreva (“APROVADO”)Senão
Escreva (“REPROVADO”)Fim_se
Fim
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
Processadores de Linguagens Compilação
Interpretação
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Compilação
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Professor: Aquiles Burlamaqui
Construção de Algoritmos
FIM PRIMEIRA AULA