Programação Orientada por Objectos - C++ jvo

Tamanho: px
Começar a partir da página:

Download "Programação Orientada por Objectos - C++ jvo"

Transcrição

1 Aula 16 C++ Breve perspectiva histórica Diferenças entre o C++ e o C Generalidade sobre a programação em C++ Primeiros programas: entradas e saídas Breve perspectiva histórica O C++ é uma extensão do C que, tal como o Smalltalk, é inspirado na noção de classe do Simula67. Para além disso, sobre as influências de outras linguagens de programação como o Algol68, de onde adopta a liberdade de fazer uma declaração onde está uma instrução; do ADA, dos tipos de dados abstracto e da genericidade; do Clu dos módulos parametrizados. E já agora, pode-se dizer que é também directamente influênciado pela avó, a linguagem BCPL, mãe da linguagem C, de onde recupera os caracteres '//' para denotar comentários. O C++ foi desenvolvido por Bjarne Stroustrup no início da década de 80 nos AT&T Labs. Inicialmente o C++ foi designado por C with classes. O nome C++ foi dado por Rick Mascitti no Verão de Os conhecedores de C poderão achar que C++ é inferior a ++C veja nas aulas seguintes por que. A linguagem não é chamada D porque se trata de uma extensão de C e não de uma nova linguagem que tenta remediar os defeitos da sua antecessora eliminando-lhe características. De facto, o C mantém-se como subconjunto do C++. A linguagem de programação C surge nos Laboratórios Bell no início da década de 70 e tem sofrido várias evoluções, algumas das quais influenciadas pelos desenvolvimentos do C++. O C++ foi instalado pela primeira vez fora do laboratório onde foi desenvolvido em Julho de 1983, tendo surgido comercialmente pela primeira vez em O C++ tem como principal objectivo manter-se simultaneamente próximo da máquina e próximo (da análise) do problema. Sendo uma linguagem que suporta programação POO 2002/2003 T16-1/10

2 Programação Orientada por Objectos - C++ orientada por objectos, o C++ pretende ser adequado à organização e desenvolvimento de programas de grande dimensão. Algumas Diferenças entre o C++ e o C A diferença conceptual entre o C++ e o C está na ênfase com que são tratados os tipos de dados e a organização dos programas. O Stroustrup diz ter pensado o C++ para: 1) Proporcionar um melhor C; 2) Suportar abstracção de dados; 3) Suportar Programação Orientada por Objectos. Isto é feito sem perda nem de generaliade nem de eficiência comparativamente ao C. Ao contrário de certas linguagens como o Smalltalk ou o Lisp, o C++ não impõe nenhum tipo de programação. Para além disso, o C++: Suporta programação orientada por objectos (Classes e Objectos, Herança, Binding dinâmico, polimorfismo); Suporta tipos de dados abstractos (classes, encapsulamento); Suporta funções e classes parametrizadas ou genéricas (templates). Disponibiliza operadores para alocação e libertação de dinâmica de memória de alto-nível (new, delete); Permite a passagem de argumentos por referência; Sobrecarga de funções e operadores; Expansão in-line de funções POO 2002/2003 T16-2/10

3 Mais diferenças Praticamente todas as instruções e expressões em C são válidas em C++, sem alteração de significado; Algumas das palavras-chave adicionadas pelo C++: catch inline protected throw class new public try delete operator template typename friend private this virtual sizeof( a ) == sizeof(int) /*em C */ sizeof( a ) == sizeof(char) // em C++ O nome de uma classe, estrutura, união ou enumeração é um tipo; Um ponteiro para uma função poderá ter como valor void*; Uma declaração dentro de um bloco é uma expressão; As uniões podem ser anónimas; Existem mecanismos para manipulação de excepções; Uma lista de argumentos vazia, significa que a função não tem argumentos; Em ANSI C isso é indicado pela palavra-chave void, que continua a ser aceite em C++. Pode ser usada aritmética com precisão simples para expressões do tipo real (float); POO 2002/2003 T16-3/10

