CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

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

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

Linguagens de Programação. Marco A L Barbosa

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

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

Capítulo 7. Expressões e Sentenças de Atribuição

Aspectos preliminares

Linguagens de Programação Classificação

Organização de Computadores

Introdução ao Fortran 90

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Classificação das linguagens de programação

Vamos Programar? - Introdução à Programação #3

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

Aula 06 - Máquina Multinível e Von Neumann

Introdução à Programação de Computadores Parte I

1.1 o que é um algoritmo... 6

Introdução a Computação

Legibilidade do código fonte

3. Linguagem de Programação C

Linguagens de Programação Aula 3

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

Tipos Abstratos de Dados. Estrutura de Dados

Paradigmas de Programação

02. [Sebesta, 2000] Qual é o perigo potencial dos nomes que fazem distinção entre maiúsculas e minúsculas?

Organização de Computadores

PROGRAMAÇÃO I. Introdução

Fundamentos de Programação

Algoritmos e Programação

Algoritmos Computacionais

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Conceitos básicos de programação

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I

Introdução e Conceitos

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação

Compiladores. Introdução à Compiladores

Linguagens de Programação Conceitos e Técnicas. Amarrações

AULA 01: APRESENTAÇÃO

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Fundamentos de Algoritmos (5175/31)

Linguagens de Programação I

Aula 4 Objetivos if/else while

Linguagens de Programação

Linguagem de Programação e Compiladores

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

Disciplina de Algoritmos e Programação

Linguagem de Programação C

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

Linguagens de Programação

Introdução à Computação: Arquitetura von Neumann

Análise de Dados em Oc. Física

Algoritmos. Prof. Jonatas Bastos Site:

Sistemas Operacionais. Augusto L. P. Nunes

III.2 - Princípios de Arquitetura

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Disciplina de Introdução à Ciência da Computação Laboratório de ICC (Estatística)

Capítulo 1. Aspectos Preliminares

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

LP II Estrutura de Dados

Introdução a Computação

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

ao paradigma imperativo

Fundamentos de Programação 1

Informática I. Aula 19. Aula 19-31/10/2007 1

Introdução à Programação em C (I)

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução a Programação

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina: Arquitetura de Computadores

Lógica de Programação I

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

Introdução à Programação

C Comandos de Controle

Prof. Leonardo Augusto Casillo

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

Paradigmas de Programação

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Programação: Vetores

EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I

SSC510 Arquitetura de Computadores 1ª AULA

Trabalho Linguagem e Programação de Compiladores

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Introdução ao Python. Programa Computacional

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

Paradigmas de Programação

Fundamentos de Programação

Linguagem de Programação C. Prof. Fabrício Olivetti de França

INTRODUÇÃO À LINGUAGEM C

Estruturas de Controle

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Programação para GI. Subprogramas

Estruturas de Dados. Revisão de Funções e Recursão. Agradecimentos

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Aula 2 - Introdução Cleverton Hentz

Montador (assembler)

Transcrição:

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS CENTRAIS DAS LINGAUAGENS IMPERATIVAS 5. VANTAGENS E DESVANTAGENS 6. LINGUAGENS IMPERATIVAS NÃO ESTRUTURADAS 7. LINGUAGENS IMPERATIVAS ESTRUTURADAS

INTRODUÇÃO Uma linguagem de programação é um método padronizado para comunicar instruções para um computador, respeitando regras semânticas e sintáticas

LINGUAGENS IMPERATIVAS CONCEITO: Programação imperativa é um paradigma de programação que descreve a computação como ações, enunciados ou comandos que mudam o estado(variáveis) de um programa.

LINGUAGENS IMPERATIVAS A figura mostra graficamente a estrutura da Programação Imperativa.

PARADIGMA IMPERATIVO O paradigma imperativo baseia-se no conceito de comandos e atualização de variáveis. Como os programas são escritos para modelar processo se objetos do mundo real e tais objetos frequentemente possuem estados que variam com o tempo.

PARADIGMA IMPERATIVO Os paradigmas imperativos se dividem em: O paradigma procedural: Fortran e o Basic. O paradigma de estrutura de blocos: Algol 60, Pascal e C. O paradigma de orientação a objetos: C++, Java, Python e Ruby. O paradigma da computação distribuída (Várias partes estão compõe o sistema e estão interconectadas por rede): Ada.

