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

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

Introdução a Informática Linguagens de Programação Prof: Diego Brandão.

Apresentações semelhantes


Apresentação em tema: "Introdução a Informática Linguagens de Programação Prof: Diego Brandão."— Transcrição da apresentação:

1 Introdução a Informática Linguagens de Programação Prof: Diego Brandão

2 Objetivo Apresentar diferentes linguagens de programação que poderão ser utilizadas no desenvolvimento de diversas aplicações. Apresentar as estruturas de algumas linguagens e suas características, pois cada linguagem foi criada com o objetivo de facilitar o desenvolvimento de diversos tipos de aplicações

3 Definição Conjunto de símbolos, palavras e regras usados na construção de sentenças que expressam e processam instruções para computadores (Houaiss). No início os desenvolvedores criavam sistemas utilizando diretamente as instruções do processador, cada seqüência de zeros e uns representava uma única instrução. Conhecida como linguagem de máquina sua utilização é muito complexa. Cada programa escrito em linguagem de máquina é específico para um determinado equipamento, pois, numa outra máquina, a mesma seqüência de 0 e 1 podia significar uma operação completamente diferente.

4 Definição Ao passar dos anos, diversas linguagens de programação surgiram para facilitar: – o desenvolvimento dos algoritmos desejados, – a interface entre o homem e a máquina, e, tornar os programas menos suscetíveis a erros

5 Histórico A primeira tentativa de se criar uma linguagem mais próxima do ser humano foi através da linguagem Assembly – linguagem de montagem. Nesta linguagem cada, instrução é dada por um pequeno conjunto de letras, chamado mnemônico. Estas letras devem sugerir de forma simples qual a operação que deve ser executada.

6 Histórico Exemplo: Soma de dois números Queremos efetuar a soma e representar a soma usando 32 bits. Uma das possibilidades seria colocar o número 10 no registrador eax. Depois somamos ao registrador eax o número 20. O resultado estará no registrador eax. mov eax,10 add eax,20

7 Conjuntos de Linguagens Linguagens de baixo nível Linguagens não estruturadas Linguagens procedurais Linguagens funcionais Linguagens orientadas a objetos Linguagens específicas Linguagens de quarta geração ou visuais

8 Linguagens de baixo nível Cada processador possui um conjunto diferente de instruções. Por isso, uma linguagem Assembler para cada tipo de processador A mesma aplicação necessita de um código para cada tipo de processador

9 Linguagens Não-Estruturadas Não estão vinculadas aos processadores Considerável avanço para o desenvolvimento de sistemas em termos qualitativos, quando comparadas às linguagens de baixo nível. – COBOL (Common Business Oriented Language), ou seja, linguagem comum orientada a negócios. – BASIC (Beginners All-purpose Symbolic Instruction Code)

10 Linguagens procedurais São consideradas subtipos das linguagens estruturadas Possui uma estrutura de controle, organizando de forma mais eficiente e clara a sintaxe do programa – Estrutura de Teste, repetição, WHILE, CASE e SWITCH, são algumas estruturas utilizadas por esse tipo de linguagem

11 Linguagens procedurais A principal característica é a existência de algoritmos que determinam uma seqüência de chamadas de procedimentos, constituindo um programa As mais comuns são C, Pascal e Fortran; outras mais sofisticadas são Ada, Modula-2 e Modula-3

12 Linguagens procedurais A linguagem C: – Está diretamente ligada ao desenvolvimento do Sistema Operacional Unix – Implementada por Dennis Ritchie em 1970 – Derivada da linguagem B, idealizada por Ken Thompson, e esta é derivada da linguagem BCPL criada por Martin Richards – Utilizada para criação de processadores de texto, planilhas eletrônicas, sistemas operacionais, gerenciadores de banco de dados entre outros

13 Linguagens procedurais A linguagem Pascal: – Desenvolvida por Nicklaus Wirth em 1968 na Suíça – Destina-se principalmente à programação científica – Idealizada por meio do ALGOL e com fins educacionais, inspirou as linguagens Modula-2 e Ada

14 Linguagens procedurais A linguagem Fortran – Desenvolvida por Backus, em 1958 para cálculos matemáticos – O FORTRAN ou Formula Translation manipulava inicialmente matrizes – Fortran66 – Orientada a objeto nos dias atuais

15 A linguagem Ada: – Desenvolvida em 1978 para o Departamento de Defesa dos Estados Unidos – Possui conceitos de reusabilidade, portabilidade, modulariedade e confiabilidade. Suporte a programação em tempo real. A linguagem Modula-2 – Desenvolvida por Niklaus Wirt no final de 1970 A linguagem Modula-3 – Desenvolvida pela Olivetti/Digital