4 Em ANSI C, uma var. global pode ser declarada várias vezes (extern); em C++ só pode ser definida uma única vez. Generalidades sobre a programação em C++ Pré-processador O C++ utiliza as directivas do pré-processador definidas pelo ANSI C. De um modo geral, o C++ depende muito menos do pré-processador do que o C. Podemos recomendar desde já que a utilização do pré-processador seja apenas para compilação condicional e inclusão de ficheiros de cabeçalho. Comentários /* Utilizados em C; válidos em C++ */ // Utilizados em C++; Comenta até ao fim da linha. Identificadores Em C++ não existe um limite máximo para o comprimento de um nome (ou identificador). Um identificador é normalmente escrito em minúsculas. Tal como na generalidade das linguagens, um identificador deve funcionar como mnemónica, i.e., deve dar uma indicação do seu conteúdo. Para separar palavras num identificador, utiliza-se _ ou escreve-se em Maiúsculas a primeira letra de cada nova palavra. Exemplos: isempty /* convenção habitual em C */ is_empty // Notação C++ isempty // como em Smalltalk POO 2002/2003 T16-4/10

5 Primeiros programas: entradas e saídas Tal como em C, para escrever e ler valores, usa-se aquilo a que se chama canais de entrada e saída (streams). O C++ disponibiliza operadores de alto nível para I/O (entrada/saída). O canal de saída para o ecrã (o standard output) é chamado cout. O canal de entrada de dados (o standard input) é chamado cin. Para além destes, existe ainda o (standard error) identificador por cerr. Todos este canais estão declarados no ficheiro iostream.h Para efectuar uma operação de entrada usa-se o operador extractor >>. Para efectuar uma saída usa-se o operador insersor <<. Exemplo: # include <iostream> using namespace std; int main() { int i = 1; cout << Frase seguida de inteiro: << i << nova linha << endl; cout << Insira um caracter: ; char c; cin >> c; cout << O caractere inserido é: << c; O que será que este código faz? POO 2002/2003 T16-5/10

6 Acesso a ficheiros O acesso a ficheiro pode também ser feito recorrendo a canais, que estão declarados no ficheiro fstream.h. Exemplo de utilização: # include < fstream.h > void f() { ofstream os; os.open( escrever.txt ); os << Texto ; os.close ( ); ; // canal para escrita Referências e passagem de argumentos por referência Uma referência pode ser vista como um pseudónimo ( alias ) da variável com que foi inicializada. Uma referência tem que ser obrigatoriamente inicializada com um nome de uma variável. Uma vez inicializada, não é possível alterar a variável referenciada. Todas as operações aplicadas a uma referência actuam sobre a variável referenciada. Exemplos: char c; int *pi, ii, i = 10; int &ri = i; int &ri2; /* Erro: referênci inicializada.*/ int &ri3 = 10; /* Erro: 10 é uma constante. */ int &ri4= i + ii; /* Erro: ma variável */ int &ri5 = c; /* Erro: tipos diferentes */ ri += 2; /* Adiciona 2 a i */ pi = &ri; (*pi == i && pi == &i) /* Sempre verdade */ Passagem de argumentos por valor (ou por cópia) Por omissão, o C e o C++ utilizam passagem de argumentos a funções por valor. Isto significa que primeiro os valores dos argumentos são calculados, depois os valores obtidos são copiados para os parâmetros da função. A alteração do valor dos parâmetros não se reflecte nos argumentos. POO 2002/2003 T16-6/10

7 Passagem de argumentos por referência Como motivação para o mecanismo de passagem de argumentos por referência, vamos escrever um programa que troque o valor de duas variáveis inteiras. Temos duas abordagens: i) Abordagem à C usando ponteiros e ii) Abordagem à C++ usando passagem de argumentos por referência. Estas duas abordagens são apresentadas a seguir. /* Abordagem C */ #include < stdio.h > void swap (int*, int*); main( ) { int i=1, j=2; swap (&i, &j); printf ( i: %d j: %d \n, i, j); ; void swap (int* x, int* y) { int tmp; tmp = *x; *x = *y; *y = tmp; // Abordagem C++ #include < iostream.h > void swap ( int&, int& ); main( ) { int i=1, j=2; swap ( i, j ); cout << i: << i ; cout << j: << j << endl; ; void swap (int &x, int &y) { int tmp; tmp = x; x = y; y = tmp; Note-se que se tivéssemos escrito simplesmente void swap (int x, int y) { int tmp; tmp = x; x = y; y = tmp ; os parâmetros mudavam de valor dentro da função, mas as variáveis não. Este é o comportamento da passagem de argumentos por valor. POO 2002/2003 T16-7/10

