Introdução a Orientação a Objetos utilizando a Linguagem C++ Tecgº Carlos Henrique da Silva Santos henrique@dmo.fee.unicamp.br

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

Download "Introdução a Orientação a Objetos utilizando a Linguagem C++ Tecgº Carlos Henrique da Silva Santos henrique@dmo.fee.unicamp.br"

Transcrição

1 Introdução a Orientação a Objetos utilizando a Linguagem C++ Tecgº Carlos Henrique da Silva Santos henrique@dmo.fee.unicamp.br

2 Agradecimentos Ramo Estudantil IEEE da Eng. Elétrica (Alexandre) Capítulo EDS (Ricardo Cotrin) Organizadores (Júlio Novais e a Fernanda) Faculdade de Eng. Elétrica (Marco Aurélio) SIFEEC Prof. Dr. Hugo Figueroa Carlos Henrique / Introdução C++ 2

3 (Provérbios 2:10) Porquanto a sabedoria entrará no teu coração, e o conhecimento será suave à tua alma. Carlos Henrique / Introdução C++ 3

4 Tópicos Introdução Estruturas de Controle Funções Vetores e matrizes Ponteiros e Strings Classes e Abstração de dados Sobrecarga de Operadores Herança Funções Virtuais e Polimorfismo Entrada/Saída de dados com Streams Manuseamento de Arquivos Carlos Henrique / Introdução C++ 4

5 Introdução: História BCPL (1967) - Martin Richards BCPL contribui com a Linguagem B desenvolvida por Ken Thompson, criando as primeiras versões do UNIX no Bell Labs (1970) Evolução para C em 1972 por Ken Thompson e Dennis Ritchie (linguagem do UNIX) Final dos anos 70, publicação de Kernighan e Ritchie (C clássico) Carlos Henrique / Introdução C++ 5

6 Introdução: História C++ desenvolvida no início dos anos 80 por Bjarne Stroustrup no Bell Laboratories Comitê X3J11 para produzir uma definição não-ambígua e independente da linguagem de máquina 1989, padrão aprovado (ISO e ANSI) Documento em 1990 ANSI/ISO 9899:1990 Carlos Henrique / Introdução C++ 6

7 Introdução: História Bjarne Stroustrup Carlos Henrique / Introdução C++ 7

8 Introdução: Apresentação e Padrão Orientação a objetos Uma das linguagens de desenvolvimento de softwares mais populares O curso utilizará o C++ padronizado nos EUA através da American National Standards Intitute (ANSI), e no mundo através da International Standards Organization (ISO) Carlos Henrique / Introdução C++ 8

9 Introdução: Padrão e Biblioteca Peças chaves: Classes e Funções Vantagens Organização Reutilização de Código-Fonte Velocidade de desenvolvimento (Facilidade) Modelagem para Representação/Apresentação (UML) Desvantagens Tempo de desenvolvimento inicial (Boa Estrutura) Carlos Henrique / Introdução C++ 9

10 Introdução: Orientação Objetos Esquema de empacotamento que ajuda a criar unidades de software com significados próprios. Linguagens baseadas em substantivos ou coisas (objetos). Exemplos: objetos data, objetos fatura, objetos áudio, objeto mamíferos. Carlos Henrique / Introdução C++ 10

11 Introdução: Dicionário OO Abstração: é a especificação de aspectos de determinar coisas interpretáveis. Classe: é um tipo de abstração de dados (TAD). As classes podem ser vistas como uma fábrica de objetos idênticos no que diz respeito à sua interface e implementação. Carlos Henrique / Introdução C++ 11

12 Introdução: Exemplo de Classe class primeiro { public: void primeiro() { cout << "Olá Mundo!!"; } }; Carlos Henrique / Introdução C++ 12

13 Introdução: Dicionário OO Objeto: pode ser definido como uma unidade de software constituído de atributos (dados) e de métodos (códigos de funções) que atuam sobre os dados, sendo os representantes das classes. Atributos: qualquer propriedade, qualidade ou característica que possa ser atribuída, podendo ser acessado pelo serviços. Funções: Blocos de códigos para especificar comportamentos e/ou ações Carlos Henrique / Introdução C++ 13

14 Introdução: Dicionário OO Serviços: atividade executada para permitir o acesso a alguns recursos, em OO é um comportamento específico que um objeto deve exibir. Encapsulamento: restrição de escopo ou visibilidade dos dados do aplicativo que poderão ser acessados pelos serviços. Carlos Henrique / Introdução C++ 14

