Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Faça um algoritmo que leia a nota de 10 alunos de uma turma e guarde-as em um vetor. No final, mostre - Desafio de Programação Resolvido em CQuantidade de visualizações: 151 vezes |
Pergunta/Tarefa: Faça um algoritmo que leia a nota de 10 alunos de uma turma e guarde-as em um vetor. No final, mostre: a) Qual é a média da turma b) Quantos alunos estão acima da média da turma c) Qual foi a maior nota digitada d) Em que posições a maior nota aparece Sua saída deve ser parecida com: Informe a 1.a nota: 9 Informe a 2.a nota: 7.5 Informe a 3.a nota: 8 Informe a 4.a nota: 6.5 Informe a 5.a nota: 9.2 Informe a 6.a nota: 5.7 Informe a 7.a nota: 10 Informe a 8.a nota: 8 Informe a 9.a nota: 9.1 Informe a 10.a nota: 10 Média da turma: 8.3 Quant. alunos acima da média: 5 Maior nota digitada: 10.0 A maior nota aparece na posição: 6 A maior nota aparece na posição: 9 Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- 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> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema float notas[10]; float soma, media, maior; int quant_acima_media, pos_maior_nota; int i; // vamos efetuar a leitura das 10 notas dos alunos for(i = 0; i < 10; i++){ printf("Informe a %d.a nota: ", (i + 1)); scanf("%f", ¬as[i]); } // vamos efetuar os cálculos maior = notas[0]; soma = 0.0; quant_acima_media = 0; for(i = 0; i < 10; i++){ // a nota atual é maior que a nota que temos if(notas[i] > maior){ maior = notas[i]; } // vamos somar mais esta nota soma = soma + notas[i]; } // calcula a média da turma media = soma / 10; // vamos contar os alunos acima da média for(i = 0; i < 10; i++){ // esta nota está acima da média? if(notas[i] > media){ quant_acima_media = quant_acima_media + 1; } } // vamos mostrar os dados printf("\nMédia da turma: %f", media); printf("\nQuant. alunos acima da média: %d", quant_acima_media); printf("\nMaior nota digitada: %f", maior); // e agora as posições da maior nota printf("\n"); for(i = 0; i < 10; i++){ if(notas[i] == maior){ printf("\nA maior nota aparece na posição: %d", i); } } printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas no Java Swing usando o método drawLine() da classe GraphicsQuantidade de visualizações: 15053 vezes |
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JLabel label; public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); c.setLayout(new BorderLayout()); // Cria um JLabel label = new JLabel(); c.add(label, BorderLayout.CENTER); // Cria um botão JButton btn = new JButton("Desenhar Linhas"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ Graphics graphics = label.getGraphics(); // desenha linhas no JLabel graphics.drawLine(10, 15, 100, 10); graphics.drawLine(20, 30, 80, 150); graphics.drawLine(50, 50, 120, 30); graphics.drawLine(100, 100, 310, 100); } } ); // Adiciona o botão à janela c.add(btn, BorderLayout.SOUTH); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço Do...Until...Loop do VB.NETQuantidade de visualizações: 9976 vezes |
O laço Do...While...Loop é usado quando queremos testar uma condição e, executar um bloco de código repetidamente ENQUANTO esta condição for verdadeira. O laço Do...Until...Loop, por sua vez, executa uma bloco de códigos repetidamente ATÉ que uma condição se torne verdadeira. Veja um exemplo de laço Do...Until...Loop que nos permite exibir os números de 0 a 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Dim numero As Integer = 0 Do Until numero > 10 Console.WriteLine(numero) numero += 1 Loop Veja uma nova versão deste código, desta vez contando de 10 a 0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Dim numero As Integer = 10 Do Until numero < 0 Console.WriteLine(numero) numero -= 1 Loop Aqui nós estamos novamente avaliando uma condição, ou seja, se o resultado da condição for True, a execução do laço pára. Se for False, o laço continua. Veja um exemplo no qual a condição booleana está bem explícita: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Dim pode As Boolean = True Dim valor As Integer = 1 Do Until pode = False Console.WriteLine(valor) valor += 1 If valor > 20 Then pode = False End If Loop |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como obter o tamanho do texto de um TEdit usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH usando C++ BuilderQuantidade de visualizações: 5786 vezes |
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter a quantidade de caracteres contidos em um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH. A função SendMessage() da API do Windows possui a seguinte assinatura: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e a mensagem que será enviada ao controle. Os valores para os parâmetros wParam e lParam devem ser 0 (zero). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { // vamos obter o tamanho do texto de um TEdit usando a função // SendMessage() e a mensagem WM_GETTEXTLENGTH int tam = SendMessage(Edit1->Handle, WM_GETTEXTLENGTH, 0, 0); // vamos mostrar o resultado ShowMessage("O Edit contém " + IntToStr(tam) + " caracteres."); } Ao executar este exemplo você terá um mensagem com um texto parecido com: O Edit contém 10 caracteres. |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Python para Engenharia - Como multiplicar um vetor por um escalar usando Python e NumPyQuantidade de visualizações: 2999 vezes |
Esta dica de Python e NumPy é direcionada, principalmente, aos estudantes de Engenharia, que se deparam, logo no início do curso, com o estudo da Geometria Analítica e gostariam de entender melhor a multiplicação de vetores por um escalar. Lembre-se de que um escalar é um valor único, enquanto vetores e matrizes são estruturas que guardam vários valores ao mesmo tempo. Nosso primeiro exemplo será feito em cima de um vetor no R3, ou seja, no espaço, com os seguintes valores: [3, -5, 4]. O escalar usado será o valor 2, ou seja, temos que multiplicar cada valor no vetor pelo valor 2 e, dessa forma, obtermos um novo vetor, também no R3. Vetores no R3 possuem valores para x, y e z (três dimensões), enquanto vetores no R2 possuem apenas o x e y. Veja como a linguagem Python facilita a operação da multiplicação de um vetor R3 por um escalar: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # declara e cria o vetor vetor = np.array([3, -5, 4]) # agora vamos multiplicar este vetor pelo escalar 2 escalar = 2 novoVetor = vetor * escalar # vamos exibir o resultado print("Vetor inicial: ", vetor) print("Valor do escalar: ", escalar) print("Novo vetor: ", novoVetor) if __name__== "__main__": main() Este código Python vai gerar o seguinte resultado: Vetor inicial: [3 -5 4] Valor do escalar: 2 Novo vetor: [6 -10 8] Agora, saindo da Geometria Analítica e indo para a Álgebra Linear, veja como podemos efetuar a mesma operação em uma matriz de 2 linhas e 3 colunas (recorde que, em Python, uma matriz nada mais é do que um vetor de vetores, ou seja, cada elemento do vetor contém outro vetor): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # declara e cria a matriz matriz = np.array([(4, 12, 50), (5, 3, 1), (11, 9, 7)]) # agora vamos multiplicar esta matriz pelo escalar 2 escalar = 2 novaMatriz = matriz * escalar # vamos exibir o resultado print("Matriz inicial: ", matriz) print("Valor do escalar: ", escalar) print("Nova matriz: ", novaMatriz) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Matriz inicial: [[4 12 50] [5 3 1] [11 9 7]] Valor do escalar: 2 Nova matriz: [[8 24 100] [10 6 2] [22 18 14]] |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Como usar o modificador protected em suas variáveis e métodos JavaQuantidade de visualizações: 10384 vezes |
O modificador protected pode ser aplicado às variáveis e métodos de uma classe. Membros de uma classe marcados como protected podem ser acessados por qualquer classe no mesmo pacote (package) ou por suas classes derivadas (subclasses), mesmo que estas classes estejam em pacotes diferentes. Contudo, a discussão sobre este modificador é um pouco mais profunda. Subclasses residentes em outros pacotes tem algumas limitações em relação ao acesso de variáveis e métodos marcados como protected em suas superclasses. Em resumo, uma subclasse em um pacote diferente pode sobrescrever métodos protected de suas superclasses. Além disso, instâncias destas subclasses podem acessar ou modificar variáveis protected herdadas de suas superclasses, assim como chamar os métodos protected herdados. Porém, estas instâncias não têm liberdade para efetuar estas ações em outras instâncias das mesmas subclasses. Veja um exemplo no qual mostramos como acessar variáveis marcadas como protected em uma classe a partir de sua classe derivada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // superclasse class Pessoa{ protected String nome; public String getNome(){ return this.nome; } } // subclasse class Aluno extends Pessoa{ public Aluno(){ this.nome = "Osmar J. Silva"; } } public class Estudos{ public static void main(String args[]){ // Cria um objeto da classe Aluno Aluno a = new Aluno(); System.out.println(a.getNome()); } } |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |