![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Coleções (Collections) ::: Stack |
Como criar uma pilha em Java usando a classe Stack - Java CollectionsQuantidade de visualizações: 13424 vezes |
A classe Stack é usada quando precisamos de uma estrutura de dados LIFO (last-in-first-out). Neste tipo de estrutura temos uma pilha de objetos, na qual o último elemento inserido na pilha é sempre o primeiro a sair. A classe Stack extende a classe Vector com a adição de cinco operações próprias da estrutura de dados pilha. As dicas nesta seção mostram a você como usar cada uma destas operações. Antes, veja a posição da classe Stack na hierarquia de classes Java: java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.Vector<E> java.util.Stack<E> Esta classe implementa as interfaces: Serializable, Cloneable, Iterable<E>, Collection<E>, List<E> e RandomAccess. Veja um trecho de código que cria uma Stack de inteiros, insere três elementos e usa o método pop() para remover o elemento no topo da pilha: import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma Stack Stack<Integer> pilha = new Stack<Integer>(); // adiciona três elementos na pilha pilha.push(34); pilha.push(12); pilha.push(83); // remove o elemento no topo da pilha int topo = pilha.pop(); System.out.println("Elemento removido do " + "topo da pilha: " + topo); } } Ao executar este código Java nós teremos o seguinte resultado: Elemento removido do topo da pilha: 83 |
C# ::: Dicas & Truques ::: Data e Hora |
Como retornar o ano da data atual em C# usando a propriedade Year da classe DateTimeQuantidade de visualizações: 92 vezes |
Nesta dica eu mostrarei como podemos usar a propriedade Year da classe DateTime da linguagem C# para obter o ano de uma determinada data como um inteiro. Veja o código completo para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a data e hora atual DateTime agora = DateTime.Now; // e agora o ano da data como um inteiro int ano = agora.Year; // e finalmente mostramos o resultado Console.WriteLine("Estamos no ano: {0}", ano); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Estamos no ano: 2022 |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de C - Usando um laço for para percorrer os elementos de uma matriz e exibir a soma dos valores positivos e a quantidade de valores negativosQuantidade de visualizações: 11908 vezes |
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de uma matriz e exibir a soma dos valores positivos e a quantidade de valores negativos Pergunta/Tarefa: Considere a seguinte matriz de inteiros: // uma matriz de inteiros contendo sete elementos int valores[] = {-3, 9, 12, -34, -2, 20, 10}; Escreva um programa C que usa um laço for para percorrer todos os elementos desta matriz e exibir a soma dos valores positivos e a quantidade de valores negativos. Seu programa deverá exibir uma saída com a mensagem: A soma dos valores positivos é: 51 A quantidade de valores negativos é: 3 Resposta/Solução: Veja abaixo a resolução completa para esta tarefa: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // uma matriz de inteiros contendo sete elementos int valores[] = {-3, 9, 12, -34, -2, 20, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores positivos int soma_positivos = 0; // agora uma variável para receber a quantidade de valores negativos int quant_negativos = 0; int i; // agora vamos usar uma laço for para percorrer todos os elementos // da matriz for(i = 0; i < 7; i++){ // vamos verificar se o valor do elemento atual é negativo if(valores[i] < 0){ quant_negativos++; } else{ // o valor é positivo soma_positivos = soma_positivos + valores[i]; } } // vamos exibir a soma dos valores positivos printf("A soma dos valores positivos é: %d\n", soma_positivos); // vamos exibir a quantidade de valores negativos printf("A quantidade de valores negativos é: %d\n", quant_negativos); system("PAUSE"); return 0; } |
PHP ::: Dicas & Truques ::: Formulários |
Como obter o valor do radio button selecionado no formulário HTML usando PHPQuantidade de visualizações: 50841 vezes |
Controles do tipo radio button são úteis quando o usuário deverá marcar apenas UMA entre as várias opções fornecidas. Veja um exemplo abaixo:<form name="cadastro" method="post" action="testes.php"> <b></b>Qual sua linguagem favorita?</b><br> <input name="linguagem" type="radio" value="Java" checked>Java<br> <input type="radio" name="linguagem" value="Delphi">Delphi<br> <input type="radio" name="linguagem" value="C++">C++<br> <input type="radio" name="linguagem" value="Python">Python<br> <input type="submit" value="Enviar!"> </form> Lembre-se de que um grupo de radio button relacionados deverá ter o mesmo valor para a propriedade name. Para obter o valor do radio button selecionado, podemos usar o seguinte código PHP: <?php // Obtém o radio button selecionado $opcao = $_POST["linguagem"]; // Exibe o resultado echo "Sua linguagem favorita é: " . $opcao; ?> |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados byte da linguagem JavaQuantidade de visualizações: 12687 vezes |
O tipo de dados byte pode ser usado quando queremos armazenar valores inteiros na faixa ?128 à 127. Veja um exemplo:public class Estudos{ static byte valor = 102; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Porém, é preciso estar atento a um detalhe muito importante (testado na versão 6 do SDK). Veja o trecho de código seguinte: public class Estudos{ public static void main(String args[]){ byte a = 5; byte b = 6; byte soma = a + b; System.out.println("O resultado é: " + soma); System.exit(0); } } À primeira vista este código está correto, visto que a soma das variáveis a e b não ultrapassam a faixa do tipo byte. Porém, ao tentarmos compilar, temos a seguinte mensagem de erro: Estudos.java:5: possible loss of precision found : int required: byte byte soma = a + b; ^ 1 error Isso acontece porque o tipo de dados resultante da aplicação do operador de adição (e demais operadores binários) a dois números, é no mínimo int. Podemos, é claro, fazer uma coerção de dados (cast). Veja: byte a = 5; byte b = 6; byte soma = (byte)(a + b); O tipo de dados byte pode ser convertido (sem a necessidade de cast) para os seguintes tipos: byte -> short -> int -> long -> float -> double Um tipo byte não pode ser convertido implicitamente para o tipo char. Isso acontece porque o tipo char não possui sinal. |
R ::: Dicas & Truques ::: Strings e Caracteres |
Como usar a função paste() da linguagem R para concatenar strings e valores de variáveisQuantidade de visualizações: 3573 vezes |
A função paste() do R é muito útil quando precisamos unir, ou seja, concatenar um texto, frase ou palavra com um ou vários valores de variáveis. Vamos ver um exemplo? Observe o seguinte trecho de código R:> nome <- "Osmar" [ENTER] > idade <- 38 [ENTER] > paste("Nome é", nome, "e idade é", idade) [ENTER] [1] "Nome é Osmar e idade é 38" > Ao executar estas linhas nós teremos o seguinte resultado: Nome é Osmar e idade é 38 Note que declaramos e atribuimos às variáveis nome e idade e depois usamos a função paste() para concatenar os valores dessas duas variáveis e exibir o resultado como parte de uma frase. É importante observar que a função paste() retorna uma string. Veja este novo exemplo: > nome <- "Osmar" [ENTER] > idade <- 38 [ENTER] > res <- paste("Nome é", nome, "e idade é", idade) [ENTER] > print(res) [ENTER] [1] "Nome é Osmar e idade é 38" > Note que o resultado é o mesmo. Porém, dessa vez nós guardamos o resultado da chamada à função paste() em uma variável res e depois usamos a função print() para exibir o seu conteúdo. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como retornar o primeiro elemento de um vetor em JavaQuantidade de visualizações: 802 vezes |
Pergunta/Tarefa: Escreva um programa Java que mostra como acessar e retornar o primeiro elemento de um array (vetor) Java. Sua saída deverá ser parecida com: Os elementos do vetor são: [9, 5, 3, 2, 4, 8] O primeiro elemento do array é: 9 Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Arrays; public class Estudos { public static void main(String[] args) { // vamos criar um array de inteiros int valores[] = {9, 5, 3, 2, 4, 8}; System.out.println("Os elementos do vetor são: " + Arrays.toString(valores)); // agora vamos retornar o primeiro elemento do vetor int primeiro = valores[0]; // e mostramos o resultado System.out.println("O primeiro elemento do array é: " + primeiro); } } |
R ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em R dados dois pontos no plano cartesianoQuantidade de visualizações: 1725 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 R 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: # x e y do primeiro ponto x1 <- readline("Coordenada x do primeiro ponto: ") y1 <- readline("Coordenada y do primeiro ponto: ") x1 <- as.numeric(x1) y1 <- as.numeric(y1) # x e y do segundo ponto x2 <- readline("Coordenada x do segundo ponto: ") y2 <- readline("Coordenada y do segundo ponto: ") x2 <- as.numeric(x2) y2 <- as.numeric(y2) # agora vamos calcular o coeficiente angular m <- (y2 - y1) / (x2 - x1) # mostramos o resultado paste("O coeficiente angular é:", m) Ao executar este código em linguagem R nós teremos o seguinte resultado: [1] "O coeficiente angular é: 0.666666666666667" 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__$): # x e y do primeiro ponto x1 <- readline("Coordenada x do primeiro ponto: ") y1 <- readline("Coordenada y do primeiro ponto: ") x1 <- as.numeric(x1) y1 <- as.numeric(y1) # x e y do segundo ponto x2 <- readline("Coordenada x do segundo ponto: ") y2 <- readline("Coordenada y do segundo ponto: ") x2 <- as.numeric(x2) y2 <- as.numeric(y2) # 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 <- atan2(cateto_oposto, cateto_adjascente) # e finalmente usamos a tangente desse ângulo para calcular # o coeficiente angular tangente <- tan(tetha) # mostramos o resultado paste("O coeficiente angular é:", tangente) 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 ::: Arquivos e Diretórios |
Como testar se um diretório existe em C# usando a propriedade Exists da classe DirectoryInfoQuantidade de visualizações: 27 vezes |
Em algumas situações nós precisamos verificar se um diretório existe em C#, talvez para ler ou gravar dados neste arquivo. Isso pode ser feito por meio da propriedade Exists da classe DirectoryInfo. Esta propriedade retorna um valor true se o diretório existir e false em caso contrário. Veja o código completo para o exemplo: using System; using System.IO; namespace Estudos { class Principal { static void Main(string[] args) { // vamos criar uma nova instância da classe DirectoryInfo DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens"); // vamos testar se o diretório existe if (dir.Exists) { Console.Write("Diretório existe"); } else { Console.Write("Diretório não existe"); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O diretório existe. |
C# ::: C# + MySQL ::: MySqlCommand |
Como gravar dados em uma tabela MySQL usando INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#Quantidade de visualizações: 1315 vezes |
Nesta dica mostrarei como inserir dados em uma tabela MySQL usando o comando SQL INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#. A tabela usada no exemplo contém os campos id, titulo, autor, paginas, data_cadastro. O campo id é auto-incremento e o campo data_cadastro é do tipo DATETIME. Por essa razão eu passei os valores NULL para o campo auto-incremento e o valor NOW() para o campo data_cadastro, de forma que a data e hora atual sejam gravadas. Como se trata de uma operação INSERT, o método ExecuteNonQuery() retorna a quantidade de registros afetados pelo comando. No exemplo eu mostro como obter e exibir este valor. Veja o código completo para o exemplo (incluindo a conexão com o banco de dados MySQL a partir do C#): using System; using System.Data; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace EstudosMySQL { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // objeto de conexão MySqlConnection conn = null; // string de conexão string connStr = "server=localhost;user id=root; " + "password=osmar1234; database=estudos; pooling=false"; try { conn = new MySqlConnection(connStr); conn.Open(); if (conn.State == ConnectionState.Open) { // primeiro criamos um novo objeto MySqlCommand MySqlCommand comando = new MySqlCommand(); // definimos a conexão para este comando comando.Connection = conn; // definimos o comando SQL a ser executado comando.CommandText = "INSERT INTO livros (id, titulo, " + autor, paginas, data_cadastro) " + "VALUES(NULL, 'JAVA PARA INICIANTES', " + "'OSMAR J. SILVA', 740, NOW())"; // e executamos o comando SQL int res = comando.ExecuteNonQuery(); if (res > 0) { MessageBox.Show("Operação realizada com sucesso. " + res + " linhas afetadas."); } else { MessageBox.Show("Deve ter acontecido alguma coisa. " + res + " linhas afetadas."); } } } catch (MySqlException ex) { MessageBox.Show("Erro: " + ex.Message); } } } } |
Nossas 20 dicas & truques de programação mais populares |
Fórmulas da Física - Fórmula da Velocidade - Como calcular a velocidade quando temos a distância percorrida e o tempo gasto Delphi - Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndex Java - Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com Java |
Você também poderá gostar das dicas e truques de programação abaixo |
Delphi - Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em Delphi MySQL - Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEY JavaScript - JavaScript para iniciantes - Como usar o método escape() para codificar uma frase em JavaScript |
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 |