15 Introdução: Dicionário OO Passagem de mensagem: Possibilita a comunicação entre objetos. Herança: mecanismo para trabalhar com similaridades entre as classes como, por exemplo, mamíferos são os homens e o macacos, podendo considerá-los como herdeiros dos atributos da classe mamíferos. Carlos Henrique / Introdução C++ 15

16 Introdução: Dicionário OO Superclasse: Classe base para as subclasses (Mamíferos). Subclasse: herdeiros das superclasses (Homens e Macacos) Superclasse Abstrata: Finalidade apenas de determinação de uma superclasse, não permitindo o manuseio pelas subclasse. Carlos Henrique / Introdução C++ 16

17 Introdução: Dicionário OO Associação: Conexão de idéias através das classes como, por exemplo, diferenças finitas podem resolver problemas de eletromagnetismo. Polimorfismo: Relaciona as diferentes formas de um objeto. Janela () Janela (1 x 2, 2) Janela(1x2, 2, Azul) Carlos Henrique / Introdução C++ 17

18 Introdução: Primeiros-Passos Importante: Documentar códigos utilizando comentários //<uma linha> /* <várias linhas> */ cin,cout, cerr Carlos Henrique / Introdução C++ 18

19 Introdução: Exemplo Olá Mundo #include <iostream> using std::cout; using std::cin; Declarando a classe class hello { public: }; void primeiro() { cout << "Olá Mundo!!"; } int main() Objeto { hello ex; Invocando Método ex.primeiro(); return 0; } Importante: Nunca esquecer o ; ao final de cada classe Carlos Henrique / Introdução C++ 19

20 Introdução: Seqüência de escape \n - pula linha \t - tabulação horizontal \r - retorno do carro \a - soar alarme \\ - barra invertida \ - aspas Carlos Henrique / Introdução C++ 20

21 Introdução: Programa Adição #include <iostream> using std::cout; using std::cin; int main() { int var1, var2, soma; // declaração cout << Entre com o primeiro inteiro\n"; cin >> var1; cout << Entre com o segundo inteiro\n"; cin >> var2; soma = var1+var2; // realizando a soma cout << O Resultado é " << soma << endl; return 0; } Carlos Henrique / Introdução C++ 21

22 Introdução: Operadores + Adição - Subtração * Multiplicação / Divisão % Módulo == Igualdade!= Diferente > Maior < Menor >= Maior ou igual <= Menor ou igual Carlos Henrique / Introdução C++ 22

23 Introdução: Exemplo Condicional #include <iostream> using std::cout; using std::cin; int main() { int num1, num2; cout << "Entre com dois valores inteiros que serão comparados!\n"; cin >> num1 >> num2; // ler dois valores inteiros if ( num1 == num2 ) cout << num1 << " é igual " << num2 << endl; if ( num1!= num2 ) cout << num1 << " é diferente " << num2 << endl; if ( num1 < num2 ) cout << num1 << " é menor que " << num2 << endl; if ( num1 > num2 ) cout << num1 << " é maior que " << num2 << endl; if ( num1 <= num2 ) cout << num1 << " é menor ou igual a " << num2 << endl; if ( num1 >= num2 ) cout << num1 << " é maior ou igual a " << num2 << endl; return 0; } Carlos Henrique / Introdução C++ 23

24 Introdução: UML UML: Unified Modeling Language, é o esquema de representação gráfica mais utilizado para modelagem de sistemas orientados a objetos. Vantagem: Flexibilidade Especificações da OMG para a UML Carlos Henrique / Introdução C++ 24

25 Introdução: Exemplo UML Retângulo Retângulo (SupDir, InfEsq) : Retângulo Largura(): Nº Inteiro Altura(): Nº Inteiro SuperiorEsquerdo(): Ponto InferiorDireito(): Ponto MoverPara(local : Ponto) -Retângulo() É definido por 2 Ponto Abscissa: Nº Inteiro Ordenada: Nº Inteiro Ponto() : Ponto X(): Nº Inteiro Y(): Nº Inteiro -Ponto() Diagrama da UML para um subsistema geográfico Carlos Henrique / Introdução C++ 25

26 Introdução: Resumo Apresentação do Curso História Dicionário da Orientação a Objetos Primeira Classe Iniciando com a Programação Carlos Henrique / Introdução C++ 26

