Construção de Algoritmos
Construção de Algoritmos
Aquiles Burlamaqui
UERN
2007.1
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conteúdo Programático

Unidade I

Fundamentos de Lógica de Programação










Estruturas de Dados Homogêneas (vetores e matrizes)
Unidade II


Estruturas de Dados Heterogêneas (registros)
Modularizaçã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)
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.
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
SEX.
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,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
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ó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
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
Professor: Aquiles Burlamaqui
Download

Aula01 - Aquiles Burlamaqui