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

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

Linguagem de Programação II Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação II1 de 36.

Apresentações semelhantes


Apresentação em tema: "Linguagem de Programação II Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação II1 de 36."— Transcrição da apresentação:

1 Linguagem de Programação II Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação II1 de 36

2 Roteiro da apresentação O que é uma Linguagem de programação Origem das Linguagens Tipos de Linguagens Classes das Linguagens de Programação Tipos de variáveis Operadores Tabela verdade Referências Linguagem de Programação II2 de 36

3 Uma ferramenta para instruir máquinas Um meio de comunicação entre programadores. Um veículo para expressar projetos e sistemas de alto nível. O que é Linguagem de Programação? Linguagem de Programação II3 de 36

4 Como elas funcionam? 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. O conjunto de palavras (tokens) constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Uma linguagem de programação pode ser traduzida ou convertida, em código de máquina por compilação ou interpretação Linguagem de Programação II4 de 36

5 Compilação Programa Fonte Interpretação Programa Executável Compilamos Linkedição Programa Executável Interpretador Léxica sintática e semântica Código intermediário Código executável Programa OBJ Programa Fonte Linguagem de Programação II5 de 36

6 Compilação Linguagem de Programação II6 de 36

7 Interpretação Linguagem de Programação II7 de 36

8 Sistemas de implementação híbridos Linguagem de Programação II8 de 36

9 Análise Léxica Análise Sintática Análise Semântica O que acontece durante a compilação e a interpretação Linguagem de Programação I9 de 36

10 Análises Léxico ◦Significado  ex O computador está em cima da meza.  ok O computador está em cima da mesa. Sintático ◦Estrutura  ex O esta computador em cima da mesa.  ok O computador esta em cima da mesa. Semântico ◦Sentido  ex O computador esta em cima do prato de comida. Linguagem de Programação II10 de 36

11 Primeira linguagem de programação Plankalkül, criada por Konrad Zuse na Alemanha Nazista em 1945. Linguagem de programação de alto nível Fortran criada em 1954* 1958* IBM. Em 1957 foi criada B-0, que daria origem a Flow- Matic (1958), antecessor imediato de COBOL, de 1959. Lisp e ALGOL foram criadas em 1960. Origem das Linguagens de Programação Linguagem de Programação II11 de 36

12 Algumas Linguagens de Programação Linguagens históricas (2GL, 3GL) Ada ALGOL Assembly AWK B BASIC BCPL COBOL CPL Forth Fortran Lisp Logo PL/I Smalltalk Linguagens acadêmicas Icon Pascal Prolog Haskell Lisp Logo Lua OCaml Scheme Tcl Unicon Linguagens proprietárias ABAP AWK C# Cω COBOL ColdFusion Delphi Eiffel Logic Basic PL/SQL PowerShell SQL Visual Basic Linguagens não-proprietárias Ada Assembly C C++ Euphoria Groovy Icon Lisp Logo Pascal PHP Scheme Smalltalk Tcl Unicon Linguagens livres Boo D Erlang Haskell Java JavaScript Limbo Lua Perl Python R Ruby Linguagens esotéricas Befunge brainfuck Braintwist FALSE INTERCAL Malbolge PATH Pbrain SNUSP Unlambda Whitespace Linguagem de Programação II12 de 36

13 O Ciclo de Vida de um Sistema Especificação de requisitos. Projeto global Codificação Validação Utilização e evolução Nesta fase se procura definir com clareza qual é o problema considerado. Nesta fase se procura definir em linhas gerais como deverá ser o software. A linguagem de programação a ser usada é escolhida nesta fase. Nesta fase o software é efetivamente escrito. Nesta fase o software é testado. Nesta fase o software preenche seus objetivos. Se erros são descobertos são corrigidos. Linguagem de Programação II13 de 36

14 Domínios da Programação Aplicações científicas Aplicações comerciais Inteligência Artificial Programação de sistemas Linguagens de scripting Linguagens de propósito especial Linguagem de Programação II14 de 36

15 Classes das Linguagens de Programação Linguagem de Máquina Linguagem de Baixo Nível Linguagem de Alto Nível Código Binário. Usada diretamente pela máquina. Código Binário  Mneumônicos. Montador. Mais próxima do homem. Portável. Tradutor. Linguagem de Programação II15 de 36

16 Classes das Linguagens de Programação Linguagem de Máquina Linguagem de Baixo Nível Linguagem de Alto Nível Código Binário. Usada diretamente pela máquina. Código Binário  Mneumônicos. Montador. Mais próxima do homem. Portável. Tradutor. Linguagem de Programação I 15 de 36

