Conceitos básicos de programação



Documentos relacionados
Conceitos Básicos de C

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente

Curso Técnico em Redes

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Introdução. Capítulo Breve sinopse

Algoritmos e Programação Estruturada

Algoritmos e Linguagem de Programação I

Dadas a base e a altura de um triangulo, determinar sua área.

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Figura 1 - O computador

Java. Marcio de Carvalho Victorino

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Introdução à Programação

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

PROGRAMAÇÃO JAVA. Parte 1

Orientação a Objetos

Introdução à Linguagem C/C++ Parte I

Introdução a lógica de programação. Aula 02: Linguagens de Programação e Introdução ao Visual C# Express

Introdução à Lógica de Programação

Sobre C. Linguagem de Programação C

Programação de Computadores

Conceitos básicos da linguagem C

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Prof. Luis Nícolas de Amorim Trigo

Introdução aos Computadores

Linguagens de Programação

INTRODUÇÃO À LINGUAGEM C/C++

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

O modelo do computador

Implementando uma Classe e Criando Objetos a partir dela

Geração de código intermediário. Novembro 2006

AMBIENTE DE PROGRAMAÇÃO PYTHON

Introdução às Linguagens de Programação

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Introdução a Informática. Prof.: Roberto Franciscatto

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

ALP Algoritmos e Programação. . Linguagens para Computadores

Convertendo Algoritmos para a Linguagem C

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Componentes da linguagem C++

Criação de Páginas Web - MS Word 2000

Resolução de problemas e desenvolvimento de algoritmos

Programação de Computadores III

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

1.1. Organização de um Sistema Computacional

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

2 Um Primeiro Programa em C

Introdução à Arquitetura de Computadores IFES Campus Serra

Análises Geração RI (representação intermediária) Código Intermediário

ICC Introdução para JavaScript

Linguagem de Programação I. Aula 05 Linguagem C

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Programação Concorrente em java - Exercícios Práticos Abril 2004

UFG - Instituto de Informática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Organização e Arquitetura de Computadores I. de Computadores

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Capítulo 8. Software de Sistema

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

FundamentosemInformática

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Introdução a Linguagem C

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES

O Processo de Programação

5 Apresentando a linguagem C

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

bit Tecnologia ao Serviço do Mundo Rural

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

Linguagem de Programação I

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

Pragmática das Linguagens de Programação 2004/2005

Introdução à Programação

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

e à Linguagem de Programação Python

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

Transcrição:

O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro Utensílios Receita Bolo 1º-Ingredientes 2º- Receita 3º- Utensílios 4º- Cozinheiro 5º- Consumidores do bolo 1

Fazendo o equivalente no caso de um sistema de processamento de dados temos: Ingredientes Receita Utensílios Cozinheiro Consumidores do bolo Dados de entrada Programa Computador Sistema de exploração Utilizadores Tal como numa receita, para escrever um programa necessitamos de uma linguagem e com ela definir precisamente os dados de entrada (ingredientes) e descrever cuidadosamente todas as acções necessárias para processar esses dados em função das necessidades dos utilizadores, definindo também a sequência pela qual devem ser executadas. 2

Podemos então considerar que para desenvolver um programa precisamos definir que dados vão ser processados por esse programa. Os dados são representações em formato digital de informações do mundo real que podem ser simples como um nome ou um salário ou estruturados como uma ficha de aluno contendo vários campos por exemplo: nome, morada, telefone... Por outro lado um programa é constituído também por um conjunto de acções que devem ser executadas sobre os dados obedecendo estas a uma determinada sequência. Um algoritmo define a sequência e o conjunto de acções que devem ser executadas sobre os dados, com o objectivo de gerar o resultado pretendido. PROGRAMA = ESTRUTURAS DE DADOS & ALGORITMO Para ser executado por um computador o programa tem que estar escrito numa linguagem que o computador seja capaz de processar - Linguagem de Programação - 3

Uma Linguagem de Programação é constituída por: o léxico, isto é, os vocábulos que estão disponíveis para escrita dos programas; a sintaxe ou seja, o conjunto de regras definindo como esses vocábulos se devem compôr para formar as frases válidas na linguagem e a semântica que estabelece precisamente o significado das palavras e frases. Exemplos de Linguagem de Programação: 1954-57 FORTRAN John Backus, IBM 58-60 ALGOL 60 Peter Naur 69 Pascal Niklaus Wirth, ETH Zurique 74 Pascal revisto 78 C Denis Ritchie, Bell Lab., ATT 79 Ada Jean Ichbiah 83 Pascal normalização ISO 86 C++ Bjarn Stroustrup, Bell Lab., ATT 88 C normalização ANSI, ISO 2000 C# Anders Heljsberg e Scott Wiltamuth 4

