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

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

Introdução a Informática

Apresentações semelhantes


Apresentação em tema: "Introdução a Informática"— 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: A linguagem Modula-2 A linguagem Modula-3
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
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;
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 comandos da function . nome := X;

21 Procedimentos program procedimentos; var
{ declaração das variáveis do programa principal }  procedure entrada_de_dados; { declaração das variáveis do procedimento entrad_de_dados } begin { comandos do procedimento entrada_de_dados } end;  procedure processa_dados; { declaração das variáveis do procedimento processa_dados } { comandos do procedimento processa_dados }  procedure imprime_resultados; { declaração das variáveis do procedimento imprime_resultados } { comandos do procedimento imprime_resultados }  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 acumul := acumul * i; i := i + 1; end; fatorial := acumul; 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 <stdio.h> 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 <stdio.h>
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 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(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 Linguagens Orientadas a Objetos

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 Compilação Compilador Código Objeto Ligação Ligador Código Executável Execução Carregador

41 Compilação X Interpretaçã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
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"

Apresentações semelhantes


Anúncios Google