·

Sistemas de Informação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Ifes Campus Serra BSI Bacharelado de Sistemas de Informação Estrutura de Dados 20232 Prova 2 TAD Lista Regras para Prova Todos os códigos produzidos como resposta às questões da prova deverão conter apenas o subconjunto de comandos da linguagem C ANSI vistos em sala de aula Caso contrário haverá descontos na pontuação e em alguns casos implicará em nota zero para a prova Todos os nomes fornecidos pelos enunciados devem ser mantidos arquivos de código arquivos de dados funções e tipos de dados Caso contrário a nota da prova será zero Funções não devem ter nome lista de parâmetros e tipos de retorno alterados Todo o código entregue como resposta aos enunciados deve ser compilável pelas versões do gcc estudadas e utilizadas em aula Comandos e funções C não vistas em aula NÃO serão aceitas durante a correção A prova é em grupo de no máximo 2 pessoas Todos oss códigos idênticos entre alunos receberão nota da prova igual a zero O material entregue pelo aluno deverá estar em um arquivo compactado chamado ed p2zip Não será corrigido o material de prova entregue em arquivos que não sejam zip ou cujo o nome não seja aquele especificado no item anterior O arquivo paraprova2zip contém todo o material de prova necessário para a confecção das tarefas matopstxt Atxt Btxt Ctxt Dtxt tadlistah edprova2pdf Correção da Prova Material entregue para a tarefa não é o arquivo edp2zip nota zero Arquivo respostac não é encontrado após a descompactação do arquivo edp1zip nota zero Arquivos ponto c não compilam erros de compilação nota zero Binário é gerado mas falha na execução e produz um erro incortonável nota zero Binário é gerado mas a sua execução resolve um problema que não é o especificado no enunciado nota zero Binário foi gerado executa e produz uma saída coerente para os dados de entrada fornecidos no enunciado nota será definida pela lógica estrutura do programa e manuseio correto dos conceitos de ponteiro e alocação dinâmica Lógica e estrutura do programa tem prioridade sobre a qualidade do resultado Em caso de dúvidas contacte o Professor via o fórum do ava ou via o chat Boa prova Obrigatório Utilize apenas comandos C ANSI abordados em aula Total 35 pontos Modalidade trabalho em dupla Entrega 10102023 23h55 via ava Compilador utilize apenas o compilador gcc utilizado em aulas e laboratórios Qualquer código C que funcione apenas em um determinado SO será descartado Tarefas Tarefa 1 Implementação do tad lista duplamente encadeada 15 PTS Implemente em C ANSI a sua versão do TAD lista duplamente encadeada tema das aulas e laboratórios de ED nas últimas semanas A interface do TAD lista está especificada no arquivo tadlistah fornecido como material de prova O arrquivo tadlistah não pode ser alterado em hipótese alguma Construa o arquivo tadlistac baseado apenas nos tipos definidos no arquivo tadlistah Não serão aceitas implementações que não sejam versões das implementações desenvolvidoas em aula pelo Professor Tarefa 2 Implementação do tad matriz 10 PTS Implemente um TAD matriz em C ANSI por meio da construção dos arquivos tadmatrizc e tadmatrizh nos moldes dos conteúdos vistos em sala de aula e laboratório O TAD matriz deve ser construído como uma lista de listas listas do tipo TAD Lista Neste documento daqui para frente o termo tadmat se referirá a um TAD matriz O TAD matriz deverá fornecer a seguinte interface a tadmat criamatint qlinhas int qcolunas cria e retorna uma estrutura de dados tipo lista de listas listas do tipo TAD lista A estrutura deve representar uma matriz numérica de dimensões qlinhas por qcolunas Todos os elementos devem possuir o valor igual a zero float b tadmat somamattadmat A tadmat B cria e retorna uma nova tad matriz com a soma dos tad matriz A e B passados como parâmetros de entrada Caso as matrizes de entrada não possam ser somadas retornar o valor NULL c tadmat multimattadmat A tadmat B cria e retorna uma nova tad matriz com a multiplicação matricial dos tad matriz A e B passados como parâmetros de entrada Caso as matrizes de entrada não possam ser multiplicadas retornar o valor NULL d tadmat negmattadmat A multiplica por menos um 1 os valores da tad matriz de entrada Retorna a própria matriz de entrada com os valores modificados e tadmat transpmattadmat A retorna uma nova tad matriz equivalente à transposta da tad matriz de entrada tadA f tadmat carregamatchar nomedoarquivo carrega uma matriz numérica a partir do arquivo de nome passado como parâmetro de entrada Retorna uma tad matriz com os valores vindos do arquivo O formato do arquivo de entrada é o mesmo usado nos arquivos fornecidos pelo Professor Os arquivos de matrizes são nomeados com nomes de letras Atxt Btxt etc g tadmat salvamattadmat A char nomedoarquivo salva a tad matriz A no arquivo texto de nome igual ao fornecido no segundo parâmetro Retorna a prórpria tad matriz que foi salva O formato do arquivo é o mesmo usado nos arquivos fornecidos pelo Professor Observação É permitido criar funções auxiliares para facilitar a construção das funções listadas acima Contudo essas funções auxiliares não podem ser disponibilizadas no arquivo tadmatrizh Tarefa 3 Aplicação do tad matriz 10 PTS Um arquivo chamado matopstxt contém em cada linha uma série de operações com matrizes Construa um programa C ANSI chamado aptadmatc O programa deve fazendo uso do TAD matriz ler o arquivo matopstxt linha a linha Para cada linha lida o programa descobre a operação matricial e as matrizes envolvidas na operação realiza a operação solicitada e salva o resultado Exemplo seja o conteúdo de uma linha de matopstxt igual a A x D A aplicação deve utilizando o TAD matriz processar a linha e fazer as cargas das matrizes A e D dos respectivos arquivos efetuar a multiplicação matricial e salvar o resultado O padrão dos nomes dos arquivos de resultado são explicados no exemplo a seguir Exemplo nomes das matrizes são apenas exemplos Conteúdo matopstxt Nomes do arquivo gerado com a operação A B AmaisBtxt A x B AvezesBtxt C TD CmaistranspDtxt A B AmenosBtxt A x B menosAvezesBtxt A x TD AvezestranspDtxt B x TD menosBvezestranspDtxt Exemplos dos formatos de arquivos de matrizes conteúdos de exemplo Arquivo Atxt Arquivo Dtxt 1 1 1 2 1 5 1 1 1 4 5 9 1 1 1 Entrega Compacte os arquivos aptadmatc tadmatrizc tadmatrizh tadlistac tadlistah e todos os arquivos de matrizes txt em arquivo chamado edp2zip Compactações em formato rar não serão corrigidas Entregue o arquivo compactado na tarefa do ava aberta para a avaliação do trabalho de tad matriz Aviso importante Somente serão corrigidas as soluções entregues via tarefa do ava associada à avaliação Soluções não entregues ou entregues via outros mecanismos receberão a nota zero Caso não consiga fazer a entrega da tarefa devido a questões técnicas como falta de conexão com internet ou servidor ava fora do ar registre a causa do impedimento e procure o Professor no dia seguinte a entrega Compareça levando o edp2zip e providencie o devido envio para a tarefa do ava Não seguir o procedimento do parágrafo anterior implicará em nota zero para a avaliação Assinatura das funções e nomes de arquivos Os códigos devem respeitar TODOS os nomes lista de parâmetros e tipos de retorno das funções e nomes dos arquivos mencionados no enunciado Não manter esses nomes implica em nota IGUAL Z ZERO para o trabalho Bons estudos