Tradutor

quarta-feira, 4 de junho de 2014

Exercicios C# para iniciantes 2


Conceitos importantes no uso de métodos e classes.

- Em classes e métodos a primeira letra é sempre maiúscula.
   Ex: Class Pessoa, public void Atualizar()
- A primeira letra dos atributos (variáveis) são sempre minusculas.
   Ex: nome, numeroResidencia
- Os métodos devem identificar uma ação.
   Ex: Atualizar(), Andar(), Cadastrar()

- O termo "public" (visível) deixa o seu método sem restrição de acesso.
- Com o temo "protected" o acesso é limitado a classes ou tipos derivados da classe.
- Com "private" o acesso é restrito, permitindo somente dentro da classe.
- O "static" declara que a classe não precisa ser instanciada, podendo assim simplismente chamar seus métodos e propriedades do program.
- Usando o "sealed" definimos uma classe que não pode ser modificada e nem herdada.
- Com o "abstract" definimos uma classe ou método com abstrato e somente podera sem implementado na classe filha. Classes abstratas não podem ser criadas com "novo objeto", só podem ser herdadas.
- "interface" define uma classe que possui apenas a assinatura dos métodos e propriedades. Todos os seus métodos e propriedades deverão ser implementados.
-"virtual" declara que um método ou propriedade pode ser sobrescrito. (override)

- Em programação orientada a objeto, o encapsulamento serve para separar um programa em partes isolando-as o máximo possível, protegendo o acesso direto aos atributos da classe com o objetivo de deixar o programa mais flexível e facilitar o trabalho no código.
   Ex: 
        private string nome;   //Criei uma variavel privada dentro de uma determinada classe.

         public void setNome(string nome)    //Criei um método publico para alimentar a variavel "nome". 
         {
                 this.nome = nome;
         }

Dessa forma no meu program eu só consigo ter acesso a variável nome, pelo método setNome e não diretamente.

VAMOS VER NA PRATICA

1. Crie um vetor de 4 elementos (int), crie um método que alimente este vetor, crie um metodo que mostre os valores deste vetor e crie um método que multiplique por um numero inteiro todos os valores do vetor.

namespace Vetor

{
    class Program
    {
        static void Main(string[] args)
        {
            int[] x = new x[4];
            //Chamando os métodos no main
            GerarVetor(x);
            ImprimirVetor(x);
            MultiplicarVetor(x);

            Console.ReadKey();           
        }

        static void GerarVetor(int[] x)    //Método indicado por uma ação

        {
            Random sort = new Random();

            for (int i = 0; i < 4; i++)

            {
                x[i] = sort.Next(100);
            }
        }

        static void ImprimirVetor(int[] x)    
//Método indicado por uma ação
        {
            Console.WriteLine("Posição 1 do vetor: " + x[0]);
            Console.WriteLine("Posição 2 do vetor: " + x[1]);
            Console.WriteLine("Posição 3 do vetor: " + x[2]);
            Console.WriteLine("Posição 4 do vetor: " + x[3]);
        }

        static void MultiplicarVetor(int[] x)    
//Método indicado por uma ação
        {
            Console.WriteLine("Digite um numero multiplicador: ");
            int mult = int.Parse(Console.ReadLine());

            Console.WriteLine("Posição 1 do vetor: " + (x[0] * mult));

            Console.WriteLine("Posição 2 do vetor: " + (x[1] * mult));
            Console.WriteLine("Posição 3 do vetor: " + (x[2] * mult));
            Console.WriteLine("Posição 4 do vetor: " + (x[3] * mult));
        }
    }

}

2. Declare uma matrix 3 x 4 , crie um metodo que alimente a matriz com numeros de 0 a 50, crie um metodo que some os numeros da matriz, crie um metodo que mostre o menor e o maior valor, crie um metodo que mostre a media dos valores.


namespace Matriz

{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] x = new int[3,4];
            GerarMatriz(x);
            MostrarMatriz(x);
            Somar(x);
            MenorMaior(x);
            Media(x);
        }

        static void GerarMatriz(int[,] x)    
//Método indicado por uma ação
        {
            Random sorteio = new Random();
            for (int l = 0; l < x.GetLength(0); l++)
            {
                for (int c = 0; c < x.GetLength(1); c++)
                x[l,c] = sorteio.Next(51);                
            }
        }

        static void MostrarMatriz(int[,] x)    
//Método indicado por uma ação
        {
            for (int l = 0; l < x.GetLength(0); l++)
            {
                for (int c = 0; c < x.GetLength(1); c++)
                {
                Console.WriteLine("Linha" + l + " Coluna" + c);                    
                Console.WriteLine(x[l, c]);
                
               }
            }
            Console.ReadKey();
        }

        static void Somar(int[,] x)    
//Método indicado por uma ação
        {
            int soma = 0;
            for (int l = 0; l < x.GetLength(0); l++)
            {
                for (int c = 0; c < x.GetLength(1); c++)
                {
                    soma = soma + x[l, c];
                }
            }
            
            Console.WriteLine("Soma de todos os numeros da matriz " + soma);
            Console.ReadKey();
        }

        static void MenorMaior(int[,] x)

        {
            int menor = 50;
            int maior = 0;
            for (int l = 0; l < x.GetLength(0); l++)
            {
                for (int c = 0; c < x.GetLength(1); c++)
                {
                    if (x[l, c] > maior)
                    {
                        maior = x[l, c];
                    }

                    if (x[l, c] < menor)

                    {
                        menor = x[l, c];
                    }

                }

            }
            Console.WriteLine("Menor numero " + menor);
            Console.WriteLine("Maior numero " + maior);
            Console.ReadKey();
        }

        static void Media(int[,] x)

        {
           int soma = 0;
           for (int l = 0; l < x.GetLength(0); l++)
           {
               for (int c = 0; c < x.GetLength(1); c++)
               {
                   soma = soma + x[l, c];
               }
           }
           double media = soma / 12;
           Console.WriteLine("Media " + media);
           Console.ReadKey();
        }  
    }
}

