View
117
Download
1
Category
Preview:
Citation preview
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Construção de Algoritmos
Aquiles BurlamaquiUERN2007.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 dias
SEG. TER. QUA. QUI. SEX.
7:00h – 8:40h CA– NC CA– SC
8:50h – 10:30h CA– NC CA– SC
10:40h – 12:30h CA– NC CA– SC
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
Linguagem de Programação C
Flexibilidade Portabilidade Usada no desenvolvimento de:
Unix Linguagem C, C++ Java Etc
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
Linguagem de Programação C
Instalação Windows
Dev-C++ Turbo C++
Linux gcc
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados
Manipulação de informações na memória Instruções Dados
Memória1 célula = 1 byte = 8 bits1 bit possui 2 estados: 0 e 1 (dígitos binários).1 byte possui 28 = 256 estados possíveis.
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados
Tipos básicos podem ser: Numéricos;
Inteiros Reais;
Literais; Lógicos;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
Armazenamento na Memória
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