ORIGENS As primeiras linguagens de programação imperativas eram linguagens de máquina, com instruções simples mas de construção complexa. FORTRAN (1956) -> variáveis com nome, subprogramas, expressões complexas. ALGOL (1960) -> maior facilidade de expressar algoritmos matemáticos. COBOL (1960) BASIC (1964) -> sintaxe mais próxima do inglês.

MODELO COMPUTACIONAL ARQUITETURA DE VON NEUMANN Se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas.

MODELO COMPUTACIONAL ARQUITETURA DE VON NEUMANN A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma memória; (ii) uma unidade aritmética e lógica (ULA); (iii) uma unidade central de processamento (CPU), composta por diversos registradores; (iv) uma Unidade de Controle (UC), cuja função é buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.

MODELO COMPUTACIONAL ARQUITETURA DE VON NEUMANN

CICLO DE VON NEUMANN

MODELO COMPUTACIONAL CARACTERÍSTICAS CENTRAIS DAS LINGUAGENS IMPERATIVAS As variáveis, que modelam as células de memória; Comandos de atribuição, que são baseados nas operações de transferência dos dados e instruções; A execução sequencial de instruções; E a forma iterativa de repetição, que é o método mais eficiente desta arquitetura.

VANTAGENS E DESVANTAGENS Vantagens Eficiência (embute o modelo de Von Neumann); Mais fácil de traduzir para a linguagem de máquina; Paradigma dominante e bem estabelecido; Modelagem Natural de aplicações do mundo real;

VANTAGENS E DESVANTAGENS Desvantagens Facilita introdução de erros em sua manutenção; Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o comportamento do programa; Focaliza o como e não o quê ; Relacionamento indireto com a E/S (indução a erros/estados);

LINGUAGENS IMPERATIVAS NÃO ESTRUTURADAS São linguagens caracterizadas pela utilização da expressão goto. Necessária para determinar a repetição e a seleção de execução de instruções Uso de goto geralmente leva ao que chamam na literatura de código spaguetti (não segue regras de programação estruturada e abusa de desvios).

LINGUAGENS IMPERATIVAS NÃO ESTRUTURADAS FORTRAN foi uma das primeiras linguagens imperativas de alto nível. As versões originais de FORTRAN possuíam a instrução goto. Assembly e BASIC são outros exemplos de linguagens imperativas que possuem o conceito de goto.

LINGUAGENS IMPERATIVAS NÃO ESTRUTURADAS Exemplo de código com o uso de instrução goto, baseado na sintaxe do C: #include <stdio.h> int main() { int nro; inicio: printf("\ninforme um numero par: "); scanf("%d", &nro); if(nro % 2 == 1) { goto inicio; } else { goto final; } final: printf("\n\n Fim da execução do programa"); return 0; }

LINGUAGENS IMPERATIVAS ESTRUTURADAS Linguagens estruturadas surgiram com o objetivo de facilitar a leitura e acompanhamento da execução de algoritmos. Normalmente linguagens estruturadas não fazem uso de comando goto.

LINGUAGENS IMPERATIVAS ESTRUTURADAS Instruções são agrupadas em blocos, os quais podem ser considerados como unidades de programa, abstraindo-se das suas estruturas internas. Blocos de instruções podem ser selecionados para execução através de declarações de seleção como if...else, ou repetidamente executados através de declarações de repetição como while.

LINGUAGENS IMPERATIVAS ESTRUTURADAS Linguagens estruturadas procedurais permitem a criação de procedimentos (e funções), que são blocos de instruções. Procedimentos criam um nível de abstração, onde não é necessário conhecer todos os passos de execução de um procedimento, apenas qual a sua função e quais os seus pré-requisitos para que execute de acordo com o esperado.

LINGUAGENS IMPERATIVAS ESTRUTURADAS Exemplo de código estruturado, baseado na sintaxe do C: #include <stdio.h> int main (void) { printf( Hello World!\n ); return (0); }

UNIVERSIDADE ESTADUAL DE SANTA CRUZ UESC CLEITON FERNANDO LIMA SENA GRADUANDO EM CIÊNCIA DA COMPUTAÇÃO