8 Quando usamos passagem de argumentos por referência (abordagem C++): 1. Os parâmetros x e y tornam-se sinónimos (referências) de variáveis i e j, respectivamente. Não é feita a cópia dos valores de i e j para x e y, respectivamente; os parâmetros x, y passam a referir-se às mesmas posições de memória onde estão guardadas as variáveis argumento; 2. Quando a função termina, as referências x e y são destruídas, permanecendo trocado o valor das variáveis argumento (i e j). Uma vantagem óbvia da passagem de argumentos por referência é a legibilidade. Por defeito, o valor retornado por uma função é também passado por valor. É também possível retornar referências (ou ponteiros). Aqui podem surgir alguns problemas: 1) O valor retornado é um l-value, pelo que qualquer modificação altera o objecto retornado; Para prevenir modificações não pretendidas, podemos usar referências constantes; 2) Podemos estar a retornar uma referência para um objecto local; Exemplo: int& f ( int &a ){ // f( int a) seria erro porque estaria a retornar uma referência // de uma variável local a++; return (a); // seria erro return &a; o tipo retor concorda com o // tipo de retorno da funç. int main ( ){ int i = 1; cout << i; POO 2002/2003 T16-8/10

9 ; cout << << f( i ) << endl; f( i )++; cout << i; O resultado seria deste programa seria: Referências constantes Se quisermos passar argumentos por referência e quisermos garantir que a variável passada como argumento não é alterada pela função podemos usar referências constantes. Exemplo: const int& g(const int& a ){ cout << a; // outras operações return (a); lterem a int main ( ){ int i = 1; f ( i ); //ok g ( i ); //ok f ( 2 ); //erro: precisa de um l-value: g ( 2 ); //ok ; As referências constantes permitem passar qualquer constante como argumento; o que não é possível no caso de referências não constantes. POO 2002/2003 T16-9/10

10 Podemos também declarar referências de ponteiros. Exemplo: função que troca dois ponteiros: void pointers_swap ( int *&v1, int *&v2) { int *tmp = v2; v2 = v1, v1 = tmp; int *&v; lê-se da direita para a esquerda, i.e., trata-se de uma referência para um ponteiro de uma variável de tipo inteiro. int main ( ){ int i = 10; int j = 20; int *pi = & i; int *pj = & j; cout << *pi << *pj << \n pointers_swap ( pi, pj ) cout << *pi << *pj << \n Referências recomendadas para aprofundar os assuntos tratados: [1] Caleb Drake, Object-Oriented Programming with C++ and Smalltalk, Prentice Hall, Upper Saddle River, NJ, [2] S. Lippman, J. Lajoie, C++ Primer (3rd edition), Addison-Wesley, [3] B. Stroustrup, The C++ Programming Language (3rd edition) Addison- Wesley, POO 2002/2003 T16-10/10

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 95 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 96 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível Nesta etapa estudaremos

Leia mais

Linguagem de Programação III

Linguagem de Programação III Clique para editar o estilo do subtítulo mestre Linguagem de Programação III Histórico Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Comparação com Java Histórico Desenvolvido por

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Programação em C++: Introdução

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo

Leia mais

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Mestrado em Matemática Financeira

Mestrado em Matemática Financeira Programação Mestrado em Matemática Financeira http://moodle.fc.ul.pt Luís Sequeira 03 de Janeiro de 2014 Bom dia! 2 Contactos......................................................... 3 Abstracção!.......................................................

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Funções e protótipos (declaração) de funções

Funções e protótipos (declaração) de funções Funções e protótipos (declaração) de funções Declaração de função tipo_de_retorno nome_da_função (declaração_de_parâmetros); onde o tipo-de-retorno, o nome-da-função e a declaração-de-parâmetros são os

Leia mais

Programação Orientada a Objetos C++

Programação Orientada a Objetos C++ Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Objectivos Indicação onde são utilizados os computadores Primeiro programa em C++ Etapas básicas do desenvolvimento de programas Projecto centrado nos objectos Classes e programação

Leia mais

Introdução a C Tipos de Dados Variáveis Operadores

Introdução a C Tipos de Dados Variáveis Operadores Introdução a C Tipos de Dados Variáveis Operadores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

Olimpíadas de Informática

Olimpíadas de Informática Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C++. Prof. Gemilson George gemilson_geo gemilson@colegiogeo.com.br (83)8792-7419 informaticageo.wordpress.com (Grupo): GEO.OBI

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Do C ao C++: O C++ é um C melhor, bem vindo ao C++.

Do C ao C++: O C++ é um C melhor, bem vindo ao C++. NOTA: Estes apontamentos deverão servir de apoio à aprendizagem do C++, mas não dispensam a leitura dos apontamentos das aulas teóricas da disciplina de Programação Orientada por Objectos e de outros livros

Leia mais

Tipos de Dados Simples

Tipos de Dados Simples Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

Programação e Sistemas de Informação

Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Programação e Sistemas de Informação REVISÕES 1 Conteúdos Introdução Declaração de strings Atribuição de valores a strings

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

Técnicas de Programação:

Técnicas de Programação: Técnicas de Programação: Manipulação de Arquivos PROF. PROTÁSIO DEE-UFPB Canais (fluxo) e Arquivos Canal (stream) É um mecanismo lógico do sistema de E/S de C que fornece uma interface entre o programador

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Introdução à Programação com Classes em C++

Introdução à Programação com Classes em C++ 1 FEUP/LEEC/AED/2001-2002 Introdução à Programação com Classes em C++ João Pascoal Faria http://www.fe.up.pt/~jpf FEUP/LEEC/AED/ 2000-2001 Conceito de classe em C++ 2 Classe em sentido lato: tipo de dados

Leia mais

Curso de C: uma breve introdução

Curso de C: uma breve introdução V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:

Leia mais

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

C++ e Orientação a Objetos

C++ e Orientação a Objetos C++ e Orientação a Objetos PET Computação Fábio Beltrão, Felipe Chies, Lucas Zawacki, Marcos Cavinato e Matheus Proença 2ª Edição, 18 de Agosto de 2009 1ª Edição por Arthur Ribacki, Gabriel Portal, Leonardo

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos 1 Manipulação de Arquivos Para realizar E/S em arquivo, você precisa incluir o arquivo-cabeçalho fstream.h nos programas. Esse arquivo define muitas classes e valores importantes. Abrindo e fechando um

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Folha Prática 2. Lab. 2

Folha Prática 2. Lab. 2 Programação Folha Prática 2 Lab. 2 Departamento de Informática Universidade da Beira Interior Portugal 2010 Copyright 2010 All rights reserved. 1. Revisão dos conceitos fundamentais da programação de computadores

Leia mais

Italo Valcy

Italo Valcy <italo@dcc.ufba.br> Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,

Leia mais

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM

PROGRAMAÇÃO ORIENTADA A OBJETOS EM PROGRAMAÇÃO ORIENTADA A OBJETOS EM BERILHES BORGES GARCIA FLÁVIO MIGUEL VAREJÃO COLABORAÇÃO: FABRÍCIA DOS SANTOS NASCIMENTO ÍNDICE 1.1 ABSTRAÇÃO DE DADOS... 3 1.2 HISTÓRICO... 4 1.3 A LI GUAGEM C++...

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Pilhas. Profa Morganna Diniz

Pilhas. Profa Morganna Diniz Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

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

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C

Leia mais

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

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

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

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Module Introduction. Programação. Cap. 10 Estruturas (Structs)

Module Introduction. Programação. Cap. 10 Estruturas (Structs) 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 10 Estruturas () Module Introduction Sumário: Taxonomia de tipos de dados

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

Tópicos Especiais em Programação

Tópicos Especiais em Programação Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES Tópicos Especiais em Programação Sumário Metodologia;

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres

Leia mais

2 Um Primeiro Programa em C

2 Um Primeiro Programa em C 2 Um Primeiro Programa em C Ronaldo F. Hashimoto, Carlos H. Morimoto e José A. R. Soares OobjetivodessaaulaéintroduzirvocêàlinguagemCemambienteLinux,primeiramentemostrandoasua estrutura, e a seguir com

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Ciclo de desenvolvimento O modelo hipotético de computador utilizado no capítulo anterior, embora muito

Leia mais

Composição de classes

Composição de classes Programação com Classes em C++ (cont.) FEUP - MIEEC Programação 2-2008/2009 Composição de classes Uma classe pode ter como membros objectos doutras classes Membros-objecto são inicializados antes dos objectos

Leia mais

Templates e Pilhas. 1. Introdução

Templates e Pilhas. 1. Introdução Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.

Leia mais

2. Constantes e Variáveis

2. Constantes e Variáveis 2. Constantes e Variáveis Neste capitulo veremos como os dados constantes e variáveis são manipulados pela linguagem C. O que são constantes inteiras, reais, caracteres e strings. Quais são as regras de

Leia mais

INF 1620 P1-10/04/02 Questão 1 Nome:

INF 1620 P1-10/04/02 Questão 1 Nome: INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,

Leia mais

Física Computacional

Física Computacional Física Computacional 1. O que é o ROOT. 2. Funcionalidades da framework. 3. Modos de utilização: compilado e interpretado. 4. OOP em ROOT. 5. Instalação em Linux e Windows. 6. Utilização básica. 7. Bibliotecas

Leia mais

17 - Funções e Procedimentos em C Programação Modular

17 - Funções e Procedimentos em C Programação Modular 17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17

Leia mais

Alocação dinâmica de memória

Alocação dinâmica de memória Alocação dinâmica de memória Jander Moreira 1 Primeiras palavras Na solução de problemas por meio algoritmos ou programas, é comum surgir a necessidade de manter todo o conjunto de dados a ser processado

Leia mais

Introdução à Programação em Linguagem C

Introdução à Programação em Linguagem C Material Complementar EA869 (Prof. Von Zuben DCA/FEEC/Unicamp) 1 1. Enfoque Introdução à Programação em Linguagem C Será tratada aqui a linguagem C tradicional, sendo que existem outras variantes tais

Leia mais

Guia e Utilização do Visual Studio 6.0

Guia e Utilização do Visual Studio 6.0 Guia e Utilização do Visual Studio 6.0 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio 6.0. Passo 1: Criação de

Leia mais

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ #include { Este trecho é reservado para o corpo da função, com a declaração de suas variáveis locais, seus comandos e funções

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Introdução à Programação Orientada a Objetos com C++ Antonio Mendes da Silva Filho

Introdução à Programação Orientada a Objetos com C++ Antonio Mendes da Silva Filho Introdução à Programação Orientada a Objetos com C++ Antonio Mendes da Silva Filho introd_00.indd 1 12/4/2010 10:30:04 Preencha a ficha de cadastro no final deste livro e receba gratuitamente informações

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo

Leia mais

Herança e Polimorfismo de Inclusão

Herança e Polimorfismo de Inclusão Herança e Polimorfismo de Inclusão Sérgio Queiroz de Medeiros sergio@ufs.br 29 de maio de 2012 1 Polimorfismo Ad-hoc Coerção Sobrecarga (Overloading) Universal Paramétrico Inclusão 2 Herança Herança é

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla JAVAProgParSD/0030-ProgParalelaDistribuida.ppt Sumário 1. Diferenças básicas

Leia mais

O Processo de Programação

O Processo de Programação Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Aula 1 Tipo Abstrato de Dados

Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para

Leia mais

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

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais

Fascículo III Abril 2012 Introdução a C++ Pesquisa e Desenvolvimento Tecnológico

Fascículo III Abril 2012 Introdução a C++ Pesquisa e Desenvolvimento Tecnológico Fascículo III Abril 2012 Introdução a C++ Pesquisa e Desenvolvimento Tecnológico 2 Pesquisa e Desenvolvimento Tecnológico Essa página foi deixada em branco intencionalmente. Pesquisa e Desenvolvimento

Leia mais

Conceitos Básicos da Linguagem C. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem C. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem C Prof. Leonardo Barreto Campos 1 Sumário As Origens da linguagem C, Características da linguagem C, Interpretação X Compilação, Estrutura básica de um programa em C, Tipos

Leia mais

Estruturas de entrada e saída

Estruturas de entrada e saída capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções

Leia mais

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

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) 2013/2 Introdução à Programação de Computadores Aula - Tópico 1 1 Por que usar um computador? Como conversar com um computador? 0101001001010100101011 0010100110101011111010

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 1 Linguagens de Programação Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Laboratório 4 Validação do Formulário

Laboratório 4 Validação do Formulário Laboratório 4 Validação do Formulário Introdução Agora que já definimos os nossos documentos usando xhtml e já os embelezámos através da utilização das CSS, está na hora de validar a informação que o utilizador

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (07/08/15) Introdução ao Python História Características Estrutura dos código-fonte Primeiros elementos

Leia mais