A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Construção de Algoritmos

Apresentações semelhantes


Apresentação em tema: "Construção de Algoritmos"— Transcrição da apresentação:

1 Construção de Algoritmos
Aquiles Burlamaqui UERN 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 Professor: Aquiles Burlamaqui
Planejamento Carga horária: 90h, 15 dias SEG. TER. QUA. QUI. SEX. 7:00h – 8:40h CA– NC CA– SC 8:50h – 10:30h 10:40h – 12:30h Professor: Aquiles Burlamaqui

4 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui

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

7 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
Fluxograma Professor: Aquiles Burlamaqui

22 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
Tipos de Dados Tipos básicos podem ser: Numéricos; Inteiros Reais; Literais; Lógicos; Professor: Aquiles Burlamaqui

34 Professor: Aquiles Burlamaqui
Tipo de Dados Numéricos Inteiros: sem parte fracionária nem ponto; Ex: Reais: com parte fracionária e ponto; Ex: Professor: Aquiles Burlamaqui

35 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
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 Professor: Aquiles Burlamaqui
FIM PRIMEIRA AULA Professor: Aquiles Burlamaqui


Carregar ppt "Construção de Algoritmos"

Apresentações semelhantes


Anúncios Google