Linguagens e Técnicas de Programação II

Linguagens e Técnicas de Programação II Linguagens e Técnicas de Programação II Modelagem Orientada a Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Sistemas de Informação Lembrando Na Unidade I Gerenciando a Complexidade,

Leia mais

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto; Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos

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

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),

Leia mais

Aula 3/4: Vetores/Matrizes e Ponteiros

Aula 3/4: Vetores/Matrizes e Ponteiros Carlos Henrique/Introdução C++ Aula 3/4: Vetores/Matrizes e Ponteiros Funções: Função main (int argc, char ** argv) Recursão Vetores/Matrizes/Strings Vetor (Matriz Unidimensional) Gerando um ponteiro para

Leia mais

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005)

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Programação estruturada em C++: extensões ao C João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) FEUP - LEEC - AED - 2004/2005 1972 1978 1983 1988 1995 Breve historial Primeira versão

Leia mais

Algoritmos e Programação II

Algoritmos e Programação II Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP

Leia mais

Aula 6: Sobrecarga de Operadores e Herança

Aula 6: Sobrecarga de Operadores e Herança Aula 6: Sobrecarga de Operadores e Herança Sobrecarga de Operadores Definição Relacionamentos Generalização/Especialização Vínculo Agregação Herança Definições Representação UML Exemplos (Direto/Indireto)

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO A Programação Orientada ao Objeto deu seus primeiros passos ainda na década de 70. A sua origem vem da linguagem Simula (Simula Language) e como o nome indica

Leia mais

Análise e Projeto de Sistemas OO

Análise e Projeto de Sistemas OO Análise e Projeto de Sistemas OO 25 26 27 28 29 30 31 32 35 36 34 Objetos no mundo real Podem ser definidos como objetos, entidades individuais que tenham características e comportamento; Exemplo: Automóvel

Leia mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

Introdução e Conceitos

Introdução e Conceitos Introdução e Conceitos Aula 1 11/08/2017 diegoquirino@gmail.com 1 Agenda 1. Motivações: porque estudar linguagens de programação? 2. Breve Histórico sobre as Linguagens de Programação 3. Processos de Tradução

Leia mais

PHP-GTK. Criando Aplicações Gráficas com PHP. Pablo Dall'Oglio. Segunda Edição Inclui PHP 5 e GTK 2. Novatec

PHP-GTK. Criando Aplicações Gráficas com PHP. Pablo Dall'Oglio. Segunda Edição Inclui PHP 5 e GTK 2. Novatec PHP-GTK Criando Aplicações Gráficas com PHP Segunda Edição Inclui PHP 5 e GTK 2 Pablo Dall'Oglio Novatec Sumário Sobre o autor...15 Prefácio...17 Nota do autor...19 Organização do livro...21 Capítulo 1

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Herança. Prof. Leonardo Barreto Campos 1

Herança. Prof. Leonardo Barreto Campos 1 Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;

Leia mais

Programação Estruturada em C++: Extensões ao C

Programação Estruturada em C++: Extensões ao C Programação Estruturada em C++: Extensões ao C João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006 e 2006/2007) FEUP - MIEEC Programação 2-2006/2007

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Objetos e Classes Programação Orientada ao Objeto O paradigma da Orientação ao Objeto é um mecanismo que ajuda a definir

Leia mais

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo POO Fundamentos Parte III Professor Vicente Paulo de Camargo PROGRAMAÇÃO ORIENTADA A OBJETOS HERANÇA SIMPLES Mecanismo que permite a uma classe, denominada de SUBCLASSE ou CLASSE FILHA, herdar todos os

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem C foi desenvolvida no início da década de 70 por dois pesquisadores do Bell Laboratories, Brian Kernihgan e Dennis Ritchie,

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Unidade 01-a Algoritmos e Programação Seção 1.1 Visualg 2 Formato do Visualg algoritmo nome do algoritmo // Função: // Autor: // Data:

Leia mais

Introdução à Programação Orientada a Objetos em C++

Introdução à Programação Orientada a Objetos em C++ Introdução à Programação Orientada a Objetos em C++ Disciplina de Programação Científica II Aula 12 de 18 24/05/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa aula são:

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos

Leia mais

1.1. Definição do Problema

1.1. Definição do Problema 13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir

Leia mais

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

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

//conteúdo do arquivo pacote.h

//conteúdo do arquivo pacote.h //conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

Programação Aplicada à Engenharia

Programação Aplicada à Engenharia Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 06: Introdução a C++ Silvio Fernandes 2009.1 1 História de C e C++ C++ é uma evolução

Leia mais

Programação em JAVA. Subtítulo

Programação em JAVA. Subtítulo Programação em JAVA Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em

Leia mais

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas

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++; Primeiro Programa em C++; Declaração e Leitura de Variáveis; Estruturas de Seleção; if; switch; Estruturas

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma

Leia mais

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO ANO: 10.º Curso Profissional Técnico de Informática de Gestão Disciplina: Linguagens de Programação ANO LECTIVO: 2008/2009 p.1/13 Módulo 1 Algoritmia 1 - Introdução à Lógica de Programação Lógica Sequência

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

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do

Leia mais

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Exercícios... Capítulo 15. if62c. prof. Robinson Vida Noronha. Monday, March 23, 15

Exercícios... Capítulo 15. if62c. prof. Robinson Vida Noronha. Monday, March 23, 15 Exercícios... Capítulo 15 if62c prof. Robinson Vida Noronha 1 15.1.a) Em C++, é possível ter várias funções com o mesmo nome, que operam sobre diferentes tipos ou números de argumentos. Isso é chamado

Leia mais

Linguagem de Programação. Thiago Leite Francisco Barretto

Linguagem de Programação. Thiago Leite Francisco Barretto Linguagem de Programação Thiago Leite Francisco Barretto SCHILDT, H. C Completo e Total. 3ª Edição. São Paulo: Makron, 1997. Bibliografia Ementa

Leia mais

Modelando sistemas em UML - Casos de uso.

Modelando sistemas em UML - Casos de uso. Modelando sistemas em UML - Casos de uso. Neste artigo vou falar um pouco sobre modelagem de sistemas usando UML focando exclusivamente os diagramas de casos de uso. A primeira coisa que devemos ter em

Leia mais

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void //conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();

Leia mais

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela. 1. O que são classes? Dê exemplos. R.: Classe é um tipo abstrato de dados. Encapsula estrutura e comportamento. Ou seja: uma descrição de um conjunto de objetos que compartilham a mesma estrutura, os mesmos

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos.

Termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Seqüência Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Orientação a Objetos. Programação em C++

Orientação a Objetos. Programação em C++ Engenharia Eletrônica Orientação a Objetos - Programação em C++ 1 o Conjunto de Slides A : o Conteúdo da Disciplina, Importância Sistêmica desta, e a Introdução à OO/C++. Prof. Jean Marcelo SIMÃO - DAELN/UTFPR

Leia mais

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1 Introdução Linguagem C UDESC - Prof. Juliano Maia 1 Índice Seção 1 A linguagem C Seção 2 Esqueleto Básico Programa em C UDESC - Prof. Juliano Maia 2 A linguagem C Seção 1 História Características Orientação

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Descrever requisitos funcionais e não funcionais Explicar como os requisitos de software podem

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

Dr. Alan R. R. de Freitas

Dr. Alan R. R. de Freitas Introdução à Programação Curso em C++ Dr. Alan R. R. de Freitas Copyright c 25 Alan R. R. de Freitas ALANDEFREITAS.COM Edição: 9 de Março de 25 Conteúdo I Programação Estruturada Introdução ao C++.........................................

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Paradigma Imperativo Professora Sheila Cáceres Paradigma Imperativo Um pouco de historia Paradigma fundamentado no conceito de máquina de Turing. A máquina de Turing é uma abstração

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS. INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que

Leia mais

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx //conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D public: Ponto2D (float, float); void setx (float); void sety (float); float getx (); float gety ();

Leia mais

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes

Leia mais

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

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira Na aula anterior... Ponteiros Funções Introdução 3 O que vamos aprender? Preparação do ambiente de testes Conceitos

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ Exercício: Linguagem de Programação C++ Construa o diagrama de classes UML para as classes envolvidas na solução do exercício do slide 253. 267 Sobrecarga Linguagem de Programação C++ Neste exercício vimos

Leia mais

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Conceitos de Linguagens de Programação - Características. Paavo Soeiro Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Orientada a Objetos Tratamento de exceções e UML Aula 9 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia Eletrônica 3º Período

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

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

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

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Capítulo 4 - Polimorfismo

Capítulo 4 - Polimorfismo Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 04 Linguagem de programação C Saída de dados Imprima printf Histórico da Linguagem

