Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do DelphiQuantidade de visualizações: 16540 vezes |
|
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1. A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
procedure TForm2.Button1Click(Sender: TObject);
var
dividendo, divisor: Integer;
resultado, resto: Word;
begin
// uses Math
// vamos dividir 10 por 3
dividendo := 10;
divisor := 3;
DivMod(dividendo, divisor, resultado, resto);
// vamos exibir o resultado
ShowMessage('Resultado da divisão: ' + IntToStr(resultado));
// vamos exibir o resto
ShowMessage('Resto da divisão: ' + IntToStr(resto));
end;
Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como excluir todos os elementos de um vector C++ usando a função clear()Quantidade de visualizações: 18033 vezes |
|
Em algumas situações precisamos remover todos os elementos de um vector. Para isso podemos usar a função clear(). Esta função não requer nenhum argumento e possui retorno void. À medida que os elementos vão sendo removidos, seus destrutores são chamados (no caso de os elementos no vector serem referências e não tipos primitivos). Veja o código C++ completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]){
// um vector vazio que conterá inteiros
vector<int> valores;
// vamos inserir três elementos
valores.push_back(54);
valores.push_back(13);
valores.push_back(87);
// vamos obter a quantidade de elementos no vector
cout << "Quantidade de elementos: " << valores.size() << endl;
// vamos remover todos os elementos, ou seja, limpar o vector
valores.clear();
// vamos obter a quantidade de elementos no vector novamente
cout << "Quantidade de elementos: " << valores.size() << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Quantidade de elementos: 3 Quantidade de elementos: 0 |
Python ::: wxPython ::: Gerenciadores de Layout do wxPython |
Como usar o gerenciador de layout BoxSizer em suas aplicações wxPythonQuantidade de visualizações: 457 vezes |
|
O gerenciador de layout BoxSizer do wxPython é o mais comum em aplicações Python usando interfaces gráficas do usuário, ou seja, aplicações GUI. Este gerenciador de layout nos permite agrupar vários controles em uma linha ou coluna, e podemos ainda colocar um BoxSizer dentro de outro BoxSizer, o que resulta em layouts bem mais complexos. Para definir se os controles serão colocados na vertical ou horizontal nós podemos usar os valores wx.VERTICAL ou wx.HORIZONTAL no construtor da classe BoxSizer para ajustar a orientação do layout. Veja uma aplicação wxPython completa na qual colocamos três botões wx.Button na janela principal do programa, dispostos na horizontal: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos importar o framework wxPython
import wx
# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
# o método construtor
def __init__(self, *args, **kw):
# chama o construtor da classe wx.Frame
super(JanelaPrincipal, self).__init__(*args, **kw)
# chama a função que inicializa a GUI
self.InicializarGUI()
# função que inicializa a GUI do programa
def InicializarGUI(self):
# vamos criar um painel
painel = wx.Panel(self)
# definimos a cor de fundo para o painel
painel.SetBackgroundColour(wx.WHITE)
# criamos um BoxSizer
vbox = wx.BoxSizer(wx.HORIZONTAL)
# vamos criar três botões e adicioná-los ao BoxSizer
btn1 = wx.Button(painel, label='Produtos', size=(90, 30))
btn2 = wx.Button(painel, label='Clientes', size=(90, 30))
btn3 = wx.Button(painel, label='Fornecedores', size=(90, 30))
vbox.Add(btn1, flag=wx.LEFT|wx.TOP, border=10)
vbox.Add(btn2, flag=wx.LEFT|wx.TOP, border=10)
vbox.Add(btn3, flag=wx.LEFT|wx.TOP, border=10)
# colocamos o sizer no painel
painel.SetSizer(vbox)
# definimos o tamanho da janela
self.SetSize((450, 350))
# definimos o título da janela
self.SetTitle('O gerenciador de layout BoxSizer')
# e centralizamos a janela
self.Centre()
# função principal do programa Python
def main():
# vamos criar a aplicação wxPython
app = wx.App()
janela_principal = JanelaPrincipal(None)
janela_principal.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Note o uso de um objeto wx.Panel para a criação de um painel no qual colocaremos o BoxSizer. Observe também o uso das flags wx.LEFT|wx.TOP para ajustarmos as bordas ao redor de cada um dos botões inseridos no gerenciador de layout. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Exceções e Tratamentos de Erros |
Exercício Resolvido de Java - Como forçar o usuário a informar dois inteiros válidos antes de efetuar sua soma - Exceções e Tratamentos de Erros em JavaQuantidade de visualizações: 3624 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa tratamento de erros try...catch para forçar o usuário a informar dois valores inteiros válidos antes de tentar somá-los. Caso o usuário informe um ou os dois valores inválidos, o programa deverá exibir uma mensagem de erro e solicitar os valores novamente. Sua saída deverá ser parecida com: Informe o primeiro valor: M Dados inválidos: java.lang.NumberFormatException: For input string: "M" Por favor, informe os dois números novamente Informe o primeiro valor: 7 Informe o segundo valor: % Dados inválidos: java.lang.NumberFormatException: For input string: "%" Por favor, informe os dois números novamente Informe o primeiro valor: 5 Informe o segundo valor: 3 A soma dos valores é: 8 Veja a resolução comentada deste exercício usando Java: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// para verificar se os valores são inteiros válidos
boolean validos = false;
int n1, n2, soma;
// solicita que o usuário informe os dois valores
while(!validos) {
try {
System.out.print("Informe o primeiro valor: ");
// tenta fazer a conversão
n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo valor: ");
// tenta fazer a conversão
n2 = Integer.parseInt(entrada.nextLine());
// se chegou até aqui é porque não houve erros na conversão,
// ou seja, o usuário informou inteiros válidos
soma = n1 + n2;
System.out.println("A soma dos valores é: " + soma);
validos = true;
}
catch (Exception ex) { // houve erro na conversão?
System.out.println("Dados inválidos: " + ex.toString());
System.out.println("Por favor, informe os dois números novamente");
}
}
}
}
|
Nossas 20 dicas & truques de programação mais populares |
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 |






