Exame de 2ª Época. Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE

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

Download "Exame de 2ª Época. Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE"

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

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 mais

Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE

Frequê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 mais

Resoluçã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 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 mais

Computação e Programação Exame Época de recurso

Computaçã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 mais

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

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 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 mais

Exame de 1ª Época/Melhoria da Frequência Introdução à Programação IGE e ETI 2004/3/2 1º semestre de 2003/2004 ISCTE

Exame 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 mais

Nome: 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 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 mais

Computação e Programação (2007/2008-1º Semestre)

Computaçã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 mais

Nome: 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 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 mais

Computação e Programação Exame Época de recurso

Computaçã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 mais

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

U.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 mais

Nome: 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 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 mais

Nome: 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 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 mais

LEIA ATENTAMENTE AS INSTRUÇÕES PARA A RESOLUÇÃO DO

LEIA 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 mais

Nome: 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 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 mais

Problema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor)

Problema 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 mais

Computação e Programação. Exame Época de Recurso

Computaçã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 mais

Computação e Programação. Exame Época Normal

Computaçã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 mais

Nome: 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. 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 mais

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

PCS 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 mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 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 mais

UNIVERSIDADE 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 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 mais

Fundamentos de Programação

Fundamentos 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 mais

Fundamentos da Programação

Fundamentos 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 mais

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

U.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 mais

Fundamentos de Programação

Fundamentos 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 mais

Fundamentos de Programação

Fundamentos 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 mais

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

PROGRAMAÇÃ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 mais

Computação e Programação 201*/201* - 1º Semestre

Computaçã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 mais

Fundamentos de Programação

Fundamentos 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 mais

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

U.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 mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃ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 mais

Fundamentos de Programação

Fundamentos 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 mais

Classes e Objetos. Sintaxe de classe em Java

Classes 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 mais

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Computaçã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 mais

Objectivos. Iniciar a programação de funções. Estudar a chamada de funções. Estudar a forma como são executadas as 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 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 mais

Laboratório 4 Correcção de erros sintácticos e tipos de dados primitivos

Laborató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 mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012

UNIVERSIDADE 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 mais

RESOLUÇÃ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:

RESOLUÇÃ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 mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008

UNIVERSIDADE 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 mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. 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 mais

2 Vectores de objectos

2 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 mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programaçã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 mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes 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 mais

Linguagem 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 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 mais

Ficha de Avaliação Sumativa. Notas Gerais:

Ficha 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 mais

Guia e Utilização do Visual Studio.NET 2003

Guia 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 mais

Fundamentos de Programação

Fundamentos 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 mais

Introdução à Programação. Encapsulamento e Herança

Introduçã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 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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programaçã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 mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃ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 mais

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 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 mais

Ficha 1 Noções de sequência e decisão em algoritmia

Ficha 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 mais

Programação 2. Trabalho Prático P4A. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.

Programaçã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 mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃ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 mais

Programaçã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 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 mais

UNIVERSIDADE 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 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 mais

Computação e Programação. Exame Época Normal

Computaçã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 mais

Engenharia de Software

Engenharia 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 mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computaçã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 mais

Instituto de Informática Estrutura de Dados II

Instituto 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 mais

Construtores e Especificadores de Acesso

Construtores 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 mais

Programaçã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 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 mais

1 a Frequência

1 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 mais

Aula 4: Introdução à Linguagem C++

Aula 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 mais

FCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011

FCUP 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 mais

Engenharia de Software

Engenharia 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 mais

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Objectivos. 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 mais

Fundamentos de Programação 2

Fundamentos 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 mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem 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 mais

Computação e Programação

Computaçã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 mais

Linguagem de Programação II Implementação

Linguagem 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 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

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma.

Para 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 mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos 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 mais

CMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira

CMP 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 mais

Algoritmos e Programação

Algoritmos 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 mais

9 Classes Abstractas e Interfaces

9 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 mais

Objectivos. João Sousa Miguel Pedro Silva

Objectivos. 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 mais

Prova de Programação (21090) Data: 31 de Janeiro de 2008

Prova 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 mais

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2

Mestrado 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 mais

Ficheiros 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. 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 mais

2ª Aula de Problemas. Uma nota sobre o exercício 3 da 2ª aula de problemas.

2ª 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 mais

Relatório Trabalho Final Reservas de Viagens de Avião

Relató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 mais

Programação científica C++

Programaçã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 //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

Interfaces e Classes Abstratas

Interfaces 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 mais

final class UltimosDiasMeses{ static final int[] DIAS_DO_MES = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; }

final 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 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

Estrutura de dados 1. Ponteiros

Estrutura 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 mais

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2

Mestrado 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 //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

Linguagem de Programação C++

Linguagem 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 mais

Estruturas de dados e algoritmos fundamentais

Estruturas 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 mais

LEIC-A / MEIC-A 2007/2008 (1º

LEIC-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 mais

Implementando 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 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 mais

DEM-Sec.Sistemas Tipos Abstractos de Informação 2006 / Programação

DEM-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 mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 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