Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar o laço while da linguagem DartQuantidade de visualizações: 2437 vezes |
O laço while (enquanto), ou loop while, é usado quando queremos repetir uma ou mais instruções ENQUANTO uma condição estiver sendo satisfeita. A condição para a execução desse laço é o retorno de uma condição true ou false. Veja um exemplo no qual usamos o laço while para contar de 0 até 10: void main() { int cont = 1; while (cont < 10) { print(cont); cont++; // aumenta cont em 1 } } Este código, quando executado, gera o seguinte resultado: 1 2 3 4 5 6 7 8 9 É importante observar que um laço while pode nunca ser executado. Para isso basta que o teste condicional na entrada do laço retorne um resultado falso. Veja agora como usar um laço while para encontrar os 10 primeiros múltiplos de 5 e 7: void main() { int cont = 0; int numero = 1; // queremos encontrar 10 múltiplos de 5 e 7 while (cont < 10) { if ((numero % 5 == 0) && (numero % 7 == 0)) { print(numero); cont++; } // incrementa o número numero++; } } Quando executamos este código nós obtemos o seguinte resultado: 35 70 105 140 175 210 245 280 315 350 |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesianoQuantidade de visualizações: 3210 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Python que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: # vamos importar o módulo Math import math as math def main(): # x e y do primeiro ponto x1 = float(input("Coordenada x do primeiro ponto: ")) y1 = float(input("Coordenada y do primeiro ponto: ")) # x e y do segundo ponto x2 = float(input("Coordenada x do segundo ponto: ")) y2 = float(input("Coordenada y do segundo ponto: ")) # agora vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1) # e mostramos o resultado print("O coeficiente angular é: %f\n\n" % m) if __name__== "__main__": main() Ao executar este código em linguagem Python nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.666667 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): # vamos importar o módulo Math import math as math def main(): # x e y do primeiro ponto x1 = float(input("Coordenada x do primeiro ponto: ")) y1 = float(input("Coordenada y do primeiro ponto: ")) # x e y do segundo ponto x2 = float(input("Coordenada x do segundo ponto: ")) y2 = float(input("Coordenada y do segundo ponto: ")) # vamos obter o comprimento do cateto oposto cateto_oposto = y2 - y1 # e agora o cateto adjascente cateto_adjascente = x2 - x1 # vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa # (em radianos, não se esqueça) tetha = math.atan2(cateto_oposto, cateto_adjascente) # e finalmente usamos a tangente desse ângulo para calcular # o coeficiente angular tangente = math.tan(tetha) # e mostramos o resultado print("O coeficiente angular é: %f\n\n" % tangente) if __name__== "__main__": main() Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como pesquisar um valor em um vetor C# e retornar seu índice usando a função IndexOf() da classe ArrayQuantidade de visualizações: 14026 vezes |
Nesta dica mostrarei como pesquisar um valor em um array C# e retornar o índice de sua primeira ocorrência usando o método IndexOf() da classe Array. Este método recebe uma referência ao array que queremos pesquisar e o valor a ser pesquisado. Neste exemplo queremos pesquisar um valor inteiro. Veja o código C# completo: using System; namespace Estudos { class Program { static void Main(string[] args) { // cria e inicializa um array de inteiros int[] valores = { 14, 69, 21, 30, 17, 23, 14 }; Console.Write("Informe o valor a ser pesquisado: "); string valor = Console.ReadLine(); int pos = Array.IndexOf(valores, Convert.ToInt32(valor)); if (pos > -1) { Console.WriteLine("O valor pesquisado foi encontrado no índice: " + pos); } else { Console.WriteLine("O valor pesquisado não foi encontrado."); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Informe o valor a ser pesquisado: 17 O valor pesquisado foi encontrado no índice: 4 |
Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins |
Java Swing - Como criar e adicionar uma barra de menus à uma janela JFrameQuantidade de visualizações: 18513 vezes |
Nesta dica eu mostro como adicionar uma barra de menus à uma janela JFrame do Java Swing. Observe que a barra de menus contém apenas um menu que, por sua vez, contém apenas um ítem de menu. Construí este exemplo "na mão" mesmo, ou seja, não usei nenhum editor visual tal como aquele encontrado na IDE Netbeans. Esta abordagem é muito útil para entender todas as partes que forma uma aplicação Java Swing. Veja o código completo para o exemplo: import javax.swing.*; public class Estudos extends JFrame{ public Estudos(){ super("Menus"); // Cria a barra de menus JMenuBar barra = new JMenuBar(); setJMenuBar(barra); // Cria um menu JMenu arquivo = new JMenu("Arquivo"); // Cria um item de menu e o adiciona no menu JMenuItem fechar = new JMenuItem("Fechar"); arquivo.add(fechar); // Adiciona o menu à barra de menus barra.add(arquivo); setSize(300, 150); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPIQuantidade de visualizações: 9707 vezes |
Nesta dica mostrarei como chamar, a partir de um programa C++, a função GetCurrentDirectory() da API do Windows com o propósito de obter o diretório atual, ou seja, o diretório de trabalho da nossa aplicação. Esta função é declarada no header winbase.h (que vem junto quando fazemos include do header windows.h). Veja o exemplo completo: #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { // buffer que receberá o nome do diretório TCHAR szDirAtual[MAX_PATH]; // chama a função GetCurrentDirectory GetCurrentDirectory(MAX_PATH, szDirAtual); // Exibe o resultado cout << "O diretório atual é " << szDirAtual << "\n\n"; system("PAUSE"); return EXIT_SUCCESS; } Ao executar este código nós teremos o seguinte resultado: O diretório atual é C:\estudos_c++ |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como comparar strings em VB.NET usando o método Equals() da classe String do .NET FrameworkQuantidade de visualizações: 8956 vezes |
Nesta dica mostrarei como podemos comparar palavras, frases ou textos em VB.NET usando o método Equals() da classe String do .NET Framework. Este método retorna um valor True se as duas strings forem iguais e False em caso contrário. Lembre-se de que o método Equals() diferencia maiúsculas de minúsculas. Veja um exemplo completo de seu uso: Imports System Module Program Sub Main(args As String()) Dim palavra1, palavra2 As String palavra1 = "Visual Basic" palavra2 = "Visual Basic" If palavra1.Equals(palavra2) Then Console.WriteLine("As duas strings são iguais") Else Console.WriteLine("As duas strings são diferentes") End If 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: As duas strings são iguais |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Quantidade de patas dos animais de uma fazenda - O desafio da fazenda em VisuAlgQuantidade de visualizações: 420 vezes |
Pergunta/Tarefa: Para este exercício você foi contratado(a) para informar a quantidade total de patas dos animais de uma fazenda. O fazendeiro cria três espécies de animais: Galinhas = 2 patas Vacas = 4 patas Porcos = 4 patas O funcionário responsável pela fazenda contou os animais e forneceu a você a quantidade de animais de cada espécie (galinhas, vacas e porcos). Sua tarefa é retornar o número total de patas de todos os animais da fazenda. Sua saída deve ser parecida com: Informe a quantidade de galinhas: 8 Informe a quantidade de vacas: 3 Informe a quantidade de porcos: 11 Quantidade de animais: 22 Quantidade de patas: 72 Veja a resolução comentada deste exercício usando VisuAlg: algoritmo "Desafio da fazenda em VisuAlg" var // variáveis usadas na resolução do problema quant_galinhas, quant_vacas, quant_porcos: inteiro quant_total_animais, quant_patas_total: inteiro inicio // vamos ler a quantidade de cada animal escreva("Informe a quantidade de galinhas: ") leia(quant_galinhas) escreva("Informe a quantidade de vacas: ") leia(quant_vacas) escreva("Informe a quantidade de porcos: ") leia(quant_porcos) // vamos calcular a quantidade de animais quant_total_animais <- quant_galinhas + quant_vacas + quant_porcos escreval("Quantidade de animais: ", quant_total_animais) // vamos calcular a quantidade de patas quant_patas_total <- quant_galinhas * 2 quant_patas_total <- quant_patas_total + (quant_vacas * 4) quant_patas_total <- quant_patas_total + (quant_porcos * 4) escreval("Quantidade de patas: ", quant_patas_total) fimalgoritmo |
C# ::: Dicas & Truques ::: Data e Hora |
Datas e horas em C# - Como obter a data atual no formato curto usando C#Quantidade de visualizações: 337 vezes |
Nesta dica mostrarei como obter a data atual usando a propriedade Now da classe DateTime e exibí-la no formato curto, ou seja, DD/MM/AAAA. Veja o código C# completo para o exemplo: using System; namespace Estudos{ class Program{ static void Main(string[] args) { // data atual no formato curto DateTime hoje = DateTime.Now; System.Console.WriteLine("A data hoje é: {0:d}", hoje); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: A data hoje é: 23/03/2021 |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Como definir um ícone para a janela do aplicativo Java Swing usando o método setIconImage() da classe JFrameQuantidade de visualizações: 16718 vezes |
Este exemplo mostra como definir um ícone para uma janela JFrame do Java Swing. Antes de testar o código, certifique-se de ter uma imagem chamada icon.gif no diretório de execução do aplicativo (ou no local que você especificar). Veja o código completo para o exemplo: import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("A classe JFrame"); // Define o ícone para a janela ImageIcon icone = new ImageIcon("icon.gif"); setIconImage(icone.getImage()); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
C# ::: Windows Forms ::: DataGridView |
Como ligar um DataGridView do C# Windows Forms à tabela de um banco de dados e efetuar inserção, alteração e remoção de registrosQuantidade de visualizações: 32914 vezes |
Uma das principais dúvidas que recebo em meu site é em relação aos passos necessários para associar um DataGridView com a tabela de um banco de dados e listar os dados. Em tempo de design este processo é relativamente fácil, visto que temos wizards que nos acompanham e fazem o trabalho mais pesado nos bastidores. No entanto, o cenário é completamente diferente quando temos que realizar tal tarefa via código. Espero que esta dica o deixe mais preparado para enfrentar tais situações. Para esta dica eu fiz uma conexão Visual C# 2005 + MySQL 5.0 usando ODBC (caso tenha dúvidas sobre isso, veja minha seção sobre C# + MySQL). Criei uma tabela MySQL chamada clientes contendo id, nome, idade, cidade e estado do cliente. Criei uma classe de conexão, inseri um DataGridView no formulário e coloquei as declarações abaixo na classe do formulário Form1.cs (fora dos métodos, para que os dados sejam globais na classe): // membros de instância de acesso global na classe // Dica: Se estiver usando SQL Server, troque "Odbc" por // "Sql" (Ex: SQLConnection, SqlCommand, SqlDataAdapter) // conexão com o banco de dados OdbcConnection conn = null; OdbcCommand cmd = null; OdbcDataAdapter adapter = null; DataSet ds = null; Em seguida colocamos o código abaixo no evento Click de um botão: private void button4_Click(object sender, EventArgs e){ // Dica: Se estiver usando SQL Server, troque "Odbc" // por "Sql" (Ex: SqlCommand, SqlDataAdapter, etc) // obtém a conexão com o banco de dados conn = ConexaoODBC.obterConexao(); if(conn != null){ // obtém todos os clientes cadastrados cmd = new OdbcCommand("SELECT * FROM clientes", conn); adapter = new OdbcDataAdapter(cmd); ds = new DataSet(); adapter.Fill(ds, "clientes_table"); // exibe os dados da tabela no DataGridView dataGridView1.DataSource = ds; dataGridView1.DataMember = "clientes_table"; // fecha a conexão ConexaoODBC.fecharConexao(); } } Aqui os dados já são listados no DataGridView. Porém, as alterações efetuadas no controle ainda não são repassadas para o banco de dados. Veja o código adicional no evento Click de outro botão: private void button5_Click(object sender, EventArgs e){ // vamos salvar os dados do DataGridView para a tabela do // banco de dados // Dica: Se estiver usando SQL Server, troque "Odbc" por // "Sql" (Ex: SqlCommandBuilder) // obtém a conexão com o banco de dados conn = ConexaoODBC.obterConexao(); if(conn != null){ OdbcCommandBuilder cmb = new OdbcCommandBuilder(adapter); cmb.GetUpdateCommand(); adapter.Update(ds.Tables["clientes_table"]); // fecha a conexão ConexaoODBC.fecharConexao(); } } Pronto! Execute a aplicação, clique no primeiro botão para carregar os dados da tabela MySQL no DataGridView. Em seguida efetue algumas alterações, insira ou exclua linhas e clique no segundo botão. Feche a aplicação e abra-a novamente e se certifique de que os registros foram atualizados, inseridos ou removidos com sucesso. |
Nossas 20 dicas & truques de programação mais populares |
Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java Python - Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português Python - Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do Python |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - JavaScript Avançado - Como escrever uma função JavaScript que aceita um número variável de argumentos Java - Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java Básico |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |