Programação Orientada a Objetos. Giselle Lopes Ferrari Ronque

Documentos relacionados
Estruturas II UFOP 1/35

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

Linguagem de Programação I - Registros (struct) No exemplo acima foi criado um tipo de dado estruturado chamado struct aluno.

Variáveis, Tipos de Dados e Operadores

ponteiros INF Programação I Prof. Roberto Azevedo

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

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

1.Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p;y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x;

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Programação científica C++

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz

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

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

Disciplina de Algoritmos e Programação

Programação: Vetores

Funções em Linguagem C Parte II

Modularidade - Fun ções e Procedimentos

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

Subprogramas. Prof. Carlos Lopes

Linguagem C: Ponteiros - Alocação Dinâmica

Linguagem C: Ponteiros. Prof. Leonardo Barreto Campos 1

ESTRUTURAS COMPOSTAS REGISTRO. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Computação I (MAB120) DCC/UFRJ

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

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

LISTA DE EXERCÍCIOS 2

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Introdução à Linguagem C

Alocação Dinâmica de Memória. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

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

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Linguagem C: Introdução

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

1ª Lista de Exercícios

BCC202 - Estrutura de Dados I

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário

Introdução à Computação

Algoritmos e Estruturas de Dados I 01/2013. Passagem de Parâmetros e Estruturas. Pedro O.S. Vaz de Melo

Registros. Técnicas de Programação. Rafael Silva Guimarães

Trabalho Linguagem e Programação de Compiladores

Fundamentos de Programação

Linguagens de Programação I

Introdução a Programação de Jogos

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

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

Alocação Dinâmica em C

LP II Estrutura de Dados

O vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

LP II Estrutura de Dados Estruturas Heterogêneas e Listas Lineares Estáticas. Prof. José Honorato Ferreira Nunes

Conceito de procedimentos e funções

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

12 - Dados Estruturados Vetores, Matrizes e Strings

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

Matrizes. Técnicas de Programação. Rafael Silva Guimarães <p://<p.ci.ifes.edu.br/informabca/rafael_guimaraes

Linguagem C: Subprogramação

Lista de Exercícios para P1 INF1007 (Prog2) 15/04/2013. ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros.

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

1) Operadores de auto incremento ++ e auto decremento --

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique

Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

Aula 06 Definição de Novos Tipos (structs, typedefs, e enumerações) Prof. Filipe Mutz

Módulo 5 Vetores e Alocação Dinâmica

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Linguagem C vetores multidimensionais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

BCC202 - Estrutura de Dados I

Introdução à Computação MAC0110

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Elementos de programação em C

Gilberto A. S. Segundo. 24 de agosto de 2011

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Estrutura de Seleção Múltipla Switch

Estruturas (Registros)

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

INF 1007 Programação II

Prova de Recuperação

19 Vetores, Ponteiros e Funções

5COP088. Aula 2 Linguagem Estruturada Prof. Dr. Sylvio Barbon Junior. Laboratório de Programação. Aula 2 Linguagem Estruturada

Programação Aplicada à Engenharia

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Matrizes. DCC 119 Algoritmos

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

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

Alocação Dinâmica. Túlio Toffolo BCC202 Aula 02 Algoritmos e Estruturas de Dados I

Transcrição:

Programação Orientada a Objetos Giselle Lopes Ferrari Ronque ferrari@eletrica.ufpr.br

Avaliações Provas 27/03/2015 15/05/2015 Trabalhos 12 e 19/06/2015 Segunda chamada: 26/06/2015 Exame: 10/07/2015

Regras Celular desligado. Respeito aos horários do início das aulas. Faltas em excesso reprovam o aluno! (>25%) Tolerância máxima de 15 minutos no início da primeira aula. Não comer/beber/fumar durante as aulas. Não navegar na internet/bate-papo.

Ementa Introdução à Orientação a Objetos Classes e Objetos Herança Polimorfismo Funções Virtuais Engenharia de Software Paradigma Cliente-Servidor; Paradigma Par-a-Par.

Bibliografia DEITEL, H. M.; DEITAL, P. J. C++ Como Programar. Porto Alegre: Bookman, 2001. AGUILAR, L. J. Programação em C++. São Paulo: McGraw-Hill, 2008. PRESSMAN, R. S. Engenharia de Software Uma Abordagem Profissional. Porto Alegre: AMGH Editora Ltda.

Estruturas REVISÃO