3. Crie uma classe pessoa, com os seguintes atributos: nome, endereço, telefone, idade e altura e com o metodo para imprimir uma mensagem. Use encapsulameto.

CLASSE PESSOA

namespace ProjetoPessoa
{
    class Pessoa
    {
        //Private Variables
        private string name;
        private string address;
        private string fone;
        private int age;
        private float height;

        //Encapsulation
        public void setName(string name)
        {
            this.name = name;
        }
        public string getName()
        {
            return name;
        }
        public void setAddress(string address)
        {
            this.address = address;
        }
        public string getAddress()
        {
            return address;
        }
        public void setFone(string fone)
        {
            this.fone = fone;
        }
        public string getFone()
        {
            return fone;
        }
        public void setAge(int age)
        {
            this.age = age;
        }
        public int getAge()
        {
            return age;
        }
        public void setHeight(float height)
        {
            this.height = height;
        }
        public float getHeight()
        {
            return height;
        }

        //Methods
        public void Printer(string msg)   //Método indicado por uma ação
        {
            Console.WriteLine(msg);
        }
    }
}

PROGRAM

namespace ProjetoPessoa
{
    class Program
    {
        static void Main(string[] args)
        {
            //Instance pessoa1
            Pessoa p1 = new Pessoa();
            p1.setName("João");
            Console.WriteLine(p1.getName());
            p1.Printer("OK");

            //Instance Pessoa2
            Pessoa p2 = new Pessoa();
            p1.setName("Maria");
            Console.WriteLine(p1.getName());
            p2.Printer("OK");

            Console.ReadKey();
        }
    }
}

4. Implementando a seguinte classe:


CLASSE

namespace ProjetoCarro
{
    class Carro
    {
        //Variaveis Privadas
        private string cor;
        private int potencia;
        private string placa;
        private bool ligado;
        private bool freio;

        //Construtor
        public Carro()
        {            
            ligado = false;
            freio = true;
        }

        //Encapsulamento
        public void setCor(string cor)
        {
            this.cor = cor;
        }
        public string getCor()
        {
            return cor;
        }
        public void setPotencia(int potencia)
        {
            this.potencia = potencia;
        }
        public int getPotencia()
        {
            return potencia;
        }
        public void setPlaca(string placa)
        {
            this.placa = placa;
        }
        public string getPlaca()
        {
            return placa;
        }
        public void setLigado(bool ligado)
        {
            this.ligado = ligado;
        }
        public bool getLigado()
        {
            return ligado;
        }
        public void setFreio(bool freio)
        {
            this.freio = freio;
        }
        public bool getFreio()
        {
            return freio;
        }

        //Metodos
        public void Ligar()   //Método indicado por uma ação
        {
            ligado = true;
        }

        public void Desligar()   //Método indicado por uma ação
        {
            ligado = false;
        }

        public void AtivarFreio()   //Método indicado por uma ação
        {
            freio = true;
        }

        public void DesativarFreio()   //Método indicado por uma ação
        {
            freio = false;
        }

        public string Status()  
        {
            if (ligado == true)
            return (" Carro Ligado!" + " Freio: " + freio + " Cor: " + cor + " Potencia: " + potencia + " Placa: " + placa);
            else
            return (" Carro Desligado!" + " Freio: " + freio + " Cor: " + cor + " Potencia: " + potencia + " Placa: " + placa);
            
        }
    }
}

PROGRAM

namespace ProjetoCarro
{
    class Program
    {
        static void Main(string[] args)
        {
     
            Carro c1 = new Carro();
            Console.WriteLine("Informe a cor do carro: ");
            c1.setCor(Console.ReadLine());
            Console.WriteLine("Informe a potencia do carro: ");
            c1.setPotencia(int.Parse(Console.ReadLine()));
            Console.WriteLine("informe a placa do carro: ");
            c1.setPlaca(Console.ReadLine());

            Console.WriteLine("Deseja ligar o carro? S/N");
            string op1 = Console.ReadLine().ToUpper();
            if (op1 == "S")
            {
                c1.Ligar();
            }
            if (op1 == "N")
            {
                c1.Desligar();
            }
            if (op1 != "S" && op1 != "N")
            {
                Console.WriteLine("Opção invalida!");
            }

            Console.WriteLine("Permanecer com os Freios ativados? S/N");
            string op2 = Console.ReadLine().ToUpper();
            if (op2 == "S")
            {
                c1.AtivarFreio();
            }
            if (op2 == "N")
            {
                c1.DesativarFreio();
            }
            if (op2 != "S" && op2 != "N")
            {
                Console.WriteLine("Opção invalida!");
            }

            Console.WriteLine("Status:" + c1.Status());
            Console.ReadKey();
        }
    }

}

Sem comentários:

Enviar um comentário