Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

C# ::: Dicas & Truques ::: Programação Orientada a Objetos

C# para iniciantes - Programação orientada a objetos em C#: Classes, objetos, métodos e variáveis de instância

Quantidade de visualizações: 31100 vezes
A melhor forma de entender a programação orientada a objetos é começar com uma analogia simples. Suponha que você queira dirigir um carro e fazê-lo ir mais rápido pressionado o acelerador. O que deve acontecer antes que você seja capaz de fazer isso? Bem, antes que você possa dirigir um carro, alguém tem que projetá-lo. Um carro geralmente começa com desenhos feitos pelos engenheiros responsáveis por tal tarefa, tal qual a planta de uma casa. Tais desenhos incluem o projeto de um acelerador que possibilita ao carro ir mais rápido. O pedal do acelerador "oculta" os mecanismos complexos responsáveis por fazer o carro ir mais rápido, da mesma forma que o pedal de freio "oculta" os mecanismos que fazem o carro ir mais devagar e o volante "oculta" os mecanismos que fazem com que o carro possa virar para a direita ou esquerda. Isso permite que pessoas com pequeno ou nenhum conhecimento de motores possam facilmente dirigir um carro.

Infelizmente, não é possível dirigir o projeto de um carro. Antes que possamos dirigí-lo, o carro deve ser construído a partir do projeto que o descreve. Um carro já finalizado tem um pedal de aceleração de verdade, que faz com que o carro vá mais rápido. Ainda assim, é preciso que o motorista pressione o pedal. O carro não acelerará por conta própria.

Agora vamos usar nosso exemplo do carro para introduzir alguns conceitos de programação importantes à programação orientada a objetos. A execução de uma determinada tarefa em um programa exige um método. O método descreve os mecanismos que, na verdade, executam a tarefa. O método oculta tais mecanismos do usuário, da mesma forma que o pedal de aceleração de um carro oculta do motorista os mecanismos complexos que fazem com que um carro vá mais rápido. Em C#, começamos criando uma unidade de programa chamada classe para abrigar um método, da mesma forma que o projeto de um carro abriga o design do pedal de acelerador. Em uma classe fornecemos um ou mais métodos que são projetados para executar as tarefas da classe. Por exemplo, a classe que representa uma conta bancária poderia conter muitos métodos, incluindo um método para depositar dinheiro na conta, outro para retirar dinheiro, um terceiro para verificar o saldo, e assim por diante.

Da mesma forma que não podemos dirigir o projeto de um carro, nós não podemos "dirigir" uma classe. Da mesma forma que alguém teve que construir um carro a partir de seu projeto antes que pudessémos dirigí-lo, devemos construir um objeto de uma classe antes de conseguirmos executar as tarefas descritas nela.

Quando dirigimos um carro, o pressionamento do acelerador envia uma mensagem ao carro informando-o da tarefa a ser executada (neste caso informando-o de que queremos ir mais rápido). Da mesma forma, enviamos mensagens aos objetos de uma classe. Cada mensagem é uma chamada de método e informa ao objeto qual ou quais tarefas devem ser executadas.

Até aqui nós usamos a analogia do carro para introduzir classes, objetos e métodos. Já é hora de saber que um carro possui atributos (propriedades) tais como cor, o número de portas, a quantidade de gasolina em seu tanque, a velocidade atual, etc. Tais atributos são representados como parte do projeto do carro. Quando o estamos dirigindo, estes atributos estão sempre associados ao carro que estamos usando, e cada carro construído a partir do projeto sofrerá variações nos valores destes atributos em um determinado momento. Da mesma forma, um objeto tem atributos associados a ele quando o usamos em um programa. Estes atributos são definidos na classe a partir da qual o objeto é instanciado (criado) e são chamados de variáveis de instância da classe.

Veremos agora como definir uma classe em C# e usar um objeto desta classe em um programa. Se estiver usando o Visual C# 2005 ou 2008, a forma mais comum de adicionar uma classe ao seu projeto é clicando com o botão direito no namespace do projeto (o primeiro filho do solution explorer) e escolhendo a opção Add -> Class. Em seguida dê o nome "Cliente.cs" para a classe e clique o botão Add. Imediatamente o código inicial para a classe será exibido, contendo o namespace e alguns using padrões. Agora faça sua classe Cliente parecida com o código abaixo (não altere nada em relação ao namespace):

class Cliente{
  private String nome;

  // Um método que permite definir um valor
  // para a variável privada nome
  public void setNome(String nome){
    this.nome = nome;
  }

  // Um método que permite obter o valor
  // da variável privada nome
  public String getNome(){
    return this.nome;
  }
}

Agora vamos aprender a usar esta classe a partir da classe principal do programa (aquela que contém o método Main). Veja:

static void Main(string[] args){
  // Cria uma instância da classe Cliente
  Cliente c = new Cliente();

  // Define um nome para o cliente
  c.setNome("Osmar J. Silva");

  // Obtém o nome do cliente
  string nome = c.getNome();
  Console.WriteLine(nome);

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}



C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C++ - Escreva uma função C++ que recebe três números inteiros e retorna o menor deles

Quantidade de visualizações: 650 vezes
Pergunta/Tarefa:

Escreva um programa C++ que contenha uma função, método ou procedimento que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos.

Sua saída deverá ser parecida com:

Informe o primeiro número: 8
Informe o segundo número: 10
Informe o terceiro número: 7
O menor número é: 7
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

#include <iostream>
#include <algorithm>

using namespace std;

