• Nenhum resultado encontrado

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

N/A
N/A
Protected

Academic year: 2021

Share "Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores"

Copied!
11
0
0

Texto

(1)

Trabalhos Práticos

Programação II

Curso: Engª Electrotécnica - Electrónica e Computadores

1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas

Na disciplina de Programação II é proposto um único trabalho, dividido em duas partes, cuja apresentação e discussão será realizada em momentos diferentes dando origem a avaliações distintas. Ou seja, cada uma das partes dos trabalho poderá ter notas diferentes, sendo o peso de cada uma delas na nota final da disciplina de 15% para a 1ª parte e 20% para a 2ª parte.

Para os alunos que tenham dispensa de avaliação contínua, o peso da nota de cada uma das partes do trabalho na nota final será de 20% e 30% respectivamente para a 1ª parte e 2º parte.

1. Objectivos

Análise, projecto e desenvolvimento de uma aplicação que envolva alguns dos conceitos abordados na disciplina, nomeadamente, estruturas, ficheiros e apontadores. Os objectivos específicos de cada problema proposto deverão ser plenamente atingidas.

1ª Fase

Este módulo do trabalho deverá incluir todas as funcionalidades de manipulação de arrays de estruturas.

2ª Fase

Este módulo do trabalho deverá incluir todas as funcionalidades de manipulação de ficheiros binários, deverá também incluir as estruturas de dados definidas para a 1ª fase do trabalho.

(2)

2. Calendarização

Lançamento das propostas dos temas: 22 de Março de 2004

Identificação dos grupos e temas escolhidos: 29 de Março de 2004 Entrega do relatório e código da 1ª parte : até 26 de Abril de 2004 Apresentação e discussão da 1ª parte : de 26 a 30 de Abril de 2004 Entrega do relatório e código da 2ª parte : até 31 de Maio de 2004 Apresentação e discussão da 2ª parte: de 31 Maio a 04 de Junho de 2004

A identificação dos grupos e temas escolhidos pode ser entregue ao professor das aulas práticas.

A entrega dos relatórios de cada uma das partes do trabalho deve ser feita em mão ao professor das aulas práticas.

3. Normas

O trabalho pode ser realizado individualmente ou em grupos de dois alunos, no entanto, a apresentação e discussão será sempre realizada individualmente.

3.1 Relatório

Dever ser realizado um relatório por cada uma das partes do trabalho, onde deverá constar obrigatoriamente:

a identificação do trabalho,

a identificação completa dos alunos que o realizaram, a especificação das funcionalidades implementadas, a definição completa das estruturas de dados utilizadas, uma explicação da estrutura geral do programa,

e qualquer outra informação adicional que o aluno julgue conveniente.

3.2 Avaliação

Na avaliação do trabalho serão considerados a concretização dos objectivos propostos, e definição das estruturas de dados, a estruturação do programa,

(3)

o interface.

O não cumprimento das datas acima mencionadas implica a anulação da nota do trabalho.

A não entrega de relatório implica uma redução para metade da nota final do trabalho

4. Propostas

Tema 1 – Gestão da disciplina de Programação II Tema 2 – Gestão de Edifícios e Condóminos Tema 3 – Agenda Electrónica “Sem-Stress” Tema 4- Gestão de uma Gare de Camionagem Tema 5- Manutenção de assiduidade

Tema 6- Campeonato de Futsal Tema 7- Gestão de uma Imobiliária Tema 8- Gestão de um Horto

(4)

Tema 1 –

Gestão da disciplina de Programação II

Elabore um programa que permita gerir a cadeira de Programação 2, nomeadamente, controle da assiduidade, aprovações e reprovações, alguns dados estatísticos (por ex: percentagem dos alunos reprovados e aprovados, e etc.) e contabilísticos (por ex: numero de alunos que realizaram os trabalhos, os mini-testes, e etc.).

O programa deverá guardar informações sobre os dados dos alunos (numero, nome e turma), as respectivas classificações nos mini-testes e nos trabalhos, assim como nos exames.

Em função dos critérios definidos para a cadeira de Programação 2 (2 º semestre do ano lectivo 2003/04) determinar os alunos aprovados e reprovados.

