Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Prof.: Morgana Silva LINGUAGENS DE PROGRAMAÇÃO Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. O propósito básico das linguagens de programação é gerar instruções para o computador executar o processamento propriamente dito. Existe a necessidade de facilitar a comunicação entre o homem e a máquina visto que os computadores operam num nível atômico) em linguagem de máquina (dígitos binários, registradores, posições de memória, endereço etc.), enquanto as pessoas preferem expressar-se usando linguagens naturais, mais próximas da nossa. LINGUAGENS DE PROGRAMAÇÃO - Através das linguagens de programação, consegue-se : Facilidades para se escrever programas; Diminuição do problema de diferenças entre máquina; Facilidade de depuração e manutenção de programas; Melhoria da interface homem/máquina; Redução no custo e tempo necessário para o desenvolvimento de programas; Aumento da compatibilidade e modularidade; Classificação das linguagem de programação: 1. Por níveis; 2. Por geração; 3. Por Áreas de Aplicação; Linguagem de programação: nível As linguagens de baixo nível Restritas a linguagem de máquina Forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. Representadas pelo Assembler e o Código Máquina e com a característica de serem dependentes do computador onde trabalham porque os programas criados por estas linguagens não podem transitar para outro computador. As linguagens de alto nível Aproximam-se das linguagens utilizadas por humanos para expressar problemas e algoritmos Cada declaração numa linguagem de alto nível equivale a várias declarações numa linguagem de baixo nível. Representadas pelo FORTRAN, PASCAL e SIMULA, aqui as linguagens são independentes dos computadores podendo ser lidos em qualquer um onde tem um papel determinante o cálculo numérico Linguagens de Programação: geração Agrupadas em 4 gerações: 1° geração: Linguagem binária, linguagens máquina e Assembler. 2° geração: grande quantidade de bibliotecas de software, sistemas de execução em tempo real e desenvolvimento de gerenciadores de base de dados. COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL 58/60/68/W, estas linguagens utilizam compiladores para traduzir ou compilar para linguagem binária. 3° geração: capacidade procedural e estrutural PL/1, PASCAL, FORTRAN 8X, APL, C, SIMULA, BLISS, linguagens para procedimentos. 4° geração: sistemas especialistas, desenvolvimento de inteligência artificial execução dos programas em paralelo. ADA, linguagem que produz programas noutras linguagens (Gerador de programas); SQL, QBE, utilizadas para bases de dados. 5ª Geração LISP, PROLOG, linguagens para especificar problemas. Linguagem de programação: Área de aplicação Cientificas ALGOL, BASIC, FORTRAN Comerciais COBOL Processamento de Listas LISP Gerais ALGOL 68, PASCAL, SIMULA 67 Inteligência Artificial PROLOG Ciências Sociais SPSS Planeamento de espaços PROLOG Programação de sistemas C Linguagem de Máquina; Linguagem Hexadecimal; Linguagem Assembly; Os computadores não entendem nada Somente sabem diferenciar entre dois estados distintos: ligado ou desligado As ideias e as conclusões vêm das pessoas O termo usado para descrever os sinais com os quais o computador trabalha é dado. Para o computador, tudo são números: Números são números Letras são números Sinais de pontuação são números Instruções são números Código binário: Um computador só pode identificar a informação através de sua capacidade de distinguir entre dois estados; Algo está imantado num sentido ou está imantado no sentido oposto. A uma dessas opções o computador associa o valor 1, e a outra o valor 0. Por meio da combinação de bits, pode-se chegar a representações variadas Codificação - Bases mais usadas em Informática • Base 10 – Sistema Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • Base 2 – Sistema Binário: 0, 1 • Base 8 – Sistema Octal 0, 1, 2, 3, 4, 5, 6, 7 • Base 16 – Sistema Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Sistema Binário Só existem dois algarismos: 0 e 1 00 01 10 11 1 1 0 0 1 1x20 + 0x21 + 0x22 + 1x23 + 1x24 = 25 Mudanças de Bases: Da base 2 para a base 10 • Multiplicando os algarismos, da direita para a esquerda, pelas sucessivas potências de 2, e somando-se essas parcelas. Mudanças de Bases – Da base 10 para a base 2 •Através de divisões sucessivas por 2, até obter quociente 0, tomando-se os restos da ordem inversa à que tiverem sido obtidos. 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 1 1 0 0 1 Mudanças de Bases: Da base 10 para a base 2 Através de divisões sucessivas por 2, até obter quociente 0, tomando-se os restos da ordem inversa à que tiverem sido obtidos. Mudanças de Bases: Da base 16 para a base 10 Multiplicando-se os algarismos, da direita para a esquerda, pelas sucessivas potências de 16, e somando-se essas parcelas C 2 0 3 3x160 + 0x161 + 2x162 +12x163 = 49667 Mudanças de Bases: Da base 10 para a base 16 Através de divisões sucessivas por 16, até obter quociente 0, tomando-se os restos da ordem inversa à que tiverem sido obtidos. C203 49667 16 16 16 16 2 3 3194 194 120 12 Mudanças de Bases: Da base 10 para a base 8 • Utiliza-se divisão sucessiva para encontrar o valor octal a partir o número decimal. • Ex.: Dividimos sucessivamente o número 1985 até encontrarmos restos que sejam menores ou iguais a oito. Resultado: 1985 = 3701 em octal 1985 | 8 1 248 | 8 0 31 | 8 7 3 8 03 Mudanças de Bases: Da base 8 para a base 10 • Existem vários métodos, sendo mais comumente utilizado o método em que se faz a conversão de forma direta através da fórmula. • Exemplo: Converter o número octal 764 para o sistema decimal 764 (8) = 7 x 8² + 6 x 8¹ + 4 x 8° = 448 + 48 + 4 = 500 (10) Exercícios: a) 329 b) 284 c) 473 d) 69 e) 135 f) 215 g) 581 h) 197 i) 417 j) 113 k) 819 l) 77 m) 251 n) 769 o) 180 p) 27 1) Converter os seguintes valores decimais em valores binários equivalentes (conversão de base 10 para base 2) 2) Converter os seguintes valores binários em valores decimais equivalentes (conversão de base 2 para base 10) a) 11011101010 b) 11001101101 c) 10000001111 d) 11101100010 e) 111001101001 f) 111111000011 g) 101100011000 h) 100000000110 i) 1100011 j) 10101111101 k) 11000011001 l) 101101 m) 1000000011 n) 111100011110110 o) 1100100001 p) 1101110 Exercícios: a) 177 b) 254 c) 112 d) 719 e) 343 f) 27 g) 821 h) 197 i) 917 j) 779 k) 610 l) 593 m) 325 n) 216 o) 413 p) 521 3) Converter os seguintes valores decimais em valores octais equivalentes (Conversão de base 10 para base 8) 4) Converter os seguintes valores octais em valores decimais equivalentes (conversão de base 8 para base 10) a) 405 b) 477 c) 237 d) 46 e) 705 f) 173 g) 201 h) 452 i) 2136 j) 1741 k) 613 l) 546 m) 120 n) 317 o) 720 p) 665 Exercícios: a) 447 b) 544 c) 223 d) 71 e) 622 f) 97 g) 121 h) 297 i) 2173 j) 1325 k) 743 l) 212 m) 681 n) 937 o) 1480 p) 1671 5) Converter os valores decimais abaixo em valores hexadecimais equivalentes (conversão de base 10 para base 16) 6) Converter os seguintes valores hexadecimais abaixo em valores decimais equivalentes (conversão de base 16 para base 10) a) 3A2 b) 33B c) 621 d) 99 e) 1ED4 f) 7EF g) 22C h) 110A i) 21A7 j) 1BC9 k) 27D l) E5F m) 2351 n) 19AE o) ACEF p) 214B Código ASCII ASCII: American Standard Code for Information Interchange (Código Padrão Americano para o Intercâmbio de Informação) Padronização de um código alfanumérico para E/S dados em computadores Formado por 7 bits da seguinte forma: X6X5X4X3X2X1X0 Onde cada X pode ser 0 ou 1 1 BYTE = 8 BIT Tabela ASCII X6X5X4 X3X2X1X0 010 011 100 101 110 111 0000 SP 0 @ P p 0001 ! 1 A Q a q 0010 " 2 B R b r 0011 # 3 C S c s 0100 $ 4 D T d t 0101 % 5 E U e u 0110 & 6 F V f v 0111 ` 7 G W g w 1000 ( 8 H X h x 1001 ) 9 I Y i y 1010 * : J Z j z 1011 + ; K k 1100 , < L l 1101 - = M m 1110 . > N n 1111 / ? O o Assembly Assembly é uma linguagem de baixo nível, chamada frequentemente de “linguagem de montagem” É uma linguagem considerada difícil, principalmente porque o programador precisa conhecer a estrutura da máquina para usá-la Assembly A linguagem Assembly é atrelada à arquitetura de uma certa CPU, ou seja, ela depende completamente do hardware Cada família de processador tem sua própria linguagem assembly (Ex. X86, ARM, SPARC, MIPS) Por essa razão Assembly não é uma linguagem portável, ao contrário da maioria das linguagens de alto nível Evolução das Linguagens de Programação De Alto Nível Evolução das Linguagens de Programação 1954 Criação do FORTRAN por John Backus, sendo considerada a primeira linguagem de alto nível. John Backus 1957 Surge o FORTRAN I com aplicações para computação científica. 1958 Criado o ALGOL 58 com o objectivo de facilitar a descrição de algoritmos; Desenvolvido o FORTRAN II que corrigiu diversos erros do FORTRAN I; Surgiu o FORTRAN III que nunca chegou a ter grande distribuição. 1959 John McCarthy concebe o LISP que é a primeira linguagem funcional e que só trabalhava com dois tipos de dados: átomos e listas (listas simples e listas aninhadas. 1960 Ano da criação do FORTRAN IV, sendo considerado como norma nas aplicações de cálculo cientifico; Desenvolvimento do COBOL que veio permitir tratar grandes quantidades de informação comercial; Numa reunião que durou 6 dias em Paris surgiu o ALGOL 60 melhorando o ALGOL 58 e foi linguagem padrão dos algoritmos nos próximos vinte anos e sendo a primeira linguagem independente do computador. 1962 Kenneth Iverson é quem cria o APL. 1964 Surgimento do BASIC, feito por John Kemeny e Thomas Kurtz com a particularidade do acesso livre e da fácil aprendizagem por parte dos estudantes das áreas não científicas. 1965 A IBM e a SHARE concebem o PL/I juntando o que havia de melhor nas linguagens existentes. 1967 Ano de criação do SIMULA 67 por Dahl e Nygaard que foi desenvolvido com base no ALGOL 60. 1968 Surge o ALGOL 68, continuação do desenvolvimento do ALGOL 60. 1971 Niklaus Wirth cria o PASCAL tendo como característica a necessidade de as variáveis serem declaradas no inicio dos programas, linguagem utilizada no ensino de programação estruturada. 1972 Alan Kay é quem concebe o SMALLTALK no XEROX Park, primeira linguagem a utilizar interface gráfica; Na Universidade de Marselha cria-se o PROLOG, linguagem aplicada em gerência de bases de dados; Nos laboratórios Bell, Dennis Ritchie cria o C, que tinha como objectivo formar o sistema operativo UNIX, linguagem pequena, flexível e capaz de criar código eficiente. Dennis Ritchie 1975 Criado o ADA, desenvolvida para o Departamento de Defesa dos EUA, criada em homenagem a Ada Augusta Byron (ajudante e patrocinadora de Charles Babbage), linguagem para programas complexos e grandes. 1978 Ano de criação do FORTRAN 77 onde surge a instrução IF-THEN-ELSE ao contrário das versões anteriores onde se utilizava o GO TO; E.F. Codd, da IBM, cria a linguagem SQL, linguagem direccionada para base de dados. 1985 Criado o C++ por Bjarne Stroustrup com o intuito de melhorar a linguagem C, tendo como uma das vantagens poder programar em baixo e alto nível, softwares como o Emule, Microsoft Office ou o Internet Explorer foram criados em linguagem C++; Surge a linguagem EIFFEL, por Bertrand Meyer da ISE, linguagem que não é casesensitive, o que facilita a escrita. 1987 Criado o PERL por Larry Wall, linguagem que possibilita a sua utilização em vários sistemas operativos e usado na maioria para criar aplicações Web. 1990 Criação do FORTRAN 90 que ganhou recursos; Em homenagem a Haskell Curry é criada a linguagem HASKELL, linguagem essencialmente funcional. 1991 Lançada uma linguagem de alto nível, a PYTHON por Guido van Rossum e com uma sintaxe esclarecedora devido ao poder da biblioteca padrão que possui; A Sun Microsystems através de James Gosling criou a linguagem JAVA, linguagem orientada a objetos. 1993 Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram a linguagem LUA, linguagem imperativa, de procedimentos e de abstracção de dados. 1995 A Sun cria o JAVASCRIPT com base no C++ sendo um pouco mais simples; Rasmus Lerdof cria a linguagem PHP, com a característica de ter portabilidade; Surge a linguagem RUBY, por Yukihiro Matsumoto sendo esta uma linguagem orientada a objetos; Criada a linguagem DELPHI pela Borland Software Corporation, linguagem orientada a objetos e eventos. 2000 Criada a linguagem C# por Anders Hejlsberg e sua equipa e é usada como parte da plataforma .NET. Exemplos de Linguagem de alto nível Exemplo: “Olá mundo”: Linguagem C: #include <iostream> using namespace std; int main() { cout << “Olá mundo!" << endl; return 0; } Fortran Exemplo: PASCAL Exemplo: Pascal Comparação de LP Linguagem de programação LINGUAGENS DE PROGRAMAÇÃO �LINGUAGENS DE PROGRAMAÇÃO� Classificação das linguagem de programação: Linguagem de programação: nível Número do slide 6 �Linguagens de Programação: geração� Número do slide 8 Linguagem de programação: Área de aplicação Linguagens de baixo nível: Número do slide 11 Código binário: Codificação - Bases mais usadas em Informática Número do slide 14 Sistema Binário Mudanças de Bases: �Da base 2 para a base 10 Mudanças de Bases:�Da base 10 para a base 2 Mudanças de Bases:�Da base 16 para a base 10 Mudanças de Bases:�Da base 10 para a base 16� Mudanças de Bases:�Da base 10 para a base 8� Mudanças de Bases:�Da base 8 para a base 10� Exercícios: Exercícios: Exercícios: Código ASCII Tabela ASCII Assembly Assembly Número do slide 29 Evolução das Linguagens de Programação Número do slide 31 Número do slide 32 Número do slide 33 Número do slide 34 Número do slide 35 Número do slide 36 Número do slide 37 Número do slide 38 Número do slide 39 Exemplos de Linguagem de alto nível Exemplo: �PASCAL Exemplo:�Pascal Comparação de LP
Compartilhar