Leia mais

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

Leia mais

Por que programar? Programação de Computadores Introdução a C++ É tudo questão de automatizar coisas. Alan de Freitas

Por que programar? Programação de Computadores Introdução a C++ É tudo questão de automatizar coisas. Alan de Freitas Por que programar? Programação de Computadores Introdução a C++ Utilizar computadores é claramente uma vantagem em nossas vidas... Nos ajuda a comunicar Nos ajuda a fazer planos Nos permite trabalhar menos

Leia mais

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos Referências Programação de Computadores II Cap. 7 Cadeias de Caracteres Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 7 Livro: Waldemar

Leia mais

2. Qual dos gráficos abaixo corresponde à função y= x? a) y b) y c) y d) y

2. Qual dos gráficos abaixo corresponde à função y= x? a) y b) y c) y d) y EEJMO TRABALHO DE DP 01 : 1 COL MANHÃ MATEMÁTICA 1. Na locadora A, o aluguel de uma fita de vídeo é de R$, 50, por dia. A sentença matemática que traduz essa função é y =,5.. Se eu ficar 5 dias com a fita,

Leia mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno INFORMAÇÕES GERAIS CURSO: ENGENHARIA DE SOFTWARE DISCIPLINA: ANÁLISE E PROJETO DE SISTEMAS PROFESSOR: OSVALDO MESQUITA ANO.SEMESTRE: 2016.1 1. O que você entende por: a) Polimorfismo. Significa aquilo

Leia mais

Tipos Abstratos de Dados (TAD)

Tipos Abstratos de Dados (TAD) Instituto de C Tipos Abstratos de Dados (TAD) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Módulos e Compilação em separado

Leia mais

Diagramas de Sequência

Diagramas de Sequência Diagramas de Sequência Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros,

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Programação de Computadores Primeiros Passos Práticos em C++

Programação de Computadores Primeiros Passos Práticos em C++ Programação de Computadores Primeiros Passos Práticos em C++ Alan de Freitas! Marco Antonio Carvalho Compilação de Programas O compilador é o responsável por transformar nosso código em um programa propriamente

Leia mais

Banco de Dados. Banco de Dados. Conceitos Básicos. Banco de Dados SGBD SGBD. Fundamentos. Fernando Fonseca Ana Carolina.

Banco de Dados. Banco de Dados. Conceitos Básicos. Banco de Dados SGBD SGBD. Fundamentos. Fernando Fonseca Ana Carolina. Banco de Dados Banco de Dados Fundamentos Fernando Fonseca Ana Carolina Ana Carolina Salgado acs@cin.ufpe.br www.cin.ufpe.br/~acs Fernando Fonseca fdfd@cin.ufpe.br www.cin.ufpe.br/~fdfd Banco de Dados

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software - 2ª Lista de Exercícios - Questões Discursivas Questão 1) O que você entende por processo de software e qual a sua importância para a qualidade dos produtos de software? Qual a

Leia mais

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA Conceitos c++ Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e O r g a n i z a ç ã o d e A l g o r i t m o s D e m e t r i o s. c o u t i n h o @

Leia mais

Orientação a Objetos (em Java)

Orientação a Objetos (em Java) Orientação a Objetos (em Java) Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Programação Estruturada Composição dos Programas Um programa écomposto por

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Universidade Federal da Paraíba Centro de Informática Departamento de Informática Universidade Federal da Paraíba Centro de Informática Departamento de Informática Disciplina: Introdução à Programação Horário: T08002, I08002 Sala: CISB01 T10002, I10002 Sala: CI304 Número de Créditos:

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

Introdução a UML. Exercício:

Introdução a UML. Exercício: 89 * Exercício: Introdução a UML Com base nos conceitos estudados, modele, utilizando UML, um sistema OO para gerenciar as locações de uma empresa de locação de automóveis. O sistema deve se utilizar de

Leia mais

Análise Léxica. Sumário

Análise Léxica. Sumário Análise Léxica Renato Ferreira Sumário Definição informal de Análise Léxica Identifica tokens numa string de entrada Alguns detalhes Lookahead Ambiguidade Especificação de Analisadores Léxicos Expressões

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Prof. M.e Helber Wagner da Silva helber.silva@ifrn.edu.br Maio de 2014 Roteiro Introdução Estrutura e Funções do Sistema Operacional Sistemas Operacionais existentes

Leia mais