Classificação das linguagens de programação

Documentos relacionados
Linguagens de Programação

Linguagens de Programação Classificação

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Organização e Arquitetura de Computadores I

Arquitetura e Organização de Computadores

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Linguagem C. Eliane Pozzebon

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

3. Linguagem de Programação C

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Compiladores. Introdução à Compiladores

INTRODUÇÃO À LINGUAGEM C

Lição 4 Fundamentos da programação

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Introdução à Programação

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Faculdade de Computação

Sistema Computacional

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Compiladores e Computabilidade

Introdução à Computação

Linguagem C. André Tavares da Silva.

Linguagem C Princípios Básicos (parte 1)

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução à Computação MAC0110

Programação de Computadores:

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Princípios de Desenvolvimento de Algoritmos MAC122

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Linguagem de Programação

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Linguagem de Maquina II. Visão Geral

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Conhecendo a Linguagem de Programação C

Programação Básica. Estrutura de um algoritmo

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

PROGRAMAÇÃO I. Introdução

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

CONJUNTO DE INSTRUÇÕES

Tipos Abstratos de Dados

Programação I A Linguagem C. Prof. Carlos Alberto

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

Introdução à Computação: Máquinas Multiníveis

3. Linguagem de Programação C

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Algoritmos e Programação

Programação: Vetores

Introdução aos Algoritmos

Universidade Veiga de Almeida Algoritmos e Linguagem I

Variáveis, Tipos de Dados e Operadores

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

Introdução a Computação

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

Linguagem C Entrada/Saída (console)

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Algoritmos II Aula 2 Vetores

Representação de Dados (inteiros não negativos)

Aula 03: Introdução a C

Unidade de Controle. UC - Introdução

Transcrição:

Introdução Linguagem É um meio de comunicação entre pessoas. Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar suas ideias e sentimentos. Linguagem de Programação Linguagens de programação são usadas para descrever algoritmos; isto é, sequências de passos que levam à solução de um problema. Uma linguagem de programação precisa suportar a definição de ações e prover meios para especificar operações básicas de computação, além de permitir que os usuários especifiquem como estes passos devem ser sequenciados para resolver um problema. Uma linguagem de programação pode ser considerada como sendo uma notação que pode ser usada para especificar algoritmos com precisão. Classificação das linguagens de programação As linguagens de programação podem ser agrupadas em dois grandes grupos: Linguagens de baixo nível e linguagens de alto nível. As linguagens de baixo nível são restritas a linguagem de máquina e tem uma forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. Elas são assim chamadas porque seu "nível", por assim dizer, está bem mais próximo da linguagem de máquina, que seria o nível mais baixo possível de interação com o computador. As linguagens de alto nível por outro lado, aproximamse 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. No início da computação os programadores eram obrigados a programar usando linguagem de máquina, que nada mais é do que seqüências de dígitos binários (0s e 1s). Por 1

exemplo, a instrução "incremente o valor no acumulador" deveria ser representada como: 10100100. Ou na melhor hipótese, escrito sob a forma de um número hexadecimal A4. É claro que esta representação tinha muitas desvantagens: Há uma grande probabilidade de erro em todos os estágios do processo de programação. A programação mesmo sendo com algoritmos simples resulta em longos programas, o que dificulta o processo de validação e detecção de erros. O cálculo de endereços de memória deve ser feito manualmente, com um árduo trabalho e uma grande probabilidade de erros. Algumas das desvantagens podem ser superadas fazendo com que o computador seja o responsável pelo estágio de tradução. O programa ainda é escrito em termos de operações básicas de máquina, mas a tradução em código binário é feita pelo computador. O programa que faz essa tradução é chamado de assembler. Até mesmo o mais simples dos assemblers modernos podem reconhecer endereçamentos simbólicos e mnemônicos representando operações de máquina. Assim, por exemplo, o programador precisa somente escrever: ADD ival Para especificar uma instrução para adicionar o conteúdo de localização ival para o acumulador. O assembler então faz a tradução para a string equivalente de 0s e 1s. O assembler também trata do problema de cálculo de endereço, usando nomes em formato de texto para endereçar os dados. A consequência desta automação de tradução é que os programas em linguagem Assembly são muito mais fáceis de escrever e depurar que programas em linguagem de máquina. Não confundir: Assembly: Principal linguagem de baixo nível. Representa as instruções simbólicas e mnemônicas, ou seja, é a linguagem. Assembler: É o montador (ou tradutor), cuja função é traduzir a linguagem assembly para códigos binários (linguagem de máquina). Linguagens de Alto Nível Comparadas com Linguagens de Baixo Nível As linguagens de alto nível podem oferecer muito mais vantagens que as linguagens de baixo nível. A principal motivação para o uso de linguagens de alto nível é que os 2

