LP2

LP2

LP2

profile-pic
2024

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
Miguel e Pedro Villa Segunda-feira Laboratório de Informática 12:00-13:00
Miguel e Pedro Villa Terça-feira Em frente ao NAPNE ou a combinar 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
* Tipos e Variáveis ---
* Valores Numéricos, Textuais e Booleanos ---
02 Comandos de Entrada e Conversão de Dados Lista: pdf
* Operações Aritméticas --- ---
03 Estruturas de Seleção: if/else (Parte 1) Lista: pdf
* Estruturas de Seleção: if/else (Parte 2) ---
* Estruturas de Seleção (switch/case) ---
04 Estruturas de Repetição --- Lista: pdf
* Estruturas de Repetição (while) ---
* Estruturas de Repetição (for) ---
05 Exercícios de Revisão (Fundamentos) --- Lista: pdf
06 Teste 01 --- Teste: pdf
06 Funções Lista 01: pdf, Lista 02: pdf
07 Listas --- Slides: pdf, Lista: pdf
08 Teste 02 --- Teste: pdf
09 Introdução à Programação Orientada a Objetos Slides: pdf | Lista: pdf
10 Construtres e Inicializadores de Objetos --- Slides: pdf | Lista: pdf | Program.cs: cs | Dragao.cs: cs
11 Teste 03 (Prático) --- ---
12 Classes de Entidade x Classes de Controle --- Slides: pdf | Lista: pdf
13 Encapsulamento Slides: pdf
14 Definição do Trabalho 01 --- Recursos Úteis: cs
15 Laboratório --- ---
16 Teste 04 --- ---
17 Emissão de resultados parciais --- ---
18 Apresentação Trabalho 01 --- ---
19 Icone da primeira certificação 1ª Certificação - Tema: Dragon Ball "Series" Prova: pdf | Gabarito: Program.cs | DragonBall.cs | Personagem.cs
Início do 2º Período --- --- ---
20 Entrada e Saída em Arquivos --- Slides: pdf | Lista: pdf | Exercícios: zip | Gabarito: zip

Certificações

Trabalhos

Trabalho Prático 01 - Data de apresentação 10/10/2024

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

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.