Desafios e Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Como desenhar um triângulo de números em Java usando laços - Exercícios Resolvidos de Java

Quantidade de visualizações: 579 vezes
Pergunta/Tarefa:

Escreva um programa Java para imprimir uma triângulo de números. Este desafio é muito parecido com a pirâmide de números que já vimos em outras dicas e exercícios aqui no site. Seu código deverá solicitar o número de linhas e desenhar o triângulo no seguinte formato:

Informe a quantidade de linhas: 8
       1
      121
     12321
    1234321
   123454321
  12345654321
 1234567654321
123456787654321
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:



Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número em Delphi

Quantidade de visualizações: 13519 vezes
O código abaixo mostra como você pode escrever uma função recursiva em Delphi que permite calcular a potência de um número inteiro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// uma função recursiva para elevar uma determinada
// base ao seu expoente
function potencia(base, expoente: Integer): Integer;
begin
  if expoente = 0 then
    Result := 1
  else
    Result := base * potencia(base, expoente - 1);
end;

// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos obter o resultado de 4 elevado a 3
  ShowMessage('4 ao cubo é igual a: ' +
    IntToStr(potencia(4, 3)));
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library

Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do Python

Quantidade de visualizações: 743 vezes
Pergunta/Tarefa:

Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante.

Sua saída deverá ser parecida com:

A primeira matriz é:
[[4 1 3]
 [9 2 5]]
A segunda matriz é:
[[ 3 10  2]
 [ 1 13  4]]
A matriz soma é:
[[ 7 11  5]
 [10 15  9]]
Resposta/Solução:

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)
----------------------------------------------------------------------

# vamos importar a biblioteca NumPy
import numpy as np

# função principal do programa
def main():
  # vamos criar a primeira matriz
  a = np.array([[4, 1, 3],
                [9, 2, 5]])

  # vamos criar a segunda matriz
  b = np.array([[3, 10, 2],
                [1, 13, 4]])

  # vamos somar as duas matrizes
  c = a + b
  
  # e agora mostramos o resultado
  print("A primeira matriz é:\n{0}".format(a))
  print("A segunda matriz é:\n{0}".format(b))
  print("A matriz soma é:\n{0}".format(c))

if __name__== "__main__":
  main()



Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como criar colunas persistentes o controle TDBGrid do Delphi

Quantidade de visualizações: 11125 vezes
Quando conectamos um TDBGrid a uma fonte de dados TDataSource, automaticamente ocorre a criação de colunas no grid, cada uma correspondendo a um dos campos da tabela para a qual o TDataSet (e suas classes derivadas) está apontando. Estas colunas criadas automaticamente são chamadas de DINÂMICAS, ou contrário das colunas PERSISTENTES.

Porém, na maioria das vezes, nós queremos personalizar a aparência das colunas em tempo de design (o que também pode ser feito em tempo de execução). Queremos alinhar ou alterar os títulos, mudar a fonte e cores, etc. Fazemos isso clicando com o botão direito no controle DBGrid e acessando a opção Columns Editor (ou dando duplo clique na propriedade Columns). Isso fará com que a propriedade State do objeto TDBGridColumns do DBGrid seja mudada para csCustomized, o que indica que o Delphi montará as colunas baseado em nossas configurações e não mais automaticamente de acordo com os nomes dos campos da tabela.

Siga os seguintes passos para criar colunas persistentes para o controle DBGrid:

a) Selecione o DBGrid no formulário;

b) Acesse o editor Columns dando duplo-clique na propriedade Columns no Object Inspector;

Isso bastará para que o list box de Columns exiba as colunas persistentes já existentes. Quando o editor Columns é mostrado pela primeira vez, esta lista estará vazia porque o grid está em seu estado padrão, contendo apenas colunas dinâmicas.

Podemos criar colunas persistentes para todos os campos do dataset de uma só vez, ou podemos criar as colunas persistentes para cada campo individualmente.

Siga os passos abaixo para criar colunas persistentes para todos os campos:

a) Chame o editor Columns e escolha a opção Add All Fields. Note que se o grid não estiver associado a nenhum data source, a opção Add All Fields estará desabilitada. Associe o grid com o data source que estiver conectado a um dataset ativo antes de escolher a apção Add All Fields.

