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.
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.
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.
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
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.
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.
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)