Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles...

Preview:

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

Recommended