Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Uma função Python que recebe um valor inteiro e informa se o mesmo é um número primo - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 130 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Escreva uma função Python que recebe um valor inteiro e informe se o mesmo é um número primo. Você deverá usar a seguinte assinatura para a função: def primo(valor): // implementação aqui Informe um valor inteiro: 7 O numero informado é primo Veja a resolução comentada deste exercício em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): # vamos pedir para o usuário informar um número inteiro numero = int(input("Informe um valor inteiro: ")) # vamos verificar se o valor informado é um número primo if primo(numero): print("O numero informado é primo.") else: print("O numero informado NÃO é primo.") # função que retorna verdadeiro se o número fornecido # como argumento for primo def primo(valor): # se o valor fornecido for 7, a variável i do laço contará # de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o # módulo de 7 por qualquer um dos valores neste intervalo # for igual a 0, então o número não é primo for i in range(2, (valor // 2) + 1): if valor % i == 0: return False # não é primo return True if __name__== "__main__": main() |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como criar uma tela de login usando o gerenciador de layout GridBagLayout do Java SwingQuantidade de visualizações: 34943 vezes |
Temos que aceitar o fato de que o uso de uma IDE visual facilita muito o trabalho de criação de interfaces gráficas (GUI). Contudo, é muito bom poder escrever telas via código mesmo. E o gerenciador de layout GridBagLayout possibilita a criação de layouts realmente avançados. O trecho de código abaixo mostra como criar uma tela de login usando este gerenciador. Guarde este código. Ele poder ser útil na criação de outros formulários: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import javax.swing.border.*; import java.awt.*; public class Estudos extends JFrame{ public Estudos(){ super("Tela de login usando GridBagLayout"); // define o layout setLayout(new GridBagLayout()); // define uma borda para aumentar o espaço // entre as bordas da janela e o gerenciador // de layout ((JComponent)getContentPane()).setBorder( new EmptyBorder(5, 8, 8, 8)); // cria o GridBagConstraints GridBagConstraints gbc = new GridBagConstraints(); // controla o espaço entre os componentes // e as linhas do GridBagLayout. // aqui nós definimos 3 pixels para os // lados de cima, esquerda, inferior e direita gbc.insets = new Insets(3, 3, 3, 3); // adiciona componentes à janela // esta primeira JLabel ocupará duas células // na primeira linha gbc.gridy = 0; // linha gbc.gridx = 0; // coluna gbc.gridwidth = 2; // duas células na linha // alinha o label à esquerda gbc.anchor = GridBagConstraints.WEST; JLabel infoLabel = new JLabel("Dados do Usuário:"); // vamos aumentar a fonte da JLabel infoLabel.setFont(new Font("SansSerif", Font.BOLD, 14)); // vamos adicionar um espaço extra na parte // inferior da JLabel infoLabel.setBorder( new EmptyBorder(0, 0, 5, 0)); add(infoLabel, gbc); gbc.gridy = 1; // linha gbc.gridx = 0; // coluna gbc.gridwidth = 1; // cria a label do usuário JLabel usuarioLabel = new JLabel("Usuário:"); add(usuarioLabel, gbc); gbc.gridy = 1; // linha gbc.gridx = 1; // coluna // cria a JTextField do usuário JTextField usuarioTxt = new JTextField(13); add(usuarioTxt, gbc); gbc.gridy = 2; // linha gbc.gridx = 0; // coluna // cria a label da senha JLabel usuarioSenha = new JLabel("Senha:"); add(usuarioSenha, gbc); gbc.gridy = 2; // linha gbc.gridx = 1; // coluna // cria a JPasswordField da senha JPasswordField senhaTxt = new JPasswordField(13); add(senhaTxt, gbc); gbc.gridy = 3; // linha gbc.gridx = 1; // coluna gbc.gridwidth = 2; // duas células na linha // alinha os botões à direita gbc.anchor = GridBagConstraints.EAST; JPanel botoesPanel = new JPanel(); botoesPanel.add(new JButton("Cancelar")); botoesPanel.add(new JButton("OK")); add(botoesPanel, gbc); pack(); // ajusta o tamanho da janela ao // dos componentes setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java Swing nós teremos o seguinte resultado: |
C ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em C dados dois pontos no plano cartesianoQuantidade de visualizações: 3013 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 C 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ // coordenadas dos dois pontos float x1, y1, x2, y2; // guarda o coeficiente angular float m; // x e y do primeiro ponto printf("Coordenada x do primeiro ponto: "); scanf("%f", &x1); printf("Coordenada y do primeiro ponto: "); scanf("%f", &y1); // x e y do segundo ponto printf("Coordenada x do segundo ponto: "); scanf("%f", &x2); printf("Coordenada y do segundo ponto: "); scanf("%f", &y2); // vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1); // mostramos o resultado printf("O coeficiente angular é: %f", m); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C 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 Pressione qualquer tecla para continuar... 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__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ // coordenadas dos dois pontos float x1, y1, x2, y2; // guarda os comprimentos dos catetos oposto e adjascente float cateto_oposto, cateto_adjascente; // guarda o ângulo tetha (em radianos) e a tangente float tetha, tangente; // x e y do primeiro ponto printf("Coordenada x do primeiro ponto: "); scanf("%f", &x1); printf("Coordenada y do primeiro ponto: "); scanf("%f", &y1); // x e y do segundo ponto printf("Coordenada x do segundo ponto: "); scanf("%f", &x2); printf("Coordenada y do segundo ponto: "); scanf("%f", &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 printf("O coeficiente angular é: %f", tangente); printf("\n\n"); system("PAUSE"); return 0; } 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. |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()Quantidade de visualizações: 9875 vezes |
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); // Cria o JLabel MinhaLabel label = new MinhaLabel(); c.add(label); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); } } // classe personalizada que permite desenhar class MinhaLabel extends JLabel{ protected void paintComponent(Graphics g){ super.paintComponent(g); g.drawLine(0, 0, 200, 200); } } |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter a média dos valores dos elementos de um vetor de inteiros na linguagem JavaQuantidade de visualizações: 16533 vezes |
Nesta dica mostrarei como obter a média dos valores dos elementos de um array (vetor) de ints. A média que vamos obter é aritmética, ou seja, somamos todos os valores e dividimos pela quantidade de valores no vetor. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ int[] valores = new int[5]; // inicializa os elementos do vetor valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // obtém a média double media = media(valores); System.out.println("A media dos valores é: " + media); System.exit(0); } // método que recebe um vetor de ints e retorna a média // dos valores de seus elementos public static double media(int[] a){ double total = 0.0; for(int i = 0; i < a.length; i++){ total += a[i]; } return (total / a.length); } } Ao executar este código nós teremos o seguinte resultado: A media dos valores é: 42.2 |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de C++ - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior delesQuantidade de visualizações: 335 vezes |
Pergunta/Tarefa: Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número. Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer. Sua saída deverá ser parecida com: Informe o primeiro número inteiro: 6 Informe o segundo número inteiro: 3 O maior número é: 6 Veja a resolução comentada deste exercício em C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; // protótipo da função que receberá dois números inteiros // e retornará o maior deles int maior_numero(int num1, int num2); int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int num1, num2, maior; // vamos pedir para o usuário informar os dois números cout << "Informe o primeiro número inteiro: "; cin >> num1; cout << "Informe o segundo número inteiro: "; cin >> num2; // os números são iguais? if(num1 == num2){ cout << "Erro. Os dois números são iguais.\n" << endl; } else{ // vamos chamar a função para obter o número maior maior = maior_numero(num1, num2); cout << "O maior número é: " << maior << "\n" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // função que receberá dois números inteiros e retornará // o maior deles int maior_numero(int num1, int num2){ // o primeiro número é maior que o segundo? if(num1 > num2){ return num1; } else{ return num2; } } |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Java - Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão console C++ - Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - Revisado Java - Como usar null em Java |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |