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

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

Programação estruturada

Apresentações semelhantes


Apresentação em tema: "Programação estruturada"— Transcrição da apresentação:

1 Programação estruturada
Generalidades

2 Diagrama de blocos do HARDWARE de um PC
Generalidades

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

4 Sistemas operativos Mono utilizador Multi 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)
Algoritmo de Euclides (geómetra grego ) desenvolvido em 600 AC. 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. Generalidades

7 Representação dos algoritmos(2)
Descrição em fluxograma Descrição em linguagem C++ int mdc(int m, int n) { int r; while ( (r= m % n) != 0) { m=n; n=r; } return n; 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 Algoritmos e linguagens estruturadas
Ponto de entrada Ponto de saída 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ção case expressão2: acção … } S (conjunto de primitivas de controlo. p.e C++) Um algoritmo diz-se estruturado em 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 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. 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. Generalidades

13 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. Complexo a, b, c; a = 2.3; b = 1 / a; c = a + b * Complexo(1,2.3); c = c - ( ( a / 2 ) + 2 ); Generalidades

14 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. No caso de não existirem características comuns entre classes de objectos, a programação por objectos degenera na abstracção de dados. Generalidades

15 A linguagem C++ Generalidades
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 standard ANSI 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


Carregar ppt "Programação estruturada"

Apresentações semelhantes


Anúncios Google