17 Gerações das Linguagens de Programação Fortran, Cobol, Basic Algol-60, PL-I Pascal, C Ada, CLU, Modula-2 Lisp, Prolog, SmallTalk 1 a geração2 a geração3 a geração4 a geração5 a geração Estrutura Linear, Orientada à Máquina Aperfeiçoamentos das linguagens da 1 a geração. Blocos Ênfase na Simplicidade e eficiência Consolidação do paradigma imperativo Outros paradigmas, Funcional, Lógico, OO Linguagem de Programação II16 de 36

18 Gerações das Linguagens de Programação Fortran, Cobol, Basic Algol-60, PL-I Pascal, C Ada, CLU, Modula-2 Lisp, Prolog, SmallTalk 1 a geração2 a geração3 a geração4 a geração5 a geração Estrutura Linear, Orientada à Máquina Aperfeiçoamentos das linguagens da 1 a geração. Blocos Ênfase na Simplicidade e eficiência Consolidação do paradigma imperativo Outros paradigmas, Funcional, Lógico, OO Linguagem de Programação I 16 de 36

19 Métodos de Implementação  Compilação vs. Interpretação  Compilação pode ser mais eficiente que a interpretação  Ex. funções: funções são examinadas repetidamente por um interpretador; um compilador traduz o código fonte de uma vez para sempre.  Interpretadores precisam mais espaço porque a tabela de símbolos fica na memória durante a interpretação. Linguagem de Programação II17 de 36

20 Métodos de Implementação  Compilação vs. Interpretação  Compilação pode ser mais eficiente que a interpretação  Ex. funções: funções são examinadas repetidamente por um interpretador; um compilador traduz o código fonte de uma vez para sempre.  Interpretadores precisam mais espaço porque a tabela de símbolos fica na memória durante a interpretação. Linguagem de Programação I 17 de 36

21 Descrições Formais da Sintaxe Uma linguagem L é um conjunto de sentenças sobre alfabetos Uma sentença é uma string de caracteres de um alfabeto Uma string é uma seqüência de caracteres. Metalinguagem é uma linguagem usada para descrever outra linguagem. Um alfabeto é um conjunto finito de símbolos. Ex: a, b, =, +,... Linguagem de Programação II18 de 36

