Exame de 2ª Época. Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE
|
|
- Thais Furtado Rijo
- 6 Há anos
- Visualizações:
Transcrição
1 Recibo do Exame de 2ª Época Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 2ª Época Introdução à Programação IGE e ETI 2004/3/11 1º semestre de 2003/2004 ISCTE Leia atentamente todo o enunciado (incluindo estas notas) antes de começar a prova. Este exame tem 4 (quatro) questões. Duração: 3:30h (três horas e trinta minutos). A prova deve ser efectuada sem consulta. Sobre a sua secretária só pode estar o enunciado, uma caneta e um documento de identificação (coloque pastas, telemóveis e outros objectos sobre a cadeira ao seu lado). Desligue o telemóvel. Não é permitido sair da sala temporariamente durante a realização da prova, nem mesmo para ir à casa de banho. Deve responder a todas as questões no próprio enunciado, nos espaços reservados. Use a página em branco no final do enunciado para rascunho. Não destaque as folhas do enunciado (nem mesmo a de rascunho). Preencha o seu nome e número em todos os locais previstos, incluindo o recibo (não o destaque). Este recibo ser-lhe-á entregue, assinado por um docente, depois da prova. Só um recibo assinado servirá de prova de que entregou a resolução deste enunciado. As cotações encontram-se abaixo de cada alínea (total de 20 valores). As notas serão afixadas até às 18:00h de quarta-feira, dia 17 de Março de A revisão de provas terá lugar das 8:00h às 9:00h de sexta-feira, dia 19 de Março de 2004, no gabinete D6.18. As orais terão lugar a partir das 8:00h de segunda-feira, dia 22 de Março de 2004, no gabinete D6.18, devendo os interessados inscrever-se enviando uma mensagem de correio electrónico para Manuel.Sequeira@iscte.pt até às 18:00h de sexta-feira, dia 19 de Março de Boa sorte. 1/30
2 Questão 1 Assinale com V (Verdadeiro) as expressões que estão correctas e com F (Falso) as que estão incorrectas. Os quadrados podem ser deixados em branco ou ser preenchidos com V ou F. Em geral as alíneas podem ter zero ou mais respostas correctas. Cada resposta correctamente assinalada vale 0,5 valores. Respostas incorrectas correspondem a um desconto de 0,5 valores. Respostas em branco valem 0 valores. Em todos os casos em que não é explicitamente referida a localização de uma instrução, considere que esta é dada na função main() do programa seguinte (que não tem erros lógicos nem sintácticos): #include <iostream> #include <string> #include <vector> using namespace std; class Veiculo { public: Veiculo(string const& matricula, string const& marca, double const tarifa_diaria, double const tarifa_de_fim_de_semana = 2.0); void alteratarifaspara(double const nova_tarifa_diaria, double const nova_tarifa_de_fim_de_semana); string const& matricula() const; string const& marca() const; double tarifadiaria() const; double tarifadefimdesemana() const; void mostra() const; private: string matricula_; string marca_; double tarifa_diaria; double tarifa_de_fim_de_semana; }; bool cumpreinvariante() const; int main() { Veiculo carro1( aa-11-22, opel, 12.0, 23.0); Veiculo carro4( bb-22-22, ford, 15.0, 25.0); } vector<veiculo> veiculos; veiculos.push_back(carro1); veiculos.push_back(carro4);... 2/30
3 Identificação Nome do aluno:... Número do aluno: Admita que qualquer uma destas instruções é dada na função main() do programa acima. Quais das seguintes instruções estão correctas? Veiculo carro2; Veiculo carro3(carro1); carro1.tarifadefimdesemana() = 2.0 * carro1.tarifadiaria() 5.0; for(vector<veiculo>::size_type i = 0; i!= veiculos.size(); ++i) i.mostra(); [cotação: 2] 1.2 Assuma que as seguintes instruções são parte do corpo de um método de instância (não construtor) da classe Veiculo que não tem quaisquer parâmetros e no qual não são declaradas variáveis ou constantes. Quais das seguintes instruções estão correctas? Admita também que este método foi declarado como constante, i.e., garante a constância da instância implícita. marca_ = ; cout << marca(); [cotação: 1] 1.3 Quais das seguintes afirmações são verdadeiras e quais são falsas? São os construtores da classe que se encarregam de garantir que os atributos da instância construída cumprem inicialmente a condição invariante de classe. Admitindo que se pretende proibir que os veículos possuam matrículas vazias, faz sentido colocar a condição matricula_ como pré-condição da operação matricula(). Cada instância de uma classe possui as suas próprias instâncias dos atributos da classe, mesmo que esses atributos sejam de classe. No cabeçalho de qualquer rotina podem ser indicados argumentos por omissão para os seus parâmetros. [cotação: 2] 3/30
4 4/30
5 Identificação Nome do aluno:... Número do aluno:... Questão 2 Recorde-se que deve ler atentamente todo o enunciado antes de resolver as questões! Pretende-se implementar, em C++, uma aplicação para apoio à gestão de facturação de farmácias. A aplicação permite, entre outras operações: criar uma factura com uma ou mais linhas de factura, cada uma correspondente a um produto diferente; calcular o preço total de uma factura; mostar no ecrã uma factura completa; e alterar as linhas de uma factura alterando a quantidade de um produto. A aplicação baseia-se na classe GestorDeFarmacia que possui uma lista de produtos farmacêuticos. Esta lista contém todos os produtos registados na farmácia. Cada produto é caracterizado por um código (considere que é um número inteiro), uma designação, um preço e a taxa de IVA, que já está incluída no preço. Só são possíveis três taxas de IVA: 0%, 5% e 19%. Quando se cria uma factura, a aplicação atribui-lhe um número, que é o número inteiro seguinte ao da última factura, e uma data que corresponde à data corrente (que se considera um inteiro). Ao utilizador é pedido que introduza o nome do cliente e o seu número de beneficiário (do sistema de saúde). Uma factura possui uma ou mais linhas de factura. Quando o utilizador pretende introduzir uma linha numa factura, tem que introduzir o código de um produto e a quantidade pretendida. A aplicação é responsável por encontrar na lista de produtos o produto correspondente. A aplicação não deve permitir a introdução de linhas de factura para produtos não registados na farmácia, exibindo uma mensagem adequada ao utilizador. Não podem existir numa factura duas linhas para o mesmo produto. Quando esta situação é detectada, a aplicação deve informar o utilizador e não permitir a introdução da segunda linha de factura. Quando uma factura é criada, recebe logo um contentor com as suas linhas de factura e não se podem acrescentar nem remover linhas da factura. Apenas a quantidade de produto de uma linha de factura pode ser alterada posteriormente, bastanto para isso fornecer o número da factura, o código do produto e a nova quantidade. O preço total de uma factura é calculado com base no preço unitário e na quantidade de produto de cada linha dessa factura. A aplicação deve também mostrar no ecrã a informação relativa a uma factura completa, incluindo todas as suas linhas de factura. A apresentação desta informação deve ser como seguidamente se exemplifica: Nº factura: 231 Data: Nome: Joana Santos Nº beneficiário: Vitamina C comp 5 mg x 50 preço: quant: 2 total: iva: 5% Água Oxigenada ml preço: 5.07 quant: 1 total: 5.07 iva: 0% Total Considere que existem quatro classes: GestorDeFarmacia, Produto, Factura e LinhaDeFactura. 5/30
6 2.1 Defina a classe Produto. Esta classe deve possuir o código do produto, a descrição, o preço unitário e a percentagem de IVA, e permitir as seguintes operações: Construir um novo produto, dados o código do produto, a descrição, o preço unitário e a percentagem de IVA. O código tem de ser um inteiro positivo, a descrição não pode ser vazia, o preço unitário tem de ser positivo e a taxa de IVA, apenas pode tomar os valores anteriormente referidos. Saber o código do produto. Saber a descrição do produto. Saber o preço unitário do produto. Saber a percentagem de IVA. Mostrar o produto. Coloque apenas a documentação da classe, indicando a respectiva CIC. Não defina nenhum dos métodos da classe. Não documente as operações. Indique claramente, usando a notação C++ apropriada, quais das operações não alteram a instância implícita. Declare o predicado necessário para saber se a CIC se verifica. [cotação: 0,5] 6/30
7 7/30
8 2.2 Defina a classe LinhaDeFactura. Esta classe deve guardar um produto e a respectiva quantidade, e deve ainda permitir as seguintes operações: Construir uma nova linha de factura, dados o produto e a quantidade de produto. A quantidade de produto tem de ser positiva. Obter o produto. Saber a quantidade de produto. Saber o preço da quantidade de produto especificada na linha de factura. Alterar a quantidade de produto especificada na linha de factura para uma nova quantidade dada. A nova quantidade de produto dada tem de ser positiva. Mostrar a linha de factura. Coloque apenas a documentação da classe, indicando a respectiva CIC. Não defina nenhum dos métodos da classe. Não documente as operações. Indique claramente, usando a notação C++ apropriada, quais das operações não alteram a instância implícita. Declare o predicado necessário para saber se a CIC se verifica. [cotação: 1] 8/30
9 9/30
10 2.3 Defina a classe Factura envolvida neste sistema de gestão de facturação de farmácias. Esta classe deve possuir as várias linhas de factura que a compõem, e permitir as seguintes operações: Construir uma factura, dados o número da factura, a data da factura, o nome do cliente, o número de beneficiário do cliente e as linhas da factura. O número da factura tem de ser não negativo, a data da factura tem de ser não negativa, o nome do cliente não deve ser vazio e tem de haver, pelo menos, uma linha de factura. Saber o número da factura. Saber a data da factura. Saber o nome do cliente. Saber o número de beneficiário. Saber o número de linhas da factura. Saber o preço total da factura. Saber se existe uma linha de factura com um dado código de produto. O código de produto tem de ser não negativo. Obter a linha de factura com um dado código de produto. Deve existir uma linha de factura com o produto correspondente ao código dado. Alterar a quantidade de um produto, dados o código do produto e a nova quantidade. Deve existir uma linha de factura com o produto correspondente ao código dado e a quantidade tem de ser positiva. Mostar no ecrã a factura completa. Mostrar no ecrã uma factura parcial, apenas com as linhas de factura cujos produtos possuem uma dada taxa de IVA. Coloque a documentação da classe, indicando a respectiva CIC. Não defina nenhum dos métodos da classe. Coloque a documentação, incluindo PC e CO, apenas nas operações que precisar de definir nas próximas alíneas. Indique claramente, usando a notação C++ apropriada, quais das operações não alteram a instância implícita. Declare o predicado necessário para saber se a CIC se verifica. [cotação: 2] 10/30
11 11/30
12 12/30
13 13/30
14 2.4 Defina completamente o predicado Factura::cumpreInvariante(). [cotação: 1] 14/30
15 2.5 Defina completamente os métodos da classe Factura correspondentes às seguintes operações: Construir uma factura; Saber o preço total da factura; Mostrar no ecrã uma factura parcial, apenas com as linhas de factura cujos produtos possuem uma dada taxa de IVA. Não se esqueça de verificar explicitamente, através de instruções de asserção, a pré-condição (PC), a condição objectivo (CO) e condição invariante de classe (CIC). [cotação: 2] 15/30
16 16/30
17 17/30
18 2.6 Considere a seguinte definição da classe GestorDeFarmacia: /** Representa um gestor de (Q i : 0 i < produtos.size () : (Q j : i + 1 j < produtos.size () : produtos[j].codigo() produtos[i].codigo())). (Q i : 0 i < facturas.size () : (Q j : i + 1 j < facturas.size () : facturas[j].numero() facturas[i].numero())). */ class GestorDeFarmacia { public: /** Constrói um novo gestor de numerodefacturas() = 0 numerodeprodutos() = 0. */ GestorDeFarmacia(); /** Devolve o número de numerodefacturas() = número de facturas. */ int numerodefacturas() const; /** Devolve o número de numerodeprodutos() = número de produtos. */ int numerodeprodutos() const; /** Insere uma nova factura no gestor de existefactura(nova_factura.numero()) e numerodefacturas() = existefactura(nova_factura.numero()) e a factura(nova_factura.numero()) = nova_factura e numerodefacturas() = n + 1. */ void insere(factura const& nova_factura); /** Altera a quantidade de um produto de uma factura para uma nova existefactura(numero_da_factura) e existeprodutonafactura(numero_da_factura, codigo_do_produto) e 0 < factura(numero_da_factura).linhadafactura(codigo_do_produto). quantidade() = nova_quantidade. */ void alteraquantidadedeprodutonafactura(int const numero_da_factura, int const codigo_do_produto, int const nova_quantidade); /** Indica se existe uma factura com o número existefactura = o gestor de farmácia tem uma factura com número numero_da_factura. */ bool existefactura(int const numero_da_factura) const; /** Indica se na factura com o número dado existe alguma linha com o produto com o código existeprodutonafactura = factura(numero_da_factura). contemprodutocom(codigo_do_produto) */ bool existeprodutonafactura(int const numero_da_factura, int const codigo_do_produto) const; /** Devolve uma factura com o número factura.numero() = numero_da_factura. */ Factura const& factura(int const numero_da_factura) const; /** Calcula e devolve o preço total de uma factura com o número precototaldafactura = factura(numero_da_factura).precototal(). */ double precototaldafactura(int const numero_da_factura) const; /** Mostra a factura no Ecrã contém, para além do que continha inicialmente: (ver exemplo mais acima). */ void mostrafactura(int const numero_factura) const; 18/30
19 }; /** Insere um novo produto no gestor de existeproduto(novo_produto.codigo()) e produto(novo_produto.codigo()) = produto. */ void insere(produto const& novo_produto); /** Indica se existe um produto com o código existeproduto = o gestor de farmácia tem um produto com o código codigo_do_produto. */ bool existeproduto(int const codigo_do_produto) const; /** Devolve um produto com o código produto.codigo() = codigo_do_produto. */ Produto const& produto(int const codigo_do_produto) const; private: vector<factura> facturas; vector<produto> produtos; /** Indica se a condição invariante da classe é cumpreinvariante = (Q i : 0 i < produtos.size () : (Q j : i + 1 j < produtos.size () : produtos[j].codigo() produtos[i].codigo())). (Q i : 0 i < facturas.size () : (Q j : i + 1 j < facturas.size () : facturas[j].numero() facturas[i].numero())). */ bool cumpreinvariante() const; Defina os métodos: void GestorDeFarmacia::insere(Factura const& nova_factura), que permite inserir uma nova factura no sistema de facturação de uma farmácia; void GestorDeFarmacia::alteraQuantidadeProdutoNaFactura( int const numero_da_factura, int const codigo_do_produto, int const nova_quantidade) que permite alterar a quantidade de produto numa dada factura; e bool GestorDeFarmacia::existeProduto(int const numero_do_produto) const que verifica se um determinado produto existe na farmácia. Não se esqueça de verificar explicitamente, através de instruções de asserção, a pré-condição (PC), a condição objectivo (CO) e condição invariante de classe (CIC). [cotação: 2,5] 19/30
20 20/30
21 21/30
22 22/30
23 Identificação Nome do aluno:... Número do aluno:... Questão 3 Considere uma função int numerodeembalagenscomcodigo(int const codigo, vector<int> const& codigos) que indica, com base no vector de códigos de produtos fornecido, o número de embalagens de um produto, i.e., com um determinado código. Desenvolva, utilizando um ciclo, uma implementação da função numerodeembalagenscomcodigo(). Siga os passos da metodologia de Dijkstra pedidos nas alíneas desta questão. O cabeçalho e esboço da função seguidamente apresentados devem ser respeitados: int numerodeembalagenscomcodigo(int const codigo, vector<int> const& codigos) { int numero_de_embalagens =???;... } return numero_de_embalagens; Utilize o quantificador de contagem (N j : 0 j < n : predicado(j)) que tem como valor o número de predicados predicado(j) verdadeiros para j variando entre 0 e n - 1, inclusive. Este quantificador tem duas propriedades interessantes: [ k = (N j : 0 j < n : predicado(j)) ] predicado(n) k + 1 = (N j : 0 j < n + 1 : predicado(j)) e [ k = (N j : 0 j < n : predicado(j)) ] predicado(n) k = (N j : 0 j < n + 1 : predicado(j)) 3.1 Indique a pré-condição (PC) e a condição objectivo (CO) da rotina e ainda a condição invariante (CI) [cotação: 1] do seu ciclo interno. 23/30
24 3.2 Defina uma inicialização inic tal que se a PC for verdadeira, então a CI também é verdadeira após inic (inicialização das variáveis) e antes da primeira iteração do ciclo, i.e., // PC inic // CI. Prove explicitamente que de facto: // PC inic // CI. [cotação: 1] 24/30
25 3.3 Indique uma guarda G tal que CI G CO. Prove explicitamente que de facto CI G CO. [cotação: 1] 25/30
26 3.4 Defina um passo passo tal que se a guarda G e a CI do ciclo forem verdadeiras no início de um passo, então a CI também é verdadeira no fim desse passo, i.e., // G CI passo // CI. Prove explicitamente que de facto: // G CI passo [cotação: 1] // CI. 26/30
27 Identificação Nome do aluno:... Número do aluno:... Questão Indique as três principais diferenças entre matrizes e vectores na linguagem C++. É mais vantajoso utilizar matrizes ou vectores? Quando e porquê? [cotação: 1] 27/30
28 4.2 Explique em que é que a utilização da noção de tipo abstracto de dados muda a forma de abordar a solução dos problemas. [cotação: 1] 28/30
29 29/30
30 30/30
Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE
Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época
Leia maisFrequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE
Recibo da (IGE e ETI), 2004/2/10 1º semestre de 2003/2004, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre
Leia maisResolução da Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE
Resolução da Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE Questão 1 Assinale com V (Verdadeiro) as expressões que estão correctas e com F (Falso) as que estão
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisResolução do Exame de 1ª Época/Melhoria da Frequência. Introdução à Programação. IGE e ETI. 2004/3/2 1º semestre de 2003/2004 ISCTE
Resolução do Exame de 1ª Época/Melhoria da Frequência Introdução à Programação IGE e ETI 2004/3/2 1º semestre de 2003/2004 ISCTE Questão 1 Assinale com V (Verdadeiro) as expressões que estão correctas
Leia maisExame de 1ª Época/Melhoria da Frequência Introdução à Programação IGE e ETI 2004/3/2 1º semestre de 2003/2004 ISCTE
Recibo do Exame de 1ª Época/Melhoria da Frequência (riscar o que não interessa) Introdução à Programação (IGE e ETI), 2004/3/2, 1º semestre de 2003/2004, ISCTE Nome do aluno:... Número do aluno:... Assinatura
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem
Leia maisComputação e Programação (2007/2008-1º Semestre)
Computação e Programação (2007/2008-1º Semestre) Exame Tipo: 2008-01-14 MEMec - LEAN DURAÇÃO: 3 horas Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisU.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --
Ministério da Educação e Ciência p-fólio U.C. (21093) Programação por Objetos XX de Julho de 2015 -- INSTRUÇÕES -- O estudante deverá responder à prova na folha de ponto e preencher o cabeçalho e todos
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame
Leia maisLEIA ATENTAMENTE AS INSTRUÇÕES PARA A RESOLUÇÃO DO
Nome:... B.I. :... Nº de Estudante:... Curso:... Turma:... Unidade Curricular:...Programação por Objectos Código: 21093 Data: 22 de Julho 2010 Assinatura do Vigilante:... Classificação ( ) Assinatura do
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2016-2017 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 11 de janeiro de 2017 Exame sem
Leia maisProblema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor)
Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 27 de janeiro de 2015 Exame
Leia maisComputação e Programação. Exame Época de Recurso
Nome : Número : Computação e Programação 2014-2015 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 28 de janeiro de 2015 Exame
Leia maisComputação e Programação. Exame Época Normal
Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 6 de janeiro de 2016 Exame sem
Leia maisNome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2016-2017 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 1 de Fevereiro de 2017 Exame
Leia maisPCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015
PCS - 3111 Laboratório de Programação Orientada a Objetos 1a. Prova 02 de Setembro de 2015 Questão 1 (2,6) Deseja-se implementar um programa que recebe um mês e um dia atual de um ano e o mês e o dia de
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL 1º Semestre 2005/2006 Introdução à Programação Correcção do Exame de 4/02/2006 Leia com atenção as perguntas
Leia maisFundamentos de Programação
Fundamentos de Programação Primeiro Teste 21 de Abril de 2012 11:30 13:00 Nome: Número: Esta prova, individual e sem consulta, tem 5 páginas com 10 perguntas. A cotação de cada pergunta está assinalada
Leia maisFundamentos da Programação
Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada
Leia maisU.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --
Ministério da Educação e Ciência p-fólio U.C. (21093) Programação por Objetos XX de Julho de 2017 -- INSTRUÇÕES -- O estudante deverá responder à prova na folha de ponto e preencher o cabeçalho e todos
Leia maisFundamentos de Programação
Fundamentos de Programação Segundo Teste 9 de Junho de 2012 9:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 6 páginas com 12 perguntas. A cotação de cada pergunta está assinalada entre
Leia maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Leia maisPROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas: a) Implementar o procedimento LerMatriz que preenche uma matriz de L linhas por C colunas de inteiros (L, C 1); b) Implementar o procedimento
Leia maisComputação e Programação 201*/201* - 1º Semestre
Computação e Programação 201*/201* - 1º Semestre Exame Tipo MEMec LEAN DURAÇÃO: 2h30min Leia com atenção os pontos que se seguem: Comece por IDENTIFICAR TODAS AS FOLHAS DO EXAME. Não desagrafe as folhas.
Leia maisFundamentos de Programação
Fundamentos de Programação Segundo Teste 6 de Janeiro de 2010 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 9 perguntas. A cotação de cada pergunta está assinalada
Leia maisU.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --
Ministério da Educação e Ciência p-fólio U.C. (21093) Programação por Objetos XX de Julho de 2016 -- INSTRUÇÕES -- O estudante deverá responder à prova na folha de ponto e preencher o cabeçalho e todos
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 5 Funções e Vectores
Leia maisFundamentos de Programação
Fundamentos de Programação Primeiro Teste 16 de Abril de 2011 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 7 páginas com 9 perguntas. A cotação de cada pergunta está assinalada
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisComputação e Programação Aula prática nº 5. Enunciados dos problemas
Enunciados dos problemas 1 2. Implementação de uma calculadora 2.1 Objectivos do exercício análise sequencial de um problema baseada em objectos e desenvolvimento do respectivo algoritmo; codificação do
Leia maisObjectivos. Iniciar a programação de funções. Estudar a chamada de funções. Estudar a forma como são executadas as funções
Funções Objectivos Iniciar a programação de funções Estudar a chamada de funções Estudar a forma como são executadas as funções Passagem por valor e referência Como conceber funções 2 Programação modular
Leia maisLaboratório 4 Correcção de erros sintácticos e tipos de dados primitivos
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Laboratório 4 Correcção de erros sintácticos e tipos de dados primitivos Disciplina de Introdução à
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012 Introdução à Programação em C 31/01/2012 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Explique
Leia maisRESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:
Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008 Introdução à Programação em C 28/01/2008 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Descreva,
Leia maisSobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Leia mais2 Vectores de objectos
2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisFicha de Avaliação Sumativa. Notas Gerais:
Ficha de Avaliação Sumativa EFA Tecnológico - Técnico de Informática e Sistemas UFCD:0783 Programação em C C++ - Ciclos e Decisões Duração: 150 minutos Nome Formando: Data: / / Formador: João Leitão :
Leia maisGuia e Utilização do Visual Studio.NET 2003
Guia e Utilização do Visual Studio.NET 2003 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio.NET 2003. Passo 1:
Leia maisFundamentos de Programação
Fundamentos de Programação ET43I Aula 5 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens
Leia maisIntrodução à Programação. Encapsulamento e Herança
Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância
Leia maisProgramaçã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 maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt
Leia maisAula 14: Funções Passagem de Parâmetros por Referência
CI208 - Programação de Computadores Aula 14: Funções Passagem de Parâmetros por Referência Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor
Leia maisFicha 1 Noções de sequência e decisão em algoritmia
Ficha 1 Noções de sequência e decisão em algoritmia 1. Ler uma temperatura em Celsius e converter para Fahrenheit. Elabore o algoritmo e especifique as estruturas de dados necessárias para a resolução
Leia maisProgramação 2. Trabalho Prático P4A. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P4A Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm
Leia maisProgramação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011
Programação Orientada por Objectos 2010/11 2º Exame 28 de Junho de 2011 Instruções (leia com cuidado): Escreva de forma CLARA o seu nome e número em todas as folhas. O exame contém 8 páginas dividido em
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C 1º Semestre 2006/2007 27/02/2007 (D) Leia com atenção as perguntas e justifique todas as suas respostas. 1. Explique
Leia maisComputação e Programação. Exame Época Normal
Nome : Número : Computação e Programação 2014-2015 Mestrado Integrado em Engenharia Ciil Licenciatura Bolonha em Engenharia Geológica e de Minas DECiil Exame Época Normal 7 de janeiro de 2015 Exame sem
Leia maisEngenharia de Software
UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 10 de Abril de 2018 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisConstrutores e Especificadores de Acesso
Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia mais1 a Frequência
1 a Frequência 28-10-2009 Programação de Computadores sem consulta Versão A Duração: 1h20m Nome: N o : Nas questões 1, 2, 3 e 4 responda sobre o enunciado que deverá ser entregue junto com a prova. 1.
Leia maisAula 4: Introdução à Linguagem C++
CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas
Leia maisFCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011
1 1 Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 FCUP 2010/11 duração: 2 horas 1. Teste A (indicar o teste que estão a fazer na folha de resposta) 2. Cotação
Leia maisEngenharia de Software
UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 60 minutos Nome: Número: Este teste tem um conjunto de 8
Leia maisObjectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes
Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem
Leia maisFundamentos de Programação 2
Fundamentos de Programação 2 ET43G Aula 9 Prof. Daniel Cavalcanti Jeronymo e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens e métodos,
Leia maisLinguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Leia maisComputação e Programação
Computação e Programação 2ª Aula de Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo Automação e Robótica Exercício 1 Determinação do tamanho de cada tipo de
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisLaborató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 maisPara cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma.
Instruções de Repetição Objetivo A realização deste trabalho deverá permitir ao aluno a familiarização com a utilização de instruções de repetição em C. Para o efeito será proposto um conjunto de exercícios
Leia maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Leia maisCMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisObjectivos. João Sousa Miguel Pedro Silva
Repetição Objectivos Introdução às estruturas de repetição Estudar a utilização da instrução for Estudar a utilização das instruções while e do Ver várias formas de ciclos de entrada de dados Considerar
Leia maisProva de Programação (21090) Data: 31 de Janeiro de 2008
Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Programação (21090) Data: 31 de Janeiro de 2008 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:... RESERVADO PARA
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Grupo 5 Pretende-se escrever um programa em C++, denominado Biblioteca, para gerir uma biblioteca particular. O programa deve conter as seguintes classes: class CLivro string author; string title; string
Leia maisFicheiros de texto 1. Ficheiros de texto. 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro.
Ficheiros de texto 1 Ficheiros de texto 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro. 2. Implementar um programa que procure num ficheiro uma palavra lida do teclado.
Leia mais2ª Aula de Problemas. Uma nota sobre o exercício 3 da 2ª aula de problemas.
2ª Aula de Uma nota sobre o exercício 3 da 2ª aula de problemas. De seguida apresenta-se a resolução do exercício 3, considerando que não era necessário fornecer uma tolerância em baldes. Note que nesse
Leia maisRelatório Trabalho Final Reservas de Viagens de Avião
Programação de Microprocessadores 2011/12 Sem. Par Aluno: 34086 Relatório Trabalho Final Reservas de Viagens de Avião Este relatório tem por base o trabalho realizado nesta disciplina sobre Reservas de
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
Leia mais//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 maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisfinal class UltimosDiasMeses{ static final int[] DIAS_DO_MES = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; }
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP1 1 semestre de 2017. Nome Assinatura Observações:
Leia maisProgramaçã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 maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Grupo 6 Pretende-se fazer um programa para adivinhar o tipo de um ponto qualquer do plano. O tipo de um ponto pode ser GOOD, FAIR e POOR (pretende traduzir alguma medida de qualidade). Considere as classes
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 setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();
Leia maisLinguagem de Programação C++
O que acontecerá se um programa driver para a classe Matriz efetuasse a seguinte sequência de instruções: #include "Matriz.h" int main() char opcao; switch (opcao) case 1: } 201 } int l, c; cout
Leia maisEstruturas de dados e algoritmos fundamentais
Ministério da Ciência, Tecnologia e Ensino Superior U.C. 21046 Estruturas de dados e algoritmos fundamentais 21 de Junho de 2013 INSTRUÇÕES PARA A RESOLUÇÃO DO EXAME, ACONSELHA-SE QUE LEIA ATENTAMENTE
Leia maisLEIC-A / MEIC-A 2007/2008 (1º
1/11 LEIC-A / MEIC-A 2007/2008 (1º Semestre) Teste (versão A) 08 de Janeiro de 2008, 09:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Segunda
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisDEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / Programação
Funções DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / 07 1 Programação modular Programação modular: divir um programa em módulos mais pequenos Função: um conjunto de instruções que desempenham
Leia maisAula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes
CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática
Leia mais