Estruturas Tipos complexos, modelados pelo programador; Declaração - Se cadastro é uma estrutura que vai conter um campo de inteiros para registrar idade, um campo de texto para nome, um campo real para salário e um campo caracter para sexo ( m / f ): struct cadastro{ int idade; char nome[30]; float salario; char sexo; };

Estruturas Declaração - para criar um dado do tipo cadastro: cadastro funcionario, clientes[30]; Ou: struct cadastro { int idade; char nome[30]; float salario; char sexo; } funcionario, clientes[30];

Estruturas Se você precisa de apenas uma variável estrutura, o nome da estrutura não é necessário: struct { int idade; char nome[31]; float salario; char sexo; } funcionario;

Estruturas Para atribuir valores nome da variável estrutura, seguida de. e atribuição. Exs: funcionario.sexo = m ; strcpy(clientes[11].nome, José da Silva ); Os campos das estruturas também são armazenados de forma contínua na memória, tal como os elementos das matrizes.

Estruturas Operações: struct venda{ int pecas; float preco; }; venda A = {20, 110.0}, B = {3, 16.5}, Total; Total = A + B; // ERRADO Total.pecas = A.pecas + B.pecas; Total.preco = A.preco + B.preco;

Estruturas Estruturas podem ser aninhadas (campos são também estruturas). struct data { int dia, mes, ano; }; struct cadastro{ char Nome[30], Endereco[45]; int idade; data nascimento; } funcionario; funcionario.nascimento.ano = 1971;

Exercício 1 Faça um programa que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 contas e não pode haver mais de uma conta com o mesmo número. Crie o menu com as seguintes opções: 1. Cadastrar contas 2. Visualizar todas as contas de um determinado cliente 3. Excluir a conta com menor saldo (supondo a não existência de saldo iguais. 4. Sair

Passando Elementos de Estruturas para Funções Exemplo: struct cadastro{ int idade; float salario; char sexo; } funcionario; Por valor funcao1(funcionario.idade); funcao2(funcionario.salario); funcao3(funcionario.sexo); Por referência funcao1(&funcionario.idade); funcao2(&funcionario.salario); funcao3(&funcionario.sexo);

Passando Estruturas Inteiras para Funções Por valor: #include <stdio.h> /*Variável Global*/ struct tipo{ int a, b; char ch; } void f1(struct tipo t); void main(){ struct tipo X; X.a = 1000; f1(x); } void f1(struct tipo t){ printf( %d, t.a); }

Ponteiro para Estruturas Declaração struct cadastro*p; Passagem por referência para funções: É passado apenas o endereço da estrutura; Referencia o argumento real em lugar de uma cópia.

Ponteiro para Estruturas Exemplo: struct paciente{ float peso; char nome[80];} A; struct paciente*p; p = &A; p->peso = 100;

Exemplo struct marca{ int ano; char modelo[10]; }; void imprimir1(int a, char n[10]){ printf("%d %s\n", a, n);} void imprimir2(marca x){ printf("%d %s\n", x.ano, x.modelo);} void imprimir3(marca *x){ printf("%d %s\n", x->ano, x->modelo);} int main( ){ } struct marca renault[20], *p; renault[10].ano = 1950; strcpy(renault[10].modelo, "sandero"); p = &renault[10]; imprimir1(renault[10].ano, renault[10].modelo); imprimir2(renault[10]); imprimir3(p); getchar(); return 0;

Funções que retornam uma Estrutura struct venda{ int pecas; float preco; }; venda novavenda (void) { venda X; printf("nova venda: \n"); printf("insira o número de pecas: "); scanf( %d, &X.pecas); printf(" \ninsira o preco: "); scanf("%f", &X.preco); return X; }; void main (){ venda A, B; A = novavenda(); B = novavenda(); }

Exercício 2 Seja uma estrutura para descrever os carros de uma determinada revendedora, contendo os seguintes campos: marca: string de tamanho 15 ano: inteiro cor: string de tamanho 10 preço: real a) Escrever a definição da estrutura carro. b) Declarar o vetor vetcarros do tipo da estrutura definida acima, de tamanho 20. Crie um menu para: c) Definir uma função para ler o vetor vetcarros. d) Definir uma função que receba um preço e imprima os carros (marca, cor e ano) que tenham preço igual ou menor ao preço recebido. e) Defina uma função que leia a marca de um carro e imprima as informações de todos os carros dessa marca (preço, ano e cor). f) Defina uma função que leia uma marca, ano e cor e informe se existe ou não um carro com essas características. Se existir, informar o preço.