1 / 15

Generalidades

Generalidades. Programação estruturada. Diagrama de blocos do HARDWARE de um PC. Parte suficiente para os utilizadores. Diagrama de blocos do SOFTWARE. Sistemas operativos. Mono utilizador MSDOS

Télécharger la présentation

Generalidades

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generalidades Programação estruturada

  2. Diagrama de blocos do HARDWARE de um PC Generalidades

  3. Parte suficiente para os utilizadores Diagrama de blocos do SOFTWARE Generalidades

  4. Sistemas operativos • Mono utilizador • MSDOS • Desenvolvido pela Microsoft na década de 80, por encomenda da IBM, para correm em PC’s IBM compatíveis. • Baseado no CP/M e UNIX. • Actualmente está em declínio (felizmente para alguns !!!) • Windows 3.x. • Multi utilizador • Unix (muito heterogéneos). • Novell. • OS/2. • Windows NT. Generalidades

  5. Alguns conceitos básicos de programação • Primeiras barreiras a ultrapassar : • Disciplinar raciocínio, por forma a traduzir algoritmicamente a solução do problema. • Algoritmo • Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) • Exº ordenação de um conjunto, pesquisa numa base de dados. • Atributos que deve possuir: • Ser finito, inteligível, exequível, caracterizável. • Formas de representação : • Narrativa, Fluxograma, Pseudo código, Linguagens de programação. • Processo • Conjunto ordenado de acções, sujeitos a critérios de decisão condicionados por variáveis. • Executa as regras de um algoritmo, para atingir o seu objectivo. Generalidades

  6. Representação dos algoritmos (1) • Enunciado: • Dados dois inteiros m e n, encontrar o maior inteiro que os divida a ambos exactamente. • Descrição narrativa: • Algoritmo E (Algoritmo de Euclides) • E 1- (Encontrar o resto) - Dividir m por n e afectar r com o resto ( 0 <= r < n) • E 2 - ( O resto é zero?) - Se r=0, o algoritmo termina ; n é o valor procurado. • E 3 - (Substituir) - Afectar m com n e n com r, voltando ao passo E1. Algoritmo de Euclides (geómetra grego ) desenvolvido em 600 AC. Generalidades

  7. int mdc(int m, int n) { int r; while ( (r= m % n) != 0) { m=n; n=r; } return n; } Representação dos algoritmos(2) Descrição em fluxograma Descrição em linguagem C++ m % n - significa resto da divisão inteira de m por n Generalidades

  8. Constituintes dos algoritmos • Parâmetros do processo ou entradas. • Variáveis intermédias (temporárias) • Índices de iteração • Acções primitivas. • Resultados finais ou saídas. Generalidades

  9. Ponto de entrada Ponto de saída Algoritmos e linguagens estruturadas • O conjunto S normalmente adoptado envolve as primitivas: • Decisão binária:if (condição) acção1 else acção2 • Repetição condicional:while (condição) acção • Decisão múltipla :switch (expressão) {case expressão1: acção1case expressão2: acção2 … • } S (conjunto de primitivas de controlo. p.e C++) Um algoritmo diz-se estruturadoem relação ao conjunto S se todo ele for explicitado exclusivamente com essas primitivas. Generalidades

  10. O que é programar ? Enquanto na literatura, a arte de escrever, revela-se na interligação das regras gramaticais, expressas numa dada língua (não bastando para isso dominar a gramática) ,na programação, a arte de programar, revela-se na concepção dos algoritmos, expressos numa dada linguagem. Generalidades

  11. Linguagens e paradigmas de programação A evolução das linguagens pode analisar-se através dos paradigmas de programação que suportam. A evolução das linguagens de programação tem vindo a acompanhar as evoluções do Hardware. Generalidades

  12. Paradigmas de programação (1) • Programação modular • suporta princípio do encapsulamento de dados. • programa dividido em módulos (ficheiros). • programa resulta da ligação (“link”) de vários módulos. • Programação procedimental • decomposição de um problema em pequenos problemas (procedimentos) • cada procedimento utiliza os algoritmos mais adequados ao que se pretende realizar. • procedimentos suportados por um conjunto de primitivas de controlo. Generalidades

  13. Complexo a, b, c; a = 2.3; b = 1 / a; c = a + b * Complexo(1,2.3); c = c - ( ( a / 2 ) + 2 ); Paradigmas de programação (2) • Abstracção de tipo de dados • Possibilidade de definição de tipos de dados novos semelhantes aos já existentes suportando cada um deles um conjunto novo de: • Operações já existentes sobrecarregadas (overload) para o novo tipo ( novas operações e métodos de acesso). • Tipo de objecto => CLASSE • Instância de uma classe => OBJECTO • Extensão natural aos tipos (classes) pré-definidos. Generalidades

  14. No caso de não existirem características comuns entre classes de objectos, a programação por objectos degenera na abstracção de dados. Paradigmas de programação (3) Programação orientada por objectos • Definir as classes ou tipos de objectos que sejam necessários. • Munir essas classes com um conjunto completo de operações. • Explicitar as características comuns entre elas, através de mecanismos de herança. • Usar polimorfismo de métodos entre objectos de classes derivadas. Generalidades

  15. A linguagem C++ • A linguagem C foi desenvolvida nos Laboratórios BELL em 1970 por B. W. Kernighan e D. M. Ritchie. • Em 1983, foi normalizada pela ANSI (American National Standards Institute), uma versão melhorada da linguagem C original, o standardANSI C . • Em 1988, também nos Laboratórios BELL, Bjarne Stroustrup desenvolveu uma extensão à linguagem C ANSI, destinada a suportar todos os paradigmas de programação a que atrás nos referimos, e que tomou a designação de C ++. • O C++ vem acrescentar novas potencialidades à linguagem C: • Refinar conceitos de estruturação. • Facilitar o trabalho entre grandes equipas. • Maior reutilização de código. Generalidades

More Related