Você está aqui: Cards de Python |
||
|
||
|
|
||
Haskell ::: Desafios e Lista de Exercícios Resolvidos ::: Haskell Básico |
Exercícios Resolvidos de Haskell - Como escrever uma função que recebe dois números inteiros e retorna a sua somaQuantidade de visualizações: 946 vezes |
|
Pergunta/Tarefa: Escreva uma função Haskell que recebe dois números inteiros e retorne a sua soma. A função deverá ser chamada a partir da função main do programa. O usuário deverá informar os dois números a serem somados. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 3 A soma dos dois números é: 11 Veja a resolução comentada deste exercício usando Haskell: import System.IO import Text.Printf -- declaração da função somar somar :: Int->Int->Int -- definição da função somar -- recebe dois inteiros e retorna a -- soma como um inteiro somar a b = a + b -- função principal do programa main = do -- vamos desabilitar o buffer de quebra de linha hSetBuffering stdout NoBuffering -- vamos pedir para o usuário informar dois números -- inteiros putStr "Informe o primeiro número: " n1 <- readLn::IO Int putStr "Informe o segundo número: " n2 <- readLn::IO Int -- agora vamos chamar a função somar e obter -- a soma dos dois números fornecidos let soma = somar n1 n2 -- agora mostramos o resultado printf "A soma dos dois números é: %d" soma |
Java ::: Pacote java.lang ::: String |
Como obter um objeto String a partir de um StringBuffer ou StringBuilder do JavaQuantidade de visualizações: 3592 vezes |
|
As classes StringBuffer e StringBuilder possuem as mesmas funcionalidades. A diferença é que StringBuilder não é segura em relação à threads e está sendo rapidamente substituída pela classe StringBuffer. Ambas são parecidos com uma String, com a diferença que um StringBuffer ou StringBuilder pode ser modificado in-place, ou seja, modificações em seu conteúdo não geram uma nova cópia, como acontece com objetos da classe String. Nesta dica eu mostrarei como criar novos objetos String a partir do conteúdo de um StringBuffer ou StringBuilder. Vamos começar analisando os construtores da classe String que permitem passar um objeto StringBuffer ou StringBuilder:
package estudos;
public class Estudos{
public static void main(String[] args) {
// um StringBuffer contendo uma frase (troque
// StringBuffer por StringBuilder e o resultado será o mesmo
StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
// vamos obter uma String a partir deste StringBuffer
String fraseString = new String(frase);
// e exibimos o resultado
System.out.println(fraseString);
}
}
Resultado parecido pode ser obtido sem o uso dos construtores String(StringBuilder builder) e String(StringBuffer buffer). Veja:
package estudos;
public class Estudos{
public static void main(String[] args) {
// um StringBuffer contendo uma frase (troque
// StringBuffer por StringBuilder e o resultado será o mesmo
StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
// vamos obter uma String a partir deste StringBuffer
String fraseString = frase.toString();
// e exibimos o resultado
System.out.println(fraseString);
}
}
Agora nós usamos o método toString() da classe StringBuffer para converter seu conteúdo em uma string e atribuí-lo à variável fraseString. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando PythonQuantidade de visualizações: 1391 vezes |
|
Pergunta/Tarefa: Dada a seguinte matriz: 6 10 4 2 9 7 20 3 1 Sua saída deverá ser parecida com: Maior elemento na coluna 0 é 20 Maior elemento na coluna 1 é 10 Maior elemento na coluna 2 é 7 Veja a resolução comentada deste exercício usando Python:
# método principal
def main():
# vamos declarar e constuir uma matriz de 3 linhas e três colunas
matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]];
# vamos percorrer a matriz e exibir o maior elemento de cada coluna
# começamos com cada coluna
for i in range(len(matriz[0])):
# assumimos que o maior valor é o primeiro dessa coluna
maior = matriz[0][i]
# percorremos todos os elementos desta linha
for j in range(len(matriz)):
# o elemento atual é maior que o maior?
if matriz[j][i] > maior:
# maior assume o valor atual
maior = matriz[j][i]
# exibimos o maior elemento desta coluna
print("Maior elemento na coluna {0} é {1}".format(i, maior))
if __name__== "__main__":
main()
|
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como definir o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT usando C++ BuilderQuantidade de visualizações: 6285 vezes |
|
Embora o C++ Builder já nos forneça as ferramentas necessárias para definir o conteúdo de 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_SETTEXT. A função SendMessage() da API do Windows possui a seguinte assinatura: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:
void __fastcall TForm3::Button2Click(TObject *Sender)
{
// conteúdo a ser definido para a caixa de texto
char texto[] = "Veja isso";
// vamos definir o conteúdo usando a função SendMessage
// fornecendo a mensagem WM_SETTEXT
SendMessage(Edit1->Handle, WM_SETTEXT, 0, (LPARAM)texto);
}
Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127Quantidade de visualizações: 4775 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
// um laço que começa em 1 e termina em 127
for(int i = 1; i <= 127; i++){
// vamos obter o caractere correspondente
char c = (char)(i);
// vamos exibí-lo
System.out.print(c + " ");
// é hora de quebrar a linha?
if(i % 10 == 0){
System.out.println();
}
}
System.out.println();
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