As Linguagem de Programação podem ser classificadas em: Alto nível - cujo vocabulário e construções sintácticas procuram estar próximas da linguagem natural. Baixo nível - cujas instruções são instruções elementares de máquina, que podem aceder componentes do computador, alterando directamente os valores armazenados nos mesmos A linguagem de programação C# pode ser classificada de alto nível pois possui características, vocabulário e construções sintácticas das linguagens de programação de alto nível. A linguagem C# baseia-se na linguagem C++ que por sua vez foi criada a partir da linguagem C. 5

A linguagem C foi criada por Dennis Ritchie, que, em 1972, juntamente com Ken Thompson, fez a primeira implementação de C, utilizando o sistema Operacional Unix. Com a proliferação dos microcomputadores, surgiram várias implementações da linguagem C, até que, em 1988, foi estabelecido o padrão ANSI ( American Nacional Standards Institute ), vigente até hoje. A linguagem C ++ foi descrita por Bjarne Stroustrup, como extensão da linguagem C para incorporar facilidades relativas à programação orientada a objetos e à verificação e conversão de tipos de argumentos de função. A linguagem C ++ Tornou-se disponível de modo geral em 1985. 6

A linguagem C# é uma linguagem de programação que foi criada para programar no ambiente.net da Microsoft e cujo design foi realizado para dar resposta aos aspectos positivos e negativos de outras liguagens como C++ e Java. A linguagem C# facilita a escrita de aplicações para a internet sendo também adequada ao desenvolvimento de aplicações tradicionais. Um programa em C#, é constituído, na sua forma mais simples, por uma função de nome Main. De um modo geral, um programa em C# possui (muitas) outras funções para além da Main, cuja estrutura lhes é, em tudo, semelhante à que se ilustra seguidamente: Cabeçalho class Exemplo Nome da Receita {static voidmain() Zona de comandos Ingredientes Declarações {int x, y; float z; outros comandos x = 5; y = 10; z = (x+y)/2; Acções System.Console.WriteLine ( O resultado é {0}.,z); }} 7

Para que um computador possa executar um programa escrito numa linguagem de programação de alto nível é necessário traduzir os comandos que formam esse programa (programa fonte) para instruções na linguagem máquina. Essa tradução pode ser feita por: por um compilador que é um outro tipo programa que permite traduzir o programa fonte para o formato directamente executável no sistema operativo, armazenando esse resultado (código objecto) num ficheiro. um interpretador, isto é, um programa que traduz para linguagem máquina um comando de cada vez e uma vez traduzido esse comando é executado. O interpretador trata todos os comandos até que o programa termine. A fim de se poder executar um programa escrito numa linguagem compilável devem descrever-se os seguintes passos, partindo do ponto em que o programa estaria já concebido e, por exemplo, escrito em papel acção descrição breve nome do ficheiro produzido? Edição produz um texto numa fonte linguagem como C#? Compilação traduz a fonte para um ficheiro objecto ficheiro objecto (ilegível)? Ligação liga diversos ficheiros executável objecto e produz um ficheiro executável? Execução invocação do programa para execução (usa a versão executável) formato do ficheiro produzido texto puro ou ASCII binário binário 8

O processo que conduz da versão em papel à versão executável, é resumidamente descrito pelo esquema da figura seguinte: texto class Exemplo main() {static voidmain() { int x, y; {int float z; x, y; float z; x = 5; y = 10; z = (x+y)/2; z = (x+y)/2; System.Console.WriteLine ( O} resultado é{0}.,z); }} objecto 0100110101000110 010100 01 010 100110 101101010 111010101 10110101010101011 0010 1 1010 10101011010011 1 101010101011 1010101011 0101 0100110101000110 010100 01 010 100110 101101010 0100110101000110 111010101 010100 1011010101010101100 010 100110 1 101101010 1010 0100110101000110 111010101 10101011010011 1 010100 1011010101010101100 101010101011 010 100110 11010101011 101101010 0101 111010101 10101011010011 1 1011010101010101100 101010101011 10 11010101011 0101 10101011010011 1 101010101011 1010101011 0101 0100110101000110 010100 01 010 100110 101101010 111010101 101101010101010110010 1 1010 10101011010011 1 101010101011 1010101011 0101 Para se executar um programa escrito numa linguagem interpretável e considerando que o programa está já concebido e escrito em papel acção descrição breve nome do ficheiro produzido? Edição produz um texto numa fonte linguagem como Basic? Execução Lê o ficheiro comando a comando. Para cada comando faz a interpretação para linguagem máquina e executa as instruções correspondentes formato do ficheiro produzido texto puro ou ASCII 9

Conceitos a saber: Programa de computador é um conjunto de instruções expressas numa linguagem de programação especificando o comportamento do computador durante a execução de um algoritmo pré-concebido. Algoritmo - estratégia para a resolução de um problema ou tipo de problemas (analogia com receita de culinária) Linguagem de programação é um sistema formal de regras de descrição, com sintaxe e semântica bem definidas, capaz de representar um programa de computador. Compilador - programa para traduzir programas fonte em código objecto (linguagem a nível de máquina) Interpretador - programa para traduzir e executar programas fonte. 10