16 Algoritmos Representação de Algoritmos: Pseudo-Linguagem – Algoritmos podem ser representados de duas maneiras: a) uma mais próxima (entendida) pelas pessoas b) uma entendida pelo computador – Uma pseudo-linguagem possui as seguintes caracteristicas: utilização de certas palavras-chave, que indicam a natureza da operação a ser efetuada em certos passos do algoritmo utilização de espaços no começo das linhas do algoritmo para ressaltar a estrutura do algoritmo numeração dos passos do algoritmo utilização ponto-e-vírgula (;) para separar os passos consecutivos do algoritmo

17 Algoritmo Exemplo: algoritmo para somar dois números. – Algoritmo 1 - pegar o primeiro número; 2 - pegar o segundo número; 3 - somar o primeiro número com o segundo; 4 - mostrar o resultado da soma; – Fim-algoritmo.

18 Pascal – Estrutura Principal Estrutura principal – A estrutura principal de um programa em pascal se apresenta da seguinte forma: program cabeçalho; declarações begin Comandos end.

19 Exemplo program exe1; var a, b : real; k : char; begin a := 3.2; b := 5.81; k := ´*´; writeln('resultado: ', a:5, ' + ', b:5, ' = ', a+b:5, k); writeln('resultado: ',a:5:1, ' + ', b:5:1, ' = ', a+b:5:1, k:1); end. Resultados: resultado: 3.2e e+00 = 9.0e+00 resultado: = 9.0

20 Procedimentos e Funções procedure nome; declaração dos objetos locais à procedure BEGIN comandos da procedure END; function nome: t declararação dos objetos locais à function BEGIN comandos da function. nome := X; END;

21 Procedimentos program procedimentos; var { declaração das variáveis do programa principal } procedure entrada_de_dados; var { declaração das variáveis do procedimento entrad_de_dados } begin { comandos do procedimento entrada_de_dados } end; procedure processa_dados; var { declaração das variáveis do procedimento processa_dados } begin { comandos do procedimento processa_dados } end; procedure imprime_resultados; var { declaração das variáveis do procedimento imprime_resultados } begin { comandos do procedimento imprime_resultados } end; begin { corpo programa principal } entrada_de_dados; processa_dados; imprime_resultados; end.

22 Função program exemplo_function; { program que calcula o fatorial de N com a utilização de uma função } var N : integer; function fatorial : integer; var i, acumul : integer; begin acumul := 1; i := 1; while (i <= N) do begin acumul := acumul * i; i := i + 1; end; fatorial := acumul; end; begin write('Digite o valor de N: '); readln(N); writeln('O valor do Fatorial de ',N, ' é = ', fatorial); end.

23 Exemplo em Pascal program somadoisnum; { esse programa soma dois números e exibe o resultado na tela } var n1, n2, result : integer; begin readln(n1); readln(n2); result := n1 + n2; writeln(result); end.

24 Exemplo em C #include int main () { int x; int y; int t; x=5; y=4; t=x+y; printf("Soma=%d\n, t); exit(0); }

25 Fatorial com C #include int fat(int n) { //inicio da funcao fatorial int n, i, fatorial; i = 1; fatorial = 1; while (i <= n) { fatorial = fatorial * i; i++; /* equivalente a: i = i + 1 */ } return fatorial; } //fim da funcao fatorial int main() { //programa principal int n, i, fatorial; printf("Entre o valor de n (0 <= n < 13): "); scanf("%d", &n); fatorial = fat(n); // chama função fatorial printf("%d! = %d\n", n, fatorial); return 0; }

26 Linguagens funcionais Um estilo diferente de programar Avaliação de expressões que procuram combinar valores básicos e não simplesmente executar comandos básicos como as linguagens estruturadas As mais conhecidas são: – Prolog – Lisp – Scheme – NESL, – Erlang

27 Linguagens funcionais Linguagem Prolog – criada em 1973 – na Universidade Marseille – por Alan Colmerauer – devido a necessidade de traduzir as linguagens naturais – Ligada à lógica matemática – Existem várias versões do Prolog para utilização com compiladores e interpretadores nas mais diversas plataformas

28 Exemplo de programa Prolog irmão(X,Y) :- mae(Z,X), mae(Z,Y). irmão(X,Y) :- pai(Z,X), pai(Z,Y). mãe(maria, felipe). pai(joão, antonio). pai(joão, guilherme). pai(miguel, joão). ? irmão(antonio,guilherme) ? irmão(joão,guilherme)

29 Exemplo: Números de Fibonacci Os números de Fibonacci são uma sequência definida recursivamente por: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, …

30 Números de Fibonacci em Prolog Fib(0,0). Fib(0,1). Fib(n,F1+F2):-Fib(n-1,F1), Fib(n-2,F2). ? Fib(10, F). F = 55.

31 Linguagens funcionais(3) Linguagem LISP (LISt Processor) – baseia-se em estudos de Inteligência Artificial – na década de 80, o LISP começou a ser utilizado em diversos dialetos, surgindo então o Common Lisp que integrou todas as características positivas – Com o tempo foram adicionadas mais funções ao Common Lisp, dando origem ao CLOS(Common Lisp Object System), orientado a objetos