b) Se o grid já possuir colunas persistentes, uma caixa de diálogo perguntará se você quer excluir as colunas existentes ou apenas acrescentar as novas colunas. Se você escolher Yes, todas as colunas persistentes serão removidas e todos os campos do dataset atual serão inseridos como colunas, obedecendo sua ordem no dataset. Neste caso os títulos das colunas serão os nomes dos campos na tabela. Se você escolher No, as colunas persistentes serão mantidas e as novas colunas serão adicionadas.

C) Clique o botão Close para aplicar as colunas persistentes no DBGrid e fechar a caixa de diálogo.

Siga os passos abaixo para criar colunas persistentes individualmente:

a) Escolha o botão Add no editor Columns. A nova columa será selecionada na list box. Esta nova coluna receberá um número sequencial e um nome padrão (por exemplo, 0 - TColumn). Para associar um campo da tabela com esta nova coluna, ajuste sua propriedade FieldName no Object Inspector.

b) Para definir o título para a nova coluna, expanda a propriedade Title no Object Inspector e ajuste sua propriedade Caption.

c) Feche o editor Columns para aplicar as colunas persistentes no grid e fechar a caixa de diálogo.

Se o um DBGrid possui apenas colunas dinâmicas, nós podemos excluí-las em tempo de execução simplesmente mudando o valor da propriedade Columns.State para csCustomized. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos alterar o valor da propriedade State para csCustomized
  DBGrid1.Columns.State := csCustomized;
end;

Este trecho de código faz com que as colunas dinâmicas sejam excluídas e colunas persistentes sejam criadas para cada um dos campos do dataset ao qual o grid está ligado. Após isso, novas colunas podem ser adicionadas em tempo de execução usando código parecido com:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos alterar o valor da propriedade State para csCustomized
  DBGrid1.Columns.State := csCustomized;

  // vamos adicionar uma nova coluna
  DBGrid1.Columns.Add;
end;

Esta dica foi escrita e testada no Delphi 2009.


Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Ruby - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

Quantidade de visualizações: 676 vezes
Pergunta/Tarefa:

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Ruby que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

Veja a resolução comentada deste exercício usando Ruby:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos ler o primeiro lado do triângulo
print "Informe o primeiro lado do triângulo: "
lado_a = Integer(gets)

# vamos ler o segundo lado do triângulo
print "Informe o segundo lado do triângulo: "
lado_b = Integer(gets)

# vamos ler o terceiro lado do triângulo
print "Informe o terceiro lado do triângulo: "
lado_c = Integer(gets)

# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) \
  && (lado_c < (lado_a + lado_b)))
  # é um triângulo equilátero (todos os lados iguais)?
  if((lado_a == lado_b) && (lado_b == lado_c))
    print "O triângulo é equilátero"  
  else
    # é isósceles (dois lados iguais e um diferente)?
    if((lado_a == lado_b) || (lado_a == lado_c) || \
      (lado_c == lado_b))
      print "O triângulo é isósceles" 
    else
      # é escaleno
      print "O triângulo é escaleno"
    end
  end
else
  print "Os lados informados não formam um triângulo." 
end



C ::: Dicas & Truques ::: Strings e Caracteres

Como percorrer os caracteres de uma string C usando um laço for

Quantidade de visualizações: 17270 vezes
Como em C uma string é um vetor de caracteres, tais caracteres podem ser acessados por meio de seu índice no vetor (um valor inteiro começando em 0). Este trecho de código mostra como você pode usar o laço for para acessar cada caractere individualmente e exibí-lo na tela do programa:

----------------------------------------------------------------------
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>
#include <string.h>

int main(int argc, char *argv[]){
  char palavra[] = "Arquivo";

  // vamos percorrer os caracteres usando um laço for
  int i;
  for(i = 0; i < strlen(palavra); i++){
    printf("Caractere na posicao %d = %c\n", i, palavra[i]);
  }

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Caractere na posicao 0 = A
Caractere na posicao 1 = r
Caractere na posicao 2 = q
Caractere na posicao 3 = u
Caractere na posicao 4 = i
Caractere na posicao 5 = v
Caractere na posicao 6 = o


Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 109 usuários muito felizes estudando em nosso site.