Você está aqui: Cards de Python |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios e Algorítmos Resolvidos de Java - Somando os elementos da diagonal principal de uma matrizQuantidade de visualizações: 9464 vezes |
|
Pergunta/Tarefa: Em álgebra linear, a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior 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 principal. Sua saída deverá ser parecida com a imagem abaixo:
Valor para a linha 0 e coluna 0: 1
Valor para a linha 0 e coluna 1: 4
Valor para a linha 0 e coluna 2: 7
Valor para a linha 1 e coluna 0: 12
Valor para a linha 1 e coluna 1: 9
Valor para a linha 1 e coluna 2: 8
Valor para a linha 2 e coluna 0: 5
Valor para a linha 2 e coluna 1: 10
Valor para a linha 2 e coluna 2: 14
Valores na matriz
1 4 7
12 9 8
5 10 14
A soma dos elementos da diagonal principal é: 24
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 principal
// 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();
// percorre as linhas
for(int i = 0; i < matriz.length; i++){
// percorre as colunas
for(int j = 0; j < matriz[0].length; j++){
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 principal
for(int i = 0; i < matriz.length; i++){
for(int j = 0; j < matriz[0].length; j++){
if(i == j){
soma_diagonal = soma_diagonal + matriz[i][j];
}
}
}
// finalmente mostramos a soma da diagonal principal
System.out.println("\nA soma dos elementos da diagonal principal é: "
+ soma_diagonal);
}
}
|
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter o índice do item selecionado em uma ListBox do Delphi usando a propriedade ItemIndex da classe TListBoxQuantidade de visualizações: 15345 vezes |
Muitas vezes precisamos saber o índice do item atualmente selecionado em uma ListBox. Para isso podemos obter o valor da propriedade ItemIndex. Esta propriedade retorna um valor inteiro correspondente ao índice do item selecionado. O primeiro item da lista possui o índice 0. Se nenhum item estiver selecionado, ItemIndex retorna -1. Veja o exemplo:
procedure TForm1.Button2Click(Sender: TObject);
var
indice: Integer;
begin
// vamos obter o índice do item selecionado na ListBox
indice := ListBox1.ItemIndex;
// mostra o resultado
ShowMessage('O índice do item selecionado é: '
+ IntToStr(indice));
end;
Note que esta propriedade não se aplica às ListBoxes de seleção múltipla. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de VisuAlg - A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo VisuAlgQuantidade de visualizações: 514 vezes |
|
Pergunta/Tarefa: A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo VisuAlg que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até o ano 2000 o desconto é 12%, e acima de 2000 o desconto é de 7%. Seu código deverá solicitar o valor do carro e o seu ano e aplicar o desconto correspondente. Além disso o sistema deverá perguntar se deseja continuar calculando descontos até que a resposta seja: "(N) Não". Informar o total de carros com ano até 2000 e o total geral a ser pago pelo cliente. Sua saída deve ser parecida com: Informe o valor do carro sem desconto: 25000 Informe o ano do carro: 2010 Desconto concedido: 1750 Valor do carro com desconto: 23250 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 30500 Informe o ano do carro: 1985 Desconto concedido: 3660 Valor do carro com desconto: 26840 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 16800 Informe o ano do carro: 1990 Desconto concedido: 2016 Valor do carro com desconto: 14784 Deseja adicionar mais carros? [S, N]: N Total de carros com ano até 2000: 2 Total geral a pagar: 64874 Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Cálculo de desconto nos preços de vários veículos"
var
// variáveis usadas na resolução do problema
valor_carro, valor_desconto, valor_carro_desconto: real
total_geral: real
ano: inteiro
total_carros_ano_2000: inteiro
resposta: caractere
inicio
// vamos inicializar os valores de algumas variáveis
total_geral <- 0
total_carros_ano_2000 <- 0
// repete até que o usuário informe o valor "N"
repita
// vamos ler o valor do carro sem desconto
escreva("Informe o valor do carro sem desconto: ")
leia(valor_carro)
// vamos ler o ano do carro
escreva("Informe o ano do carro: ")
leia(ano)
// o ano é menor ou igual a 2000
se ano <= 2000 entao
valor_desconto <- valor_carro * (12.0 / 100.0)
// vamos somar mais este carro
total_carros_ano_2000 <- total_carros_ano_2000 + 1
senao
valor_desconto <- valor_carro * (7.0 / 100.0)
fimse
// calculamos o valor do carro com o desconto
valor_carro_desconto <- valor_carro - valor_desconto
escreval("Desconto concedido: ", valor_desconto)
escreval("Valor do carro com desconto: ", valor_carro_desconto)
// somamos mais este valor ao total geral
total_geral <- total_geral + valor_carro_desconto
// perguntamos se o usuário deseja adicionar mais carros
escreva("Deseja adicionar mais carros? [S, N]: ")
leia(resposta)
// adiciona uma quebra de linha
escreval()
ate resposta = "N"
// mostramos os resultados
escreval("Total de carros com ano até 2000: ", total_carros_ano_2000)
escreval("Total geral a pagar: ", total_geral)
fimalgoritmo
|
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz 3x3 usando a Método de Sarrus em Python - Python para Álgebra LinearQuantidade de visualizações: 5965 vezes |
|
Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes. Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas. Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando o Método de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos. Então, vamos supor a seguinte matriz 3x3: ![]() O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim: ![]() Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes: ![]() Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja: (1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0 Como podemos ver, o determinante dessa matriz é 0. E agora veja o código Python no qual declaramos e instanciamos uma matriz 3x3, em seguida, calculamos o seu determinante:
# importamos a bibliteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos criar uma matriz 3x3
m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
# calcula o determinante usando a Regra de Sarrus
det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1]
* m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1])) - ((m[2][0]
* m[1][1] * m[0][2]) + (m[2][1] * m[1][2] * m[0][0]) + (m[2][2]
* m[1][0] * m[0][1]))
# mostramos o resultado
print("O determinante da matriz é: %f" % det)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O determinante da matriz é: 2.0 É possível também obter o determinante de uma matriz (não restrita à dimensão 3x3) usando o método linalg.det() da biblioteca NumPy do Python. Veja o código a seguir:
# importamos a bibliteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos criar uma matriz 3x3
m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
# calcula o determinante usando apenas NumPy
det = np.linalg.det(m)
# mostramos o resultado
print("O determinante da matriz é: %f" % det)
if __name__== "__main__":
main()
Veja que usei a mesma matriz e, usando apenas o método linalg.det() nós obtemos o mesmo resultado. |
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como controlar o acesso a membros de uma classe C++ usando o modificar publicQuantidade de visualizações: 8414 vezes |
|
Membros de uma classe são suas funções e variáveis. A visibilidade de tais membros pode ser controlada, ou seja, algumas funções e variáveis podem ser ocultadas do mundo externo. Este é o princípio de encapsulamento da programação orientada a objetos. O modificador public define que os membros de uma classe estarão acessíveis a qualquer função fora da classe. Veja um exemplo:
#include <iostream>
using namespace std;
class Cliente{
public:
char *nome;
};
int main(int argc, char *argv[])
{
// Cria uma instância da classe Cliente
Cliente *cliente = new Cliente();
// Define o nome do cliente
cliente->nome = "Osmar J. Silva";
// Obtém o nome do cliente
cout << "Nome do cliente: " << cliente->nome << "\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
Como o atributo nome foi declarado na seção public, o código da função main possui acesso a ele sem a necessidade de métodos acessórios (get) ou mutatórios (set). Quando usamos o modificador public antes do nome de uma classe base (durante a herança), estamos definindo que os membros public e protected da classe base serão public e protected na classe derivada. O acesso padrão (sem modificador) dos membros de uma classe é private. Em uniões (union) e estruturas (structure), o acesso padrão é public. O acesso padrão de uma classe base (durante a herança) é private para classes e public para estruturas. Uniões não podem possuir classes bases. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Delphi - Como obter o número do registro atual em um TClientDataSet do Delphi usando a propriedade RecNo JavaScript - Como usar a propriedade parentNode para obter o objeto pai de um elemento na hierarquia do DOM do JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