32 Linguagens Procedurais vs. Linguagens Funcionais Nas linguagens procedurais, a programação é baseada na execução sequencial de comandos. – Variáveis são definidas. – Comandos alteram o valor das variáveis. – Repetição é realizada através de comandos explícitos (for, while). Nas linguagens funcionais, a programação é feita somente através da definição de funções. – Funções podem receber outras funções como parâmetro. – A repetição é feita através da recursão: uma função chama a si mesma.

33 Linguagens Orientadas a Objetos Surgiram devido as novas técnicas da Engenharia de Software A visão de programação estruturada ou Top- Down (de cima para baixo), passou a ser Bottom-Up (de baixo para cima) As primeiras linguagens orientadas a objetos surgiram no fim da década de 1960, o Simula e o Smaltalk

34 Linguagens Orientadas a Objetos Linguagem Simula inspirada no ALGOL (ALGOritmic Language), usada na década de 1960 nas universidades desenvolvido no Centro Norueguês de computação de Oslo inserido conceitos de classe, co-rotina, variável de referência programações de simulações tipos abstratos de dados

35 Linguagens Orientadas a Objetos Linguagem C++ – Uma extensão da linguagem C – Idealizada por Stroustrup em, 1986 nos laboratórios da AT&T – Suporte para a criação e uso de: Tipos abstratos de dados, Classes Virtuais, Facilidade para a programação de baixo nível

36 Linguagem Java – Implementada pela Sun Microsystems, em 1990 – Princípio fundamental, a portabilidade – Geração de código intermediários, os byte-codes – Uma variante da linguagem é o Java Script, programas incluídos nos textos das páginas HTML que não são compilados, são apenas interpretados pelos browsers

37 Linguagens Orientadas a Objetos

38

39 Processo de Execução de um Programa Programa inicial (alto nível) Programa Compilador Código Objeto (Linguagem de máquina) Open file_entrada Read A,B,C While not eof(file_entrada) do K=A+B-C point A,B,C,X read A,B,C End while Close file_entrada Compilação

40 Fluxograma do processo de execução de um programa Programa fonte Código Objeto Código Executável Compilação Ligação Execução Compilador Ligador Carregador

41 Compilação X Interpretação Compilação – Conversão de um programa escrito em linguagem de alto nível para linguagem de máquina – Processo de análise de um programa e sua conversão em linguagem binária (código objeto). – Analise comando por comando do código fonte e não ocorrendo erros geração do código objeto.

42 Compilação X Interpretação Interpretação – Realização das trÊs fases(compilação, ligação e execução), comando a comando, do programa fonte. – Cada comando é lido, convertido em código executável e imediatamente executado, antes que o comando seguinte seja lido.

43 Compilação X Interpretação Vantagens: – Interpretação-> identificar e indicar um erro no programa em qualquer etapa. – Compilação -> baixo consumo de memória Desvantagens: – Interpretação-> consumo de memória, execução de loops – Compilação -> dificil detecção de erros.

44 Linguagens Específicas Linguagens para Banco de Dados – Linguagem Clipper – 1980 e 1990 – SQL (Structured Query Language) Linguagens de Simulação – MATLAB – destinada a cursos de teoria matricial, álgebra linear e análise numérica surgiu nas universidades de Stanford e Novo México no final da década de 1970

45 Linguagens Específicas Linguagens de Script – Perl – otimizada para a leitura de arquivos textos – TCL/TK (Tool Command Language/Tool Kit) – 1990 na Universidade da Califórnia, por John Ousterhout – Usada para desenvolver interfaces gráficas nas aplicações – Pode ser utilizada com outras linguagens como C e possui características das linguagens procedurais clássicas (variáveis, chamadas de procedimentos e estruturas de controle)

46 Linguagens Específicas Linguagens de Formatação de Texto – HTML – PostScript – a Adobe, em 1985, para a otimização de impressão de gráficos e textos – PDF (Portable Data Format) – com a evolução do PostScript

47 Linguagens de quarta geração ou visuais Com a chegada do sistema operacional Windows a utilização do computador atingiu um número maior de pessoas Os sistemas passaram a ter ferramentas de suporte mais simples, a qualidade teve um salto considerável

48 Linguagens de quarta geração ou visuais Linguagens como: – Visual Basic – desenvolvido pela Microsoft – Simulink – utilizado na simulação de sistemas dinâmicos – Delphi – criada pela Borland, que desenvolveu o C++ Builder. Utiliza a linguagem Object Pascal da Borland, originada do Turbo Pascal.


Carregar ppt "Introdução a Informática Linguagens de Programação Prof: Diego Brandão."

Apresentações semelhantes


Anúncios Google