Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como passar vetores e matrizes (arrays) para seus métodos JavaQuantidade de visualizações: 16631 vezes |
|
Nesta dica mostrarei como você pode passar um array (vetor ou matriz) para seus métodos Java. Observe que um array é um objeto Java, e objetos são sempre passados por referência. Assim, as alterações feitas no vetor ou matriz dentro do método afetarão o array original. Veja o código completo para o exemplo:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
int[] valores = {43, 6, 17, 23, 8};
// Exibe os valores antes de passar o
// array para o método multiplicar
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + ", ");
}
System.out.println();
// fornece o array para o método multiplicar
multiplicar(valores, 2);
// Exibe os valores depois de passar o
// array para o método multiplicar
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + ", ");
}
System.exit(0);
}
public static void multiplicar(int a[], int num){
for(int i = 0; i < a.length; i++){
a[i] = a[i] * num;
}
}
}
Ao executar este código nós teremos o seguinte resultado: 43, 6, 17, 23, 8, 86, 12, 34, 46, 16, |
R ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Quais são as palavras reservadas da linguagem RQuantidade de visualizações: 1812 vezes |
|
As palavras reservadas, ou palavras-chaves, de uma linguagem de programação são um conjunto de palavras e símbolos que possuem significado especial dentro da linguagem, em seu interpretador ou compilador. Estas palavras não podem ser usadas como identificadores de funções, nomes de variáveis, constantes, nomes de classes, etc. A linguagem R, no momento que escrevo este texto, possui as seguintes palavras reservadas: if else repeat while function for in next break TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ? A qualquer momento nós podemos listas estas palavras reservadas, seja na janela de comandos ou em um script do R. Basta disparmos os comandos abaixo: > ?reserved [ENTER] > help(reserved) [ENTER] > Entre essas palavras reservadas, if, else, repeat, while, function, for, in, next e break são usadas para os testes condicionais, laços e funções definidas pelo usuário. São estas palavras que formam a estrutura básica da linguagem R. As palavras TRUE e FALSE são as constantes lógicas em R. NULL representa a ausência de um valor, ou um valor indefinido (ainda não houve atribuição). A palavra reservada Inf significa "Infinity". Por exemplo, quando 1 é dividido por 0, enquanto NaN quer dizer "Not a Number" (não é um número). Um exemplo disso é quando dividimos 0 por 0. NA significa "Not Available" e é usada para representar valores não informados. A linguagem R é sensível a maiúsculas e minúsculas. Isso quer dizer que TRUE e True não são a mesma coisa. Enquanto TRUE é uma palavra reservada representando uma constante lógica, True pode ser usada como um nome de variável. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Escreva um programa Java que usa uma função recursiva para retornar a quantidade de dígitos presentes em um número inteiro informado pelo usuárioQuantidade de visualizações: 1322 vezes |
|
Pergunta/Tarefa: Escreva um programa Java usa uma função recursiva para retornar a quantidade de dígitos presentes em um número inteiro informado pelo usuário. Você pode usar qualquer técnica de recursividade disponível, desde que o retorno da função seja um valor inteiro. Você deverá implementar a seguinte função recursiva:
public static int quantDigitos(int numero){
// seu código aqui
}
Informe um número inteiro de qualquer tamanho: 4983 O número informado possui 4 dígitos Veja a resolução comentada deste exercício usando Java console:
package exercicio;
import java.util.Scanner;
public class Exercicio{
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar um número inteiro
System.out.print("Informe um número inteiro de qualquer tamanho: ");
int num = Integer.parseInt(entrada.nextLine());
// vamos obter a quantidade de dígitos no número usando
// uma chamada à função recursiva quant_digitos()
int quant = quantDigitos(num);
// mostramos o resultado
System.out.println("O número informado possui " + quant +
" dígitos");
}
// função recursiva que recebe um número inteiro e retorna
// sua quantidade de dígitos
public static int quantDigitos(int numero){
if ((numero / 10) == 0){ // atenção: divisão inteira
// retorna o caso base
return 1;
}
else{
// efetua mais uma chamada recursiva
return 1 + quantDigitos(numero / 10);
}
}
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Python - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 2520 vezes |
|
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Python que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Python:
# método principal
def main():
# vamos ler o primeiro lado do triângulo
lado_a = int(input("Informe o primeiro lado do triângulo: "))
# vamos ler o segundo lado do triângulo
lado_b = int(input("Informe o segundo lado do triângulo: "))
# vamos ler o terceiro lado do triângulo
lado_c = int(input("Informe o terceiro lado do triângulo: "))
# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) and (lado_b < (lado_a + lado_c))
and (lado_c < (lado_a + lado_b))):
# é um triângulo equilátero (todos os lados iguais)?
if((lado_a == lado_b) and (lado_b == lado_c)):
print("O triângulo é equilátero")
else:
# é isósceles (dois lados iguais e um diferente)?
if((lado_a == lado_b) or (lado_a == lado_c) or (lado_c == lado_b)):
print("O triângulo é isósceles")
else:
# é escaleno
print("O triângulo é escaleno")
else:
print("Os lados informados não formam um triângulo.")
if __name__== "__main__":
main()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios e Algorítmos Resolvidos de Java - Programa Java para somar os elementos da diagonal secundária de uma matrizQuantidade de visualizações: 9770 vezes |
|
Pergunta/Tarefa: Em álgebra linear, a diagonal secundária de uma matriz A é a coleção das entradas Aij em que i + j é igual a n + 1 (onde n é a ordem da matriz). A diagonal secundária de uma matriz quadrada une o seu canto inferior esquerdo ao canto superior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa (algorítmo) Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal secundária. Sua saída deverá ser parecida com a imagem abaixo:
Informe o valor para a linha 0 e coluna 0: 5
Informe o valor para a linha 0 e coluna 1: 2
Informe o valor para a linha 0 e coluna 2: 7
Informe o valor para a linha 1 e coluna 0: 5
Informe o valor para a linha 1 e coluna 1: 3
Informe o valor para a linha 1 e coluna 2: 12
Informe o valor para a linha 2 e coluna 0: 4
Informe o valor para a linha 2 e coluna 1: 10
Informe o valor para a linha 2 e coluna 2: 1
5 2 7
5 3 12
4 10 1
A soma dos elementos da diagonal secundária é: 14
Veja a resolução comentada deste exercício usando Java console:
package exercicios;
import java.util.Scanner;
public class Exercicios {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir uma matriz de três linhas e
// três colunas
int matriz[][] = new int[3][3];
int soma_diagonal = 0; // guarda a soma dos elementos na
// diagonal secundária
// vamos ler os valores para os elementos da matriz
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
System.out.print("Informe o valor para a linha " + i
+ " e coluna " + j + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// vamos mostrar a matriz da forma que ela foi informada
System.out.println();
for(int i = 0; i < matriz.length; i++){ // percorre as linhas
for(int j = 0; j < matriz[0].length; j++){ // percorre as colunas
System.out.printf("%5d ", matriz[i][j]);
}
// passa para a próxima linha da matriz
System.out.println();
}
// vamos calcular a soma dos elementos da diagonal secundária
int ordem = 3; // ordem da matriz
for(int i = 1; i <= matriz.length; i++){
for(int j = 1; j <= matriz[0].length; j++){
if((i + j) == (ordem + 1)){
soma_diagonal = soma_diagonal + matriz[i - 1][j - 1];
}
}
}
// finalmente mostramos a soma da diagonal secundária
System.out.println("\nA soma dos elementos da diagonal secundária é: " +
soma_diagonal);
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