Os critérios definidos para a cadeira de Programação 2:

• A avaliação durante o período lectivo, Nota de Frequência, tem um peso de 50% no valor final da nota da disciplina. Esta avaliação é realizada durante o período lectivo e tem duas componentes:

o Três mini-testes escritos, a realizar ao longo do período lectivo, com um peso de 15% na nota final, no entanto dos três mini-testes considera-se somente as duas melhores classificações.

o Dois trabalhos práticos, a realizar ao longo do período lectivo, em grupo ou individualmente, apresentados e discutidos individualmente em qualquer um dos casos. O primeiro trabalho terá um peso de 15% na nota final e o segundo trabalho terá um peso de 20% na nota final. • Os alunos com dispensa de avaliação contínua ficam dispensados da realização dos mini-testes

escritos, mas não dispensados da realização dos trabalhos, que neste caso terão um peso global de 35% na nota final.

• Avaliação na prova de exame:

o Prova escrita no final do semestre, com um peso de 50% para os alunos não dispensados de avaliação contínua e um peso de 65% para os alunos dispensados de avaliação contínua.

o Para aprovação na disciplina o aluno deverá ter na prova de exame uma classificação igual ou superior a 7 valores

• Classificação final da disciplina

o A classificação final obtém-se a partir da média pesada da Nota de Frequência (NFREQ)e da Prova de Exame (PE), tendo em consideração que para ser Aprovado o aluno precisa de ter o mínimo de 7 valores na Nota de Exame.

( xNFREQ + yPE ) x + y

x = 0.5 Min NFREQ = 0 y = 0.5 Min PE = 7

o Para os alunos com dispensa de avaliação contínua a Nota de Frequência é substituída pela Nota dos Trabalhos (NTRAB). Assim:

( xNTRAB + yPE ) x + y

x = 0.35 Min NTRAB = 0 y = 0.65 Min PE = 7

• Nota: reprovam os alunos que não assistam a pelo menos 2/3 das aulas práticas efectivamente dadas.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e alteração e eliminação), leitura (consultas), pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. (inserção e alteração e eliminação), leitura (consultas), pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(5)

Tema 2 – Gestão de Edifícios e Condóminos

Desenvolva uma aplicação que permita realizar a gestão dos condomínios de vários edifícios. Para tal necessita de armazenar informação relativa aos edifícios e aos condóminos de cada edifício. Relativamente aos edifícios a informação a armazenar é a seguinte, código edifício, nome do edifício, morada, localidade, número de fracções, valor anual estimado para gastos em água, valor anual estimado para gastos em electricidade, valor anual estimado para gastos em limpezas, valor anual estimado para gastos em jardinagem, valor anual estimado para gastos em segurança, valor anual estimado para gastos em elevadores, valor anual estimado para outro tipo de despesas.

Quanto aos condóminos (proprietário de uma fracção existente no edifício) a informação necessária é a seguinte, código do edifício, número da fracção, nome do proprietário, percentagem ocupada pela fracção no edifício, valor mensal a pagar pela água, valor mensal a pagar pela electricidade, valor mensal a pagar pela limpeza, valor mensal a pagar pela jardinagem, valor mensal a pagar pela segurança, valor mensal a pagar pelos elevadores, valor mensal a pagar para outros tipos de despesas e número de meses pagos pelo proprietário.

A aplicação deve permitir inserir edifícios e condóminos, tendo sempre em atenção as necessárias validações. A aplicação deve também permitir alterar, consultar e eliminar esta informação. Além disso, deve ser capaz de calcular os valores a serem pagos por cada condómino relativos às despesas do edifício e alertar se há condóminos com valores em atraso.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(6)

Tema 3 –

Agenda Electrónica - “SEM–STRESS”

Desenvolva uma aplicação que permita manter uma Agenda Electrónica que possa ser utilizada por várias pessoas, cada pessoa é identificada pelo nº de BI e por uma Senha.

