/PCS3111

Exercícios-programas (EP's) e exercícios desenvolvidos em aula durante a realização da disciplina 'Laboratório de Programação Orientada a Objetos para Engenharia Elétrica' (2020/2).

Primary LanguageC++

Introdução

Olá! Este repositório armazena os exercícios-programas (EP's) e exercícios desenvolvidos em aula durante a realização da disciplina PCS3111 - Laboratório de Programação Orientada a Objetos para Engenharia Elétrica, no ano de 2020, no curso de Engenharia Elétrica da Escola Politécnica da USP. A matéria foi coordenada pelo Prof. Fábio Levy Siqueira e ministrada pelo Prof. Ricardo L. da Rocha O objetivo em tornar estes arquivos públicos se baseia em...

  • Permitir que futuros alunos desta disciplina possam consultar os códigos desenvolvidos aqui, podendo utilizar como fonte de pesquisa/estudos;
  • Disponibilizar estes códigos para qualquer interessado no estudo da Programação Orientada a Objetos (POO) com C++;
  • Servir como fonte de estudo pessoal dos contribuidores, para consultas futuras sobre o conteúdo abordado.

Qual o conteúdo abordado?

Nas pastas de exercícios de aula, há 11 aulas que introduzem a linguagem C++ e as propriedades gerais de orientação a objetos.

A dinâmica da disciplina consistia no seguinte formato: vídeos que introduziam o conteúdo da aula deviam ser previamente assistidos pelos alunos. No horário da disciplina, o professor iniciava reiterando sobre os aprendizados daquela aula, e, em seguida, os alunos deveriam desenvolver os exercícios que o PDF "Exercícios" requisitava. Por isto, em cada pasta de aula, há um arquivo "Exercícios.pdf", que explica e indica qual o enunciado dos respectivos arquivos daquela pasta. Por isto, para entender os exercícios desenvolvidos em aula e os conceitos necessários para isto, é recomendável que visualize-se os PDFs que explicam os exercícios, antes de visualizar os arquivos em si.

Já os Exercícios-Programas foram desenvolvidos diretamente pelo Git e, portanto, contam com os logs de envio em cada upload. Os enunciados de cada EP também constam em suas pastas, e também são de necessária visualização.

Notas obtidas

OBS: o sistema de avaliação para os exercícios era automático, através da plataforma Sharif Judge. Por isto, deixarei disponível também o relatório que o sistema forneceu para ponderar a nota dos exercícios-programa.

Avaliação Nota obtida
Aula 1 10
Aula 2 6,7
Aula 3 10
Aula 4 10
Aula 5 10
Aula 6 8
Aula 7 7,6
Aula 8 10
Aula 9 10
Aula 10 10
Aula 11 10
EP1 8,1
EP2 7,4
Prova 01 9,4
Prova 02 9,4
Média Final 8,7

Nas pastas dos EP's encontram-se também os resultados do feedback que o sistema Judge apresentou para os códigos. Esse feedback informa em que resultados os códigos não estão cumprindo com o enunciado.

Screenshots (EPs)

Rodando os códigos

Todos os arquivos foram desenvolvidos pelo CodeBlocks e podem ser compilados por ele. Porém, recomendo rodar os códigos usando o repositório pelo Gitpod. Basta acessar o link e navegar pelas pastas. Para rodar o EP1, por exemplo:

cd EP1
./main

Caso não haja o executável na pasta:

g++ main.cpp -o output
./output

Caso o arquivo tenha múltiplas dependências:

g++ *.cpp -o output
./output 

Contribuidores

Os exercícios desenvolvidos em sala e as provas disponibilizadas foram realizados por mim, Cezar Gabriel. Já os EP's, realizados em dupla, também contaram com o trabalho do Gabriel Calasans.

Desenvolvimento

Nenhum dos EPs obteve nota máxima e, portanto, não estão totalmente finalizados. Além disso, não foram pensados de forma optimizada. Assim, caso encontre os erros e/ou veja oportunidade de melhorias, sinta-se convidado a contribuir com a edição, pois ela certamente será bem-vinda.

Termos de uso

Todos os direitos sob os enunciados e requisições da disciplina estão reservados para os professores responsáveis e são reproduzidos e compartilhados aqui para, e somente para, consulta. Já os códigos aqui presentes foram desenvolvidos pelos contribuidores e são de livre utilização (apesar de serem altamente não-recomendados para uso :p)