problemas podem ser solucionados muito mais rapidamente e com muito mais facilidade, pois apresenta um considerável número de tipos de dados definidos, além das facilidades da programação estruturada. Os programas em linguagem de alto nível são muito mais fáceis de serem desenvolvidos, entendidos e depurados por diversas razões: Nomes significativos podem ser escolhidos para variáveis e subprogramas. A solução do problema não necessita ser obscurecida pelo nível de detalhes necessários em um programa em linguagem de baixo nível. O programa em linguagem de alto nível é normalmente fácil de seguir e entender cada passo da execução. A utilização de linguagens de baixo nível é indicada para funções que precisam implementar instruções de máquina específicas que não são suportadas por linguagens de alto nível, embora a grande maioria das linguagens de alto nível apresentem uma biblioteca que permite implementar instruções de baixo nível diretamente em seus programas. A grande eficiência e o reduzido tamanho dos programas desenvolvidos em linguagens de baixo nível são as principais vantagens dessas linguagens. Exemplo de programa escrito em linguagem de baixo nível (assembly) para imprimir 15 vezes na tela uma string. - a100 0C1B:0100 jmp 125 ;Salta para o endereço 125h 0C1B:0102 [Enter] - e 102 'Olá, Como vai você?' 0d 0a '$' - a125 0C1B:0125 MOV DX,0102 ;Copia a string para registrador DX 0C1B:0128 MOV CX,000F ;Quantas vezes a string será mostrada 0C1B:012B MOV AH,09 ;Copia o valor 09 para registrador AH 0C1B:012D INT 21 ;Mostra a string 0C1B:012F DEC CX ;Subtrai 1 de CX 0C1B:0130 JCXZ 0134 ;Se CX é igual a 0 salta para o endereço 0134 0C1B:0132 JMP 012D ;Salta ao endereço 012D 0C1B:0134 INT 20 ;Finaliza o programa 3

Exemplo de programa escrito em linguagem de alto nível (Java) para imprimir 15 vezes na tela uma string. public class MostrarString public static void main (String args[]) String minhafrase = "Olá como vai você?"; for (int ncont = 0; ncont < 15; ncont++) System.out.println(minhaFrase); Exemplo de programa escrito em linguagem de alto nível (linguagem C) para imprimir 15 vezes na tela uma string. #include <stdio.h> void main () char minhafrase[20]="olá como vai você?"; int ncont; for (ncont = 0; ncont < 15; ncont++) printf ("%s\n", minhafrase); Variáveis e Escopo Variável: Uma variável representa a unidade básica de armazenamento temporário de dados e é composta por um tipo, um identificador (nome), um tamanho e um valor. O objetivo de uma variável é armazenar um dado de determinado tipo primitivo para que possa ser recuperado e aplicado em operações posteriores. Exemplo: int notaaluno = 8 valor Tipo Nome Tamanho: 4 bytes -32.768 até 32.767 Escopo: O escopo de uma variável é a região do código onde ela é visível, podendo ser referenciada para receber um dado ou para recuperar um valor anteriormente armazenado. O bloco onde a variável é declarada define seu escopo. Ela somente poderá ser referenciada para atribuirlhe algum valor ou para recupera-lo dentro deste bloco. 4

Exemplo: #include <stdio.h> int main(int argc, char *argv[]) char st1[22] = "Existo dentro do main"; //bloco1 char st2[17] = "Existo no bloco1"; //bloco2 char st2[17] = "Existo no bloco2"; //bloco 2.1 char st3[19] = "Existo no bloco2.1"; printf("%s\n", st3); getch(); 5