LP2

LP2

LP2

profile-pic
2025

Linguagem de Programação 2

O objetivo desta disciplina é explorar como o paradigma de programação orientado a objeto (P.O.O.) é utilizado e como seus conceitos teóricos são aplicados na prática. Para tal, a linguagem de programação utilizada será o C# em conjunto com a plataforma de desenvolvimento .NET. Aplicações de Windows Forms serão desenvolvidos e, por fim, sistemas que se comunicam com Bancos de Dados serão implementados.

Informações Gerais

Ementa

Introdução e motivação. Arquitetura .NET e a Linguagem C#. Características da Linguagem. Revisão de Programação Estruturada: Entrada e saída de dados, tipos de dados; Estrutura de seleção e repetição; Criação e Uso de Funções. Programação Orientada a Objetos: Classes e Objetos. Construtores e Destrutores. Pilares da P.O.O.: encapsulamento, herança, polimorfismo. Windos Forms (Designer). Propriedades e Eventos. Aplicações multiformulários. Entrada e saída em arquivos. Exceções. Conexões com Bancos de Dados. Desenvolvimento de aplicações CRUD. Desenvolvimento de Trabalho de Conclusão de Curso.

Monitoria
Monitores Dia da Semana Local Horário
Jean, Gabriel Fernandes, Gabriel Corrêa, Diogo Terça-feira/Quinta-feira Laboratório de Informática 12:00-13:00

Instalando o Visual Studio
Salvando e Enviando um Projeto

Programação das Aulas

Aula Tópicos Vídeo Aula Outros Materiais
Início do 1º Período --- --- ---
01 Introdução à Linguagem C# e Arquitetura .NET --- Slides: pdf
02 Tipos e Variáveis Lista: pdf
* Valores Numéricos, Textuais e Booleanos ---
* Comandos de Entrada e Conversão de Dados ---
03 Exercícios (Entrada e Saída) Lista: pdf
04 Estruturas de Seleção: if/else (Parte 1) Lista: pdf
* Estruturas de Seleção: if/else (Parte 2) ---
* Estruturas de Seleção (switch/case) ---
05 Estruturas de Repetição (while) Lista: pdf
06 Estruturas de Repetição (for) Lista: pdf
07 Exercícios de Revisão --- Lista: pdf
08 Exercícios de Revisão --- ---
09 Teste 01 - Tema: Stranger Things Teste: pdf
10 Funções Lista 01: pdf | Lista 02: pdf
11 Introdução à P.O.O. Slides: pdf | Lista: pdf
12 Teste 02 --- ---
13 Listas (vetores) --- Slides: pdf | Lista: pdf
14 Trabalho 01 --- Base: zip
15 Construtres e Inicializadores de Objetos --- Slides: pdf
16 Classes de Entidade x Classes de Controle --- Slides: pdf
17 Exercício de Fixação --- Lista: pdf | Gabarito: cs
18 1ª Certificação - Tema: Mundial de Clubes --- Prova: pdf
19 Arguição Trabalho Prático --- ---
Início do 2º Período --- --- ---
20 Aplicações GUI - Windows Forms Slides: pdf
21 Exercícios de Fixação --- Lista: pdf
22 Teste --- ---
23 Novos controles: NumericUpDown, RadioButton, CheckBox --- Exercício IMC
24 Tratamento de Eventos --- Lista: pdf
25 Manipulação de Arquivos: StreamWriter e StreamReader (Parte 01) --- Slides: pdf | Arquivo: txt
26 Manipulação de Arquivos: Janelas de Diálogo, classes File, Directory e Path (Parte 2) --- Slides: pdf | Lista: pdf
27 Tratamento de Exceções --- Slides: pdf
28 Trabalho Prático --- Projeto Base: zip
29 Teste "Fantástico" --- ???
30 Laboratório --- Não deixe de trazer o seu projeto!
31 Apresentação Trabalho Prático 02 --- ---
32 Integração com Banco de Dados --- Material: zip

Certificações

Trabalhos

Trabalho Prático 01 - Data de apresentação a combinar

O trabalho prático consiste em elaborar uma aplicação de C# Console que faça uso dos conceitos discutidos até o momento. Os alunos em grupos de até 4 participantes poderão desenvolver um programa com tema livre, respeitando requisitos básicos de entrega (necessário criação de classe própria, uso de objetos e pelo menos uma lista (List)). Uma série de ideias foram discutidas em aula para motivar e inspirar os grupos.

A principal ideia do trabalho é explorar recursos (classes e métodos) diferentes disponíveis na linguagem, de modo a alinhar a criatividade do aluno com o projeto apresentado. Diversas classes foram apresentadas no link Recursos Úteis.

Alguns fundamentos de ideias discutidos em sala:


Memorização
Velocidade
Sorte

Ideia: mostrar uma sequência de inteiros na tela por um tempo, apagar e pedir para o usuário tentar replicar.

Ideia: ficar pressionando uma tecla rapidamente. Contar quantas vezes o usuário consegue pressionar a tecla num intervalo específico de tempo.

Ideia: sortear um número inteiro entre 0 e n-1 e determinar qual inteiro "explode". Pedir para cada usuário ir escolhendo um inteiro até que alguém seja elimiinado. Repetir.

Reação
Contagem
Outros

Ideia: tocar uma música. Quando a música parar de tocar, dois ou mais usuários deverão pressionar uma tecla rapidamente. O usuário que pressionar a tecla primeiro vence.

Ideia: uma série de números inteiros irão aparecer e desaparecer da tela durante um tempo. Depois será pedido que cada usuário diga quantas vezes um determinado número inteiro apareceu na tela.

  • Enciclopédia: Pokedex, lista de itens (CS), eventos históricos, etc;
  • Quiz: perguntas e respostas, cálculo de expressões, etc;
  • Calculadora: calculadora de Física (todos os movimentos), de Matemática, de Trigonometria, etc;
  • Player de Música: menu com lista de músicas, etc;
  • Movimentação no Console: desenhar mapa no console e movimentar um player nele;
  • Decisão: variações de Pedra/Papel/Tesoura, Par/Ímpar, etc;
  • etc

Trabalho Prático 02 - Data de apresentação 07 de Novembro

O trabalho prático consiste em elaborar uma aplicação C# usando Windows Forms. Esta aplicação deverá apresentar funcionalidades para cadastrar, atualizar, remover e ler questões, conforme discutido em sala. As questões devem ser armazenadas em arquivos de texto, individualmente. Um usuário além de realizar tais operações, também poderá responder questões, recebendo indicação se elas estão corretas ou não. Cada questão deverá manter a taxa de acertos e erros ao longo do tempo, persistindo essas informações no arquivo .txt. Além de carregar uma questão, a aplicação deverá ser capaz de carregar também várias questões que estejam armazenadas em uma pasta. Os alunos em grupos de até 3 participantes poderão desenvolver um programa com tema livre para as questões, respeitando os requisitos básicos de entrega combinados em sala.

A principal ideia do trabalho é explorar os recursos gráficos disponíveis na linguagem assim como a manipulação de arquivos.

O trabalho valerá 5 pontos (com peso 2 para compor a média de trabalhos da segunda certificação), sendo 3,5 pontos destinados aos requisitos básicos. O restante da pontuação será atribuído ao grau de criatividade, complexidade e rigor técnico envolvido em novas funcionalidades, levando em consideração sempre a experiência de usuário e taxa de erros.


Referências

Os livros apresentados abaixo foram utilizados como base na elaboração do material didático da disciplina. Podem ser utilizados pelos alunos que desejam se aprofundar em algum aspecto da disciplina, no entanto, não é necessário adquiri-los.