22 Tipos de variáveis byte (0 a 255) valores possíveis: 0, 1, 2,.., 254, 255 integer, int (inteiros positivos e negativos) valores possíveis: 1, 2, 99, 50, 1000 decimal, double, float (números com casas decimais, positivos e negativos) valores possíveis: -235, -1, 0, 1, 25459, -23.24, 3.14 char (1 caracter de 16 bits usado para armazenar letras valores possíveis: a, v, c, e string, text (usado para armazer palavras) valores possíveis: João, comida, nome..........:, idade?, teste date, datetime (usado para armazenar datas e horas) valores possíveis: 2009-02-28, 2009-02-28 20:15:42 Linguagem de Programação II19 de 36

23 bool (usado para testes lógicos) valores possíveis: TRUE, FALSE array, hash (usado para armazenar estruturas de dados) Valores possíveis: ‘laranja’, ‘maçã’, ‘banana’ 'macacosestrela' => ‘aqueles homens de pavio curto’, 'catapulta' => ‘de madeira amarela’, 'bomba' => ‘de gás’, ‘idade' => ‘Lavagem a Seco’, 'Ponha um fim nisso' => ‘fim’ Tipos de variáveis Linguagem de Programação II20 de 36

24 Operadores aritméticos Operador Descrição + (Adição) - (Subtração) * (Multiplicação) / (Divisão) % (Resto/Módulo) Linguagem de Programação II21 de 36

25 Operadores de atribuição Operador Descrição = (Atribuição simples) += (Atribuição aditiva) -= (Atribuição Subtrativa) *= (Atribuição Multiplicativa) /= (Atribuição de divisão) %= (Atribuição de módulo) Linguagem de Programação II22 de 36

26 Operadores relacionais Operador Descrição == (Igualdade) > (Maior) < (Menor) <= (Menor igual) >= (Maior igual) != (Diferente) Linguagem de Programação II23 de 36

27 1 bit = armazena 0 ou 1 8 bits formam 1 Byte 1024 Bytes = 1KB 1024 KB = 1MB 1024MB = 1GB 1GB=1024MB=1024*1024KB Conceito Linguagem de Programação Linguagem de Programação II24 de 36

28 ... int soma = 0, diferenca = 0, produto = 0, resto = 0; double divisao = 0; // resultado da divisão int num1 = 10, num2 = 2; soma = num1 + num2; diferenca = num1 - num2; produto = num1 * num2; divisao = num1 / num2; // resto de 3/2 resto = 3 % num2; Console.WriteLine("num1 = {0}, num2 = {1}", num1, num2); Console.WriteLine(); Console.WriteLine("Soma de {0} e {1} é {2}", num1, num2, soma); Console.WriteLine("Diferença de {0} e {1} é {2}", num1, num2, diferenca); Console.WriteLine("Produto de {0} e {1} é {2}", num1, num2, produto); Console.WriteLine("Quociente de {0} e {1} é {2}", num1, num2, divisao); Console.WriteLine(); Console.WriteLine("resto de 3 quando é dividido por {0} é {1}", num2, resto); Console.Read();... Trecho de um programa em C# Linguagem de Programação II25 de 36

29 Resultado dos comandos acima Linguagem de Programação II26 de 36

30 Alterando a variável path Acrescentar o caminha na variável path Iniciar\Painel de controle\Sistema\ Avançado Variáveis de ambiente Clicar em path e em Valor da Variável adicionar o caminho desejado ok Linguagem de Programação II27 de 36

31 Exemplos int num1 = 2, num2 = 5; Então, num1 == num2 // falso num1 != num2 // verdadeiro num1 > num2 // falso num1 < num2 // verdadeiro num1 <= num2 // verdadeiro num1 >= num2 // falso Linguagem de Programação II28 de 36

32 Operadores lógicos Operador Descrição && (E) || (OU) int num1 = 1, num2 = 3; bool PrimeiroTeste; PrimeiroTeste = num1 > 3 && num2 < 10 Linguagem de Programação II29 de 36

33 Tabela Verdade ABA && B FFF VFF FVF VVV ABA ou B VVV VFV FVV FFF AB A→BA→B VVV VFF FVV FFV Linguagem de Programação II30 de 36

34 Estruturas de decisão if... else; switch.. case. a=5; If ( a == 5 ) System.Console.WriteLine("a é igual a 5"); else System.Console.WriteLine("a é diferente de 5"); Retorna a é igual a 5 Linguagem de Programação II31 de 36

35 if ( a== 1) { System.Console.WriteLine("a é igual a 1"); } else if ( a ==2 ) { System.Console.WriteLine(“a é igual a 2"); }else if( a ==5 ) { System.Console.WriteLine(“a é igual a 5"); } else { System.Console.WriteLine("Faz algo caso nenhuma condição seja atendida"); } Estruturas de decisão Linguagem de Programação II32 de 36

36 Precedência de Operador int X = 25 – 7 * 2; A expressão acima tem duas respostas(sem levar em conta a precedência) 25 - 7 = 18, 18 * 2 = 36, x = 36. Ou, 7*2 = 14, 25-14 = 11, x = 11. ?? Neste caso a segunda, x = 11, o operador de multiplicação ‘*’ tem precedência sobre o operador de subtração ‘-’. Mas e se eu quisesse que a subtração fosse feita primeiro? int X = (25 – 7) * 2; Linguagem de Programação II33 de 36

37 Incremento e Decremento Incrementar um número ou variável significa adicionar 1 ao valor atual, da mesma forma que subtrair 1 de um número ou variável significa Decremento. Em C# temos o seguinte: Operador Descrição ++ (Incremento) -- (Decremento) Exemplo: int X = 1; X++; // X vale 2 X--; // X vale 1 Linguagem de Programação II34 de 36

38 Vetor using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { string[] carros; carros = new string[3]; carros[0] = "Palio"; carros[1] = "Corsa"; carros[2] = "Gol"; for (int i = 0; i < 3; i++) { Console.WriteLine(carros[i].ToString()); } Console.Read(); } Linguagem de Programação II35 de 36

39 Tipos de dados em C# http://www.juliobattisti.com.br/tutoriais/herbertgois/programandocsharp005.asp http://msdn.microsoft.com/pt-br/library/ms228360(VS.80).aspx Operadores em C# http://msdn.microsoft.com/pt-br/library/6a71f45d.aspx http://www.linhadecodigo.com.br/Artigo.aspx?id=1007Referências Linguagem de Programação II36 de 36


Carregar ppt "Linguagem de Programação II Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação II1 de 36."

Apresentações semelhantes


Anúncios Google