O programa deverá guardar informações sobre Compromissos (Data, Hora, Descrição e [Duração]) e Tarefas (Descrição, [Data] e [Hora]) dos vários utilizadores da agenda. Os Compromissos podem estar relacionas com uma determinada Categoria (Reunião, Férias, Chamada Telefónica, ...) e as Tarefas encontram-se sempre num determinado Estado (Por Iniciar, Em progresso, Completa). A aplicação deverá permitir:

• Inserir, Alterar e Eliminar informação sobre Compromissos e Tarefas.

• Apresentar ou enviar para Ficheiro Texto, Compromissos agendados para determinado Dia, Semana ou Mês.

• Apresentar ou enviar para Ficheiro Texto, Compromissos agendados de uma determinada Categoria.

• Apresentar ou enviar para Ficheiro Texto, Tarefas que se encontrem num determinado Estado.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(7)

Tema 4 –

Gestão de uma Gare de Camionagem

A ISEPTours, empresa de viagens internacionais em camionetas, alargou o negócio à Europa de Leste. Consequentemente, pretende criar um sistema de controlo das partidas/chegadas.

Para este sistema, pretende-se implementar um programa que permita guardar informação sobre as partidas/chegadas, com as seguintes funcionalidades:

• Adicionar/remover a partida, com informação da hora, camioneta e destino. • Adicionar/remover a partida, com informação da hora, camioneta e proveniência. • Atrasar uma chegada/partida.

• Listar informação sobre as próximas chegadas/partidas.

• Listar informação sobre as partidas/chegadas, dado um destino/proveniência. • Calcular o tempo para uma chegada/partida.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Deve desenvolver a aplicação criada anteriormente, de forma a que seja possível, no final do dia, guardar a informação no disco para o dia seguinte.

(8)

Tema 5-

Manutenção de assiduidade

Uma empresa tem-se debatido com alguns problemas relativamente à assiduidade e pontualidade dos seus funcionários. Assim, pretende implementar um sistema de manutenção da assiduidade dos seus colaboradores, na tentativa de reduzir os problemas encontrados.

O programa a desenvolver deve permitir registar os empregados, juntamente com os respectivos horários.

As horas de entrada e saída são registadas pelo segurança, que introduz as horas juntamente com a respectiva data.

Deverá ser possível verificar os dados sobre a assiduidade de um determinado funcionário, sobre os funcionários que se atrasaram num dado intervalo de tempo ou funcionários que faltaram num intervalo de tempo.

Adicionalmente, será instituído um “prémio” para os 3 funcionários menos assíduos, aos quais será descontado 2% do salário por cada hora que tenham faltado. A contabilização das horas de faltas será feita adicionando todos os intervalos de tempo que o funcionário faltou, contando um dia como 8 horas. Para tal deve ser elaborada uma lista de funcionários, ordenada decrescentemente pelo número de horas de falta.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(9)

Tema 6 -

Campeonato de Futsal

Devido à grande participação que se regista no campeonato de Futsal Taça ISEP 150 anos, pretende-se, para futuros eventos destes tipo, desenvolver um programa que ajude a registar os dados relativos ao decorrer do campeonato. Deve ser possível armazenar informação das várias equipas (nome da equipa, contacto do responsável, elementos que a constituem, etc).

Pretende-se que o torneio decorra sob a forma de rondas. Assim, o programa terá que permitir a manutenção dos pontos acumulados por cada equipa, em cada jogo durante cada ronda. No final de uma ronda (indicada pelo utilizador), o programa deve verificar os pontos de cada equipa e apenas manter no campeonato as N equipas com melhor pontuação e reiniciar a pontuação de cada. As rondas repetem-se até termos o grande vencedor da taça.

Em qualquer momento deverá ser possível ver um sumário sobre o decorrer do campeonato.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(10)

Tema 7 –

Gestão de uma imobiliária

Pretende-se criar uma aplicação informática para controlo e gestão de uma imobiliária.

Determinada imobiliária solicitou o desenvolvimento de uma aplicação que permitisse armazenar as características de vários apartamentos e de vários possíveis compradores. Pretende-se que sejam guardadas as seguintes características sobre os apartamentos à venda:

• Nº de angariação

• Nome(s) dos proprietários

• Tipologia (por exemplo, T2, T1+1) • Área útil

