Prévia do material em texto
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
SISTEMAS DE INFORMAÇÃO
GIOVANNA RIBEIRO SANTOS
EXERCÍCIOS DE REVISÃO C#
Betim
2024
Exercício 01:
class NumComplexo
{
public double Real { get; set; }
public double Imaginario { get; set; }
public NumComplexo(double real, double imaginario)
{
Real = real;
Imaginario = imaginario;
}
public override string ToString()
{
string sinal = Imaginario >= 0 ? "+" : "-";
return $"{Real} {sinal} {Math.Abs(Imaginario)}i";
}
public NumComplexoSoma(NumComplexo outro)
{
return new NumComplexo(Real + outro.Real, Imaginario + outro.Imaginario);
}
public NumComplexoSubtracao(NumComplexo outro)
{
return new NumComplexo(Real - outro.Real, Imaginario - outro.Imaginario);
}
static void Main()
{
NumeroComplexo num1 = new NumeroComplexo(3, 4);
NumeroComplexo num2 = new NumeroComplexo(1, -2);
NumComplexo soma = num1.Soma(num2);
NumComplexo subtracao = num1.Subtracao(num2);
Console.WriteLine("Soma: " + soma);
Console.WriteLine("Subtração: " + subtracao);
}
Exercício 02:
class DataAdmissao
{
public int Dia { get; set; }
public int Mes { get; set; }
public int Ano { get; set; }
public DataAdmissao(int dia, int mes, int ano)
{
Dia = dia;
Mes = mes;
Ano = ano;
}
public override string ToString()
{
return $"{Dia}/{Mes}/{Ano}";
}
}
class Funcionario
{
public int Matricula { get; set; }
public string Nome { get; set; }
public string Departamento { get; set; }
public double Salario { get; set; }
public DataAdmissao DataAdmissao { get; set; }
public Funcionario(int matricula, string nome, string departamento, double salario,
DataAdmissao dataAdmissao)
{
Matricula = matricula;
Nome = nome;
Departamento = departamento;
Salario = salario;
DataAdmissao = dataAdmissao;
}
public override string ToString()
{
return $"Matrícula: {Matricula}, Nome: {Nome}, Departamento: {Departamento}, Salário:
{Salario:C}, Data de Admissão: {DataAdmissao}";
}
}
class Empresa
{
private List funcionarios = new List();
public void CadastrarFuncionario(Funcionario funcionario)
{
if (funcionarios.Count f.Departamento.Equals(departamento,
StringComparison.OrdinalIgnoreCase)).ToList();
if (lista.Count > 0)
{
foreach (var funcionario in lista)
{
Console.WriteLine(funcionario);
}
}
else
{
Console.WriteLine("Nenhum funcionário encontrado nesse departamento.");
}
}
static void Main()
{
Empresa empresa = new Empresa();
empresa.CadastrarFuncionario(new Funcionario(1, "João Silva", "TI", 5000, new
DataAdmissao(10, 5, 2018)));
empresa.CadastrarFuncionario(new Funcionario(2, "Maria Souza", "RH", 4500, new
DataAdmissao(15, 8, 2020)));
empresa.CadastrarFuncionario(new Funcionario(3, "Carlos Lima", "TI", 5200, new
DataAdmissao(23, 2, 2019)));
Console.WriteLine("Funcionários do departamento de TI:");
empresa.ListarFuncionariosPorDepartamento("TI");
}
Exercício 03:
class Vet
{
private int[] vetor;
public Vet(int tamanho)
{
vetor = new int[tamanho];
}
public void IncluirValor(int posicao, int valor)
{
if (posicao >= 0 && posicao = 0 && posicao x % 2 == 0).Sum();
}
public int SomarImpares()
{
return vetor.Where(x => x % 2 != 0).Sum();
}
public int SomarTodos()
{
return vetor.Sum();
}
public void ListarElementos()
{
Console.WriteLine("Elementos do vetor: " + string.Join(", ", vetor));
}
static void Main()
{
Console.Write("Digite o tamanho do vetor: ");
int tamanho = int.Parse(Console.ReadLine());
Vet meuVetor = new Vet(tamanho);
meuVetor.IncluirValor(0, 10);
meuVetor.IncluirValor(1, 15);
meuVetor.IncluirValor(2, 20);
meuVetor.IncluirValor(3, 25);
Console.WriteLine("Valor na posição 1: " + meuVetor.RecuperarValor(1));
Console.WriteLine("Existe o valor 15? " + meuVetor.ExisteValor(15));
Console.WriteLine("Soma dos pares: " + meuVetor.SomarPares());
Console.WriteLine("Soma dos ímpares: " + meuVetor.SomarImpares());
Console.WriteLine("Soma total: " + meuVetor.SomarTodos());
meuVetor.ListarElementos();
}
Exercício 04:
class Dependente
{
public int NumeroCota { get; set; }
public string Nome { get; set; }
public DateTime DataNascimento { get; set; }
public Dependente(int numeroCota, string nome, DateTime dataNascimento)
{
NumeroCota = numeroCota;
Nome = nome;
DataNascimento = dataNascimento;
}
}
class Socio
{
public int NumeroCota { get; set; }
public string Nome { get; set; }
public DateTime DataNascimento { get; set; }
public DateTime DataAquisicao { get; set; }
public List Dependentes { get; set; }
public Socio(int numeroCota, string nome, DateTime dataNascimento, DateTime
dataAquisicao)
{
NumeroCota = numeroCota;
Nome = nome;
DataNascimento = dataNascimento;
DataAquisicao = dataAquisicao;
Dependentes = new List();
}
}
class Clube
{
private List socios = new List();
public void CadastrarSocio(Socio socio)
{
socios.Add(socio);
}
public void ListarSocios()
{
foreach (var socio in socios)
{
Console.WriteLine($"Cota: {socio.NumeroCota}, Nome: {socio.Nome}, Data de
Nascimento: {socio.DataNascimento.ToShortDateString()}, Data de Aquisição:
{socio.DataAquisicao.ToShortDateString()}");
Console.WriteLine("Dependentes:");
foreach (var dep in socio.Dependentes)
{
Console.WriteLine($" - Nome: {dep.Nome}, Data de Nascimento:
{dep.DataNascimento.ToShortDateString()}");
}
}
}
public void RemoverSocio(int numeroCota)
{
socios.RemoveAll(s => s.NumeroCota == numeroCota);
}
static void Main()
{
Clube clube = new Clube();
Socio socio1 = new Socio(1, "Carlos Silva", new DateTime(1980, 5, 10), new
DateTime(2010, 6, 15));
socio1.Dependentes.Add(new Dependente(1, "Lucas Silva", new DateTime(2012, 3,
20)));
socio1.Dependentes.Add(new Dependente(1, "Ana Silva", new DateTime(2015, 7, 12)));clube.CadastrarSocio(socio1);
Console.WriteLine("Lista de Sócios e Dependentes:");
clube.ListarSocios();
Console.WriteLine("Removendo sócio com cota 1...");
clube.RemoverSocio(1);
Console.WriteLine("Lista atualizada de Sócios:");
clube.ListarSocios();
}
}
Exercício 05:
struct Livro
{
public string Titulo { get; }
public string Autor { get; }
public string Genero { get; }
public int Ano { get; }
public Livro(string titulo, string autor, string genero, int ano)
{
Titulo = titulo;
Autor = autor;
Genero = genero;
Ano = ano;
}
public string ObterAutor() => Autor;
public string ObterTitulo() => Titulo;
public string ObterGenero() => Genero;
public int ObterAno() => Ano;
public bool EhModernismo() => Ano >= 1930 && Ano Ano >= 1601 && Ano l.Ano).ToArray();
}
public bool BuscarPorAutor(string autor)
{
return livros.Take(contador).Any(l => l.Autor == autor);
}
public int ContarGenero(string genero)
{
return livros.Take(contador).Count(l => l.Genero == genero);
}
public void ListarLivros()
{
foreach (var livro in livros.Take(contador))
{
Console.WriteLine($"{livro.Titulo} - {livro.Autor} - {livro.Genero} - {livro.Ano}");
}
}
}
class Program
{
static void Main()
{
Biblioteca biblioteca = new Biblioteca(5);
biblioteca.AdicionarLivro("O Universo numa Casca de Noz", "Stephen Hawking",
"Física", 2001);
biblioteca.AdicionarLivro("Cem Anos de Solidão", "Gabriel Garcia Matos", "Romance",
1967);
biblioteca.AdicionarLivro("Ariana, a Mulher", "Vinicius de Morais", "Poesia", 1936);
biblioteca.AdicionarLivro("Prosopopeia", "Bento Teixeira", "Poema", 1601);
biblioteca.AdicionarLivro("O Guia do Mochileiro das Galáxias", "Douglas Adams",
"Ficção", 1981);
Console.WriteLine("Lista de Livros antes da ordenação:");
biblioteca.ListarLivros();
biblioteca.OrdenarPorAno();
Console.WriteLine("\nLista de Livros ordenados por ano:");
biblioteca.ListarLivros();
string autorBusca = "Vinicius de Morais";
Console.WriteLine($"\nExiste obra de {autorBusca}?
{biblioteca.BuscarPorAutor(autorBusca)}");
string generoBusca = "Romance";
Console.WriteLine($"\nQuantidade de livros do gênero {generoBusca}:
{biblioteca.ContarGenero(generoBusca)}");
}
}