// função que recebe três números e retorna o menor deles
int menor(int a, int b, int c){
  return min(min(a, b), c);
}

// função principal do programa
int main(int argc, char *argv[]){
  int n1, n2, n3, menor_numero;
	
  // vamos pedir para o usuário informar três
  // números inteiros
  cout << "Informe o primeiro número: ";
  cin >> n1;
  cout << "Informe o segundo número: ";
  cin >> n2;
  cout << "Informe o terceiro número: ";
  cin >> n3;
    
  // agora vamos calcular o menor número
  menor_numero = menor(n1, n2, n3);
    
  // e mostramos o resultado
  cout << "O menor numero é: " << menor_numero << endl;
    
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



JavaScript ::: DOM (Document Object Model) ::: Navegação e Pesquisa de Nós (Nodes)

Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScript

Quantidade de visualizações: 8611 vezes
Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScript

A propriedade nodeType, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1, pode ser usada quando precisamos obter o tipo de um determinado nó (node) na hierarquia de elementos HTML no DOM (Document Object Model). Esta propriedade retorna um valor inteiro indicando o tipo de nó sendo testado. Os valores mais comuns são 1 (nó elemento) e 3 (nó texto).

Veja uma página HTML na qual temos um parágrafo e um elemento span. Na primeira vez nós vamos obter uma referência ao parágrafo e testar o tipo do nó. Na segunda vez nós obtemos uma referência ao primeiro nó filho do elemento span, o que resultará em seu conteúdo sendo testado. Veja:

<html>
<head>
<title>Estudos JavaScript</title>

<script type="text/javascript">
  function obterNodeType(){
    // vamos obter uma referência ao parágrafo com o id "paragrafo"
    var elem = document.getElementById("paragrafo");

    // vamos obter o tipo de nó deste elemento
    var tipo = elem.nodeType;

    // vamos mostrar o resultado
    window.alert("O tipo deste elemento é: " + tipo);
    
    // vamos obter uma referência ao span com o id "frase"
    elem = document.getElementById("frase");

    // vamos obter o tipo de nó do primeiro filho deste elemento
    tipo = elem.firstChild.nodeType;

    // vamos mostrar o resultado
    window.alert("O tipo deste elemento é: " + tipo);
  }  
</script>

</head>
<body>

<p id="paragrafo">Sou um parágrafo</p>

<span id="frase">Veja esta frase</span>

<br><button onclick="obterNodeType()">Obter tipo do nó (nodeType)</button>

</body>
</html>

Note que esta propriedade é somente-leitura, ou seja, não podemos modificar seu valor em tempo de execução.

A propriedade nodeType pode ser obtida a partir dos seguintes elementos: a, abbr, acronym, address, applet, area, b, base, basefont, bdo, bgsound, big, blink, blockquote, body, br, button, caption, center, cite, code, col, colgroup, comment, dd, del, dfn, dir, div, dl, dt, em, embed, fieldset, font, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, hr, html, i, iframe, img, input:button, input:checkbox, input:file, input:hidden, input:image, input:password, input:radio, input:range, input:reset, input:search, input:submit, input:text, ins, isindex, kbd, keygen, label, legend, li, link, listing, map, marquee, menu, meta, nobr, noframes, noscript, object, ol, optgroup, option, p, param, plaintext, pre, q, rt, ruby, s, samp, script, select, small, span, strike, strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, title, tr, tt, u, ul, var, wbr, xml e xmp.

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


VB.NET ::: VB.NET para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular vetor unitário em VB.NET - VB.NET para Física e Engenharia

Quantidade de visualizações: 757 vezes
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$.

O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$.

O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor.

Então, vejamos a fórmula para a obtenção do vetor unitário:

\[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\]

Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível.

Veja agora o código VB.NET que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário:

Imports System

Module Program
  Sub Main(args As String())
    ' vamos ler os valores x e y
    Console.Write("Informe o valor de x: ")
    Dim x = Double.Parse(Console.ReadLine())
    Console.Write("Informe o valor de y: ")
    Dim y = Double.Parse(Console.ReadLine())

    ' o primeiro passo é calcular a norma do vetor
    Dim norma = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2))

    ' agora obtemos as componentes x e y do vetor unitário
    Dim u_x = x / norma
    Dim u_y = y / norma

    ' mostra o resultado
    Console.WriteLine("O vetor unitário é: (x = " &
      u_x & "; y = " & u_y)

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código VB.NET nós teremos o seguinte resultado:

Informe o valor de x: -4
Informe o valor de y: 6
O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437

Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço:

Imports System

Module Program
  Sub Main(args As String())
    ' vamos ler os valores x, y e z
    Console.Write("Informe o valor de x: ")
    Dim x = Double.Parse(Console.ReadLine())
    Console.Write("Informe o valor de y: ")
    Dim y = Double.Parse(Console.ReadLine())
    Console.Write("Informe o valor de z: ")
    Dim z = Double.Parse(Console.ReadLine())

    ' o primeiro passo é calcular a norma do vetor
    Dim norma = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2) +
      Math.Pow(z, 2))

    ' agora obtemos as componentes x, y e z do vetor unitário
    Dim u_x = x / norma
    Dim u_y = y / norma
    Dim u_z = z / norma

    ' mostra o resultado
    Console.WriteLine("O vetor unitário é: (x = " &
      u_x & "; y = " & u_y & "; z = " & u_z)

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executarmos este novo código nós teremos o seguinte resultado:

Informe o valor de x: 3
Informe o valor de y: 7
Informe o valor de z: 5
O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 50 usuários muito felizes estudando em nosso site.