• Se tem garagem e se esta é fechada ou aberta • Se tem varanda

• Nº de anos do imóvel • Morada do imóvel

• Contactos dos proprietários • Preço de venda do imóvel

Para os possíveis compradores interessa saber: • Tipologia pretendida

• Nome(s) dos possíveis compradores • Nº de anos

• Preço mínimo • Preço máximo • Nº de anos do imóvel

• Localidade ou localidades onde fica o imóvel a comprar • Nº de telefone para contacto

Pretende-se o desenvolvimento de um programa em C com as seguintes funcionalidades: a. Permita a inserção de dados;

b. Permita a alteração de dados, inclusive a inserção/remoção de outros telefones de contacto, ou localidades de interesse para os possíveis compradores;

c. Permita a listagem de todos os imóveis que possam interessar a determinado cliente, ordenada pelo preço;

d. Permita apagar todos os dados de um determinado imóvel. e. Permita apagar todos os dados de um possível comprador

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

(11)

Tema 8 –

Gestão de um Horto

Determinada cadeia de lojas especializadas no comércio de plantas pediu o desenvolvimento de uma aplicação que permitisse armazenar as características das várias plantas comercializadas de forma a melhor responder as solicitações dos clientes, mesmo quando atendidos por funcionários menos experientes. Pretende-se que sejam guardadas as seguintes características:

• Nome científico da planta;

• Nomes comuns (há plantas com mais do que um nome comum); • Meses de floração (há plantas sem flores);

• Cor(es) das flores para diversas variedades da planta. Por exemplo, determinada planta pode ter flores amarelas ou brancas, mas outra planta diferente pode ter apenas flores brancas;

• Se a planta é de interior ou exterior;

• Se a planta necessita de muita ou pouca luz; • Frequência de utilização de adubos (em meses); • Frequência de rega (em dias)

• Preço

Pretende-se o desenvolvimento de um programa em C que numa fase inicial apenas trabalhe em memória central e que tenha as seguintes funcionalidades:

a. Permita a inserção de dados de novas plantas;

b. Permita a alteração de dados, inclusive a inserção/remoção de outros nomes comuns ou de outras cores possíveis para as flores;

c. Permita a listagem de todas as plantas que reunam determinadas características, ordenada pelo preço;

Permita apagar todos os dados de uma determinada planta.

1ª Fase

Desenvolvimento das funções de criação e manipulação de arrays de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura, pesquisa de dados no array e ordenação se assim entender necessário.

2ª Fase

Desenvolvimento das funções de manipulação de ficheiros e criação de estruturas para armazenar a informação necessária. Deverão ser utilizadas funções de escrita (inserção e actualização), leitura e pesquisa de dados no ficheiro, assim como funções de ordenação se assim entender necessário.

Referências

Documentos relacionados

Observações como esta ganham peso ainda maior quando se leva em conta que, num país desprovido de cultura científica, os veículos de comunicação representam o canal mais

É relevante, ainda, considerar que os termos “reciclagem/ formação” indiciam a vontade que o especialista, reconhecido como portador de um saber, tem de

A infecção pelo Vaccinia vírus não é totalmente considerada como de ocorrência natural, embora transmissão de ordenhadores para vacas e de vacas para o homem tenham ocorrido,

Desta forma, o objetivo deste trabalho foi estimar a diversidade genética para o pré-melhoramento de indivíduos de jenipapo procedentes do Estado de Sergipe, e avaliar o

A tendência a uma distribuição nor- mal, observada para o ritmo de emergência dos adultos prove- nientes dos diferentes tipos de fezes recém-emitidas, sofreu mo- dificações

Assim, o objetivo deste trabalho foi avaliar a diversidade genética de acessos de Saccharum do Banco Ativo de Germoplasma da Embrapa Tabuleiros Costeiros, e caracterizá-los in

1) O sujeito que viveu a experiência real, ou seja, sobreviveu ao cárcere, relacionou-se com outros presos, teve a saúde debilitada, entre outras consequências geradas em

polimorfismo e amplitude de bases, gerados pelas reações de PCR para estudo da diversidade genética entre indivíduos de população de cambuizeiro (Myrciaria tenella O.