Desafios de Programação Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++

Delphi - VCL - Visual Component Library - TStringGrid

Mais Dicas e Truques de Programação

JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string contém uma determinada substring em JavaScript usando a função includes()

Quantidade de visualizações: 2178 vezes
O método includes() da linguagem JavaScript foi adicionado ao objeto String na revisão ECMAScript 2015, ou ES6, também chamado de ECMAScript 6.

Este método é chamado diretamente em uma variável do tipo string e retorna true se a palavra, frase ou texto possuir uma substring específica e false em caso contrário.

Veja um exemplo no qual verificamos se uma frase contém a palavra "JavaScript":

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

<!doctype html>
<html>
<head>
  <title>JavaScript 6</title>
</head>
 
<body>
 
<script type="text/javascript">
  var frase = "Gosto muito de HTML, PHP e JavaScript";
  
  if(frase.includes("JavaScript")){
    document.writeln("A frase contém a palavra JavaScript");  
  }
  else{
    document.writeln("A frase não contém a palavra JavaScript");  
  }
</script>
 
</body>
</html>

Ao executarmos este código JavaScript nós teremos o seguinte resultado:

A frase contém a palavra JavaScript

É importante ter em mente que a função includes() diferencia letras maiúsculas de letras minúsculas.


C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em C

Quantidade de visualizações: 4015 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando C. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código C.

Veja um trecho de código C completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

----------------------------------------------------------------------
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[]){
  // vamos declarar e construir uma matriz de três linhas
  // e três colunas
  int linhas = 3, colunas = 3;
  int matriz[linhas][colunas];
  // guarda a soma dos elementos na diagonal principal
  int soma_diagonal = 0;
  int i, j;
	   
  // vamos ler os valores para os elementos da matriz
  for(i = 0; i < linhas; i++){ // linhas
    for(j = 0; j < colunas; j++){ // colunas
      printf("Informe o valor para a linha %d e coluna %d: " 
        , i, j);
      scanf("%d", &matriz[i][j]);       
    }       
  }
     
  // vamos mostrar a matriz da forma que ela
  // foi informada
  printf("\n");
  // percorre as linhas
  for(i = 0; i < linhas; i++){ 
    // percorre as colunas
    for(j = 0; j < colunas; j++){ 
      printf("%d    ", matriz[i][j]);
    }
    // passa para a próxima linha da matriz
    printf("\n");
  }
     
  // vamos calcular a soma dos elementos da diagonal   
  // principal
  for(i = 0; i < linhas; i++){
    for(j = 0; j < colunas; j++){
      if(i == j){
        soma_diagonal = soma_diagonal + matriz[i][j];
      }
    }
  }
     
  // finalmente mostramos a soma da diagonal principal
  printf("\nA soma dos elementos da diagonal principal é: %d" 
   , soma_diagonal);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

3    7    9
2    4    1
5    6    8

A soma dos elementos da diagonal principal é: 15



Java ::: Dicas & Truques ::: Matemática e Estatística

Como testar se um número é par ou ímpar em Java

Quantidade de visualizações: 44057 vezes
Boa parte das listas de exercícios de Java básico contém um enunciado pedindo para o seu programa ler um número inteiro e informar se o mesmo é par ou ímpar. Esse teste é feito usando-se o operador de módulo (%) da linguagem Java.

Este operador retorna o resultado de uma divisão por inteiros, ou seja, se dividirmos 5 por 2, o resultado da divisão inteira será dois e o resto 1, indicando que o número informado não é par.

Veja o código completo para um exemplo:

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

package arquivodecodigos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.print("Informe um valor inteiro: ");
    int num = input.nextInt();

    if(num % 2 == 0){
      System.out.print("Você informou um numero par");
    }
    else{
      System.out.print("Você informou um numero impar");
    }
    
    System.exit(0);
  }
}

Ao executarmos este código Java nós teremos o seguinte resultado:

Informe um valor inteiro: 5
Você informou um numero impar


wxWidgets ::: Dicas & Truques ::: wxFrame

Como usar a classe wxFrame para criar a janela principal de suas aplicações C++ wxWidgets

Quantidade de visualizações: 1365 vezes
A classe wxFrame, definida no arquivo <wx/frame.h>, herda diretamente da classe wxTopLevelWindow (que herda de wxWindow) e, em geral, é usada para representar a janela principal da aplicação. Em tempo de execução seu tamanho pode ser alterado, maximizado, restaurado e minimizado. Esta janela também inclui uma borda mais grossa, uma barra de títulos e, opcionalmente, uma barra de menus, uma barra de ferramentas ou uma barra de status.

Uma wxFrame pode atuar como um contâiner para outros controles, tais como botões, caixa de texto, listas, tabelas, etc. No entanto, não podemos inserir em uma wxFrame uma outra wxFrame ou um diálogo.

O construtor não vazio da classe wxFrame é:

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

wxFrame::wxFrame(wxWindow* parent, wxWindowID id,
  const wxString&  title, const wxPoint& pos = wxDefaultPosition,  
  const wxSize& size = wxDefaultSize,  
  long style = wxDEFAULT_FRAME_STYLE,
  const wxString& name = wxFrameNameStr)


O parâmetro parent pode ser, e geralmente é, NULL. Se esse valor for diferente de NULL, a frame será minimizada quando sua janela mãe foi minimizada e restaurada quando esta for restaurada. Note que estamos falando de aplicações de janelas de múltiplos documentos (janelas MDI).

O parâmetro id é o identificador da janela. Podemos informar -1 para indicar um valor default.

O parâmetro title é o texto a ser exibido na barra de títulos da janela.

O parâmetro pos é a posição da janela, expressa como um wxPoint (coordenada x e y). Se fornecermos o valor wxDefaultPosition para este parâmetro, a posição da janela será escolhida pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro size é o tamanho da janela, expresso como um wxSize (largura e altura). O valor wxDefaultSize indica o tamanho padrão (default), escolhido pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro style é o estilo da janela. O valor padrão é wxDEFAULT_FRAME_STYLE (que pode ser redimensionada, possui um botão de minimizar, de maximizar, etc).

O parâmetro name é usado para associar a janela com um item nomeado, permitindo a personalização individual da janela em sistemas que usam o Motif. No Windows este parâmetro não possui nenhum efeito.

Vamos ao código agora. Veja os arquivos de definição e de implementação para a criação de uma janela wxFrame:

Código para janelaprincipal.h:

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

#ifndef _JANELAPRINCIPAL_H
#define _JANELAPRINCIPAL

#include <wx/wx.h>

// Definição da nossa janela wxFrame
class JanelaPrincipal : public wxFrame{
  public:
   // construtor não vazio
   JanelaPrincipal(const wxChar *titulo, int posX, int posY, 
     int largura, int altura);

   // destrutor
   ~JanelaPrincipal();
};

#endif // _JANELAPRINCIPAL_H

Código para janelaprincipal.cpp:

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

#include "janelaprincipal.h"

// arquivo de implementação
JanelaPrincipal::JanelaPrincipal(const wxChar *titulo, int posX,
  int posY, int largura, int altura) : wxFrame((wxFrame *)NULL, -1,
  titulo, wxPoint(posX, posY), wxSize(largura, altura)){

  // não vamos fazer nada aqui por enquanto	 
}

JanelaPrincipal::~JanelaPrincipal(){
  // por enquanto vamos deixar o construtor vazio
}

Agora veja o arquivo de definição e de implementação necessários para a criação e exibição da nossa janela:

Código para aplicacao.h:

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

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
  // é chamado no startup da aplicação
  virtual bool OnInit();
};

// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)

Código para aplicacao.cpp

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

#include "aplicacao.h"
#include "janelaprincipal.h"

// arquivo de implementação

// aqui o wxWidgets cria nosso objeto MinhaAplicacao e o associa
// com a função de entrada main() ou WinMain()
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos criar nossa janela
  JanelaPrincipal *janela = new JanelaPrincipal(wxT("Cadastro"),
	50, 50, 500, 400);
  // vamos exibir a janela wxFrame
  janela->Show(TRUE);
  // essa vai ser a janela principal da aplicação
  SetTopWindow(janela);
  
  // podemos iniciar o loop de eventos
  return true;
}

Note que, para que a janela seja visível na tela, devemos fazer uma chamada ao método Show() e fornecer o valor TRUE. Esta função é definida originalmente em wxWindow. Veja também que chamamos SetTopWindow() para informar ao wxWidgets que esta é a janela principal, razão pela qual fornecemos o valor NULL para o parâmetro parent.


Kotlin ::: Dicas de Estudo e Anotações ::: Input e Output (Entrada e Saída)

Como usar a função readLine() do kotlin.io para ler a entrada do usuário em Kotlin

Quantidade de visualizações: 6642 vezes
Podemos ler a entrada do usuário usando o método readLine() do pacote kotlin.io, que é importado automaticamente para todas as aplicações Kotlin. Esta função retorna um objeto da classe String? e aceita um valor null, ou seja, uma string vazia.

Veja um exemplo no qual pedimos para o usuário informar o seu nome e em seguida exibimos uma saudação:

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

fun main(args: Array<String>) {
  print("Por favor, informe o seu nome: ")
  // vai ler o nome e guardar na variável nome
  var nome = readLine()
  println("Olá, $nome. Bem-vindo(a) ao Kotlin.")
}

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

Por favor, informe o seu nome: Osmar J. Silva
Olá, Osmar J. Silva. Bem-vindo(a) ao Kotlin.


Python ::: Dicas & Truques ::: Data e Hora

Como obter um datetime da data e hora atual usando o método today() da classe datetime da linguagem Python

Quantidade de visualizações: 10174 vezes
Neste exemplo mostrarei como podemos usar o método today() da classe datetime do Python para retornar a data e hora local.

Veja o código completo:

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

from datetime import datetime

def main():
  # Obtém um datetime da data e hora atual
  hoje = datetime.today()
 
  # Exibe o conteúdo do datetime
  print("Hoje é: " + str(hoje))
 
if __name__== "__main__":
  main()

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

Hoje é: 2018-03-03 15:54:01.477809


jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML

Apostila jQuery - Como substituir uma classe por outra em um elemento HTML usando os métodos removeClass() e addClass() do jQuery

Quantidade de visualizações: 13814 vezes
Muitos métodos do jQuery retornam um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. Podemos tirar proveito disso para trocar as classes de um elemento HTML de forma bem simples.

Sabemos que os métodos removeClass() e addClass() retornam um objeto jQuery. Assim, o trecho de código abaixo é perfeitamente válido:

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

<script type="text/javascript">
<!--
  function trocarClasse(){
    // troca a classe "destaque" do parágrafo
    // com o id "parag" pela classe "destaque2"
    $('#parag').removeClass("destaque")
      .addClass("destaque2");
  }
//-->
</script>



Lisp ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Cartesianas para Coordenadas Polares em LISP - LISP para Engenharia

Quantidade de visualizações: 319 vezes
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil).

Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos.

Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade).

Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é:

__$r = \sqrt{x^2+y2}__$
__$\theta = \\arctan\left(\frac{y}{x}\right)__$

E aqui está o código LISP completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$):

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

; programa LISP que converte Coordenadas Cartesianas
; em Coordenadas Polares
(let((x)(y)(raio)(theta)(angulo_graus))
  ; vamos ler as coordenadas cartesianas
  (princ "Valor de x: ")
  (force-output)
  (setq x (read))
  (princ "Valor de y: ")
  (force-output)
  (setq y (read))
  
  ; vamos calcular o raio
  (setq raio (sqrt (+ (expt x 2) (expt y 2))))
  
  ; agora calculamos o theta (ângulo) em radianos 
  (setq theta (atan y x))

  ; queremos o ângulo em graus também
  (setq angulo_graus (* 180 (/ theta pi)))
  
  ; e exibimos o resultado
  (princ "As Coordenadas Polares são: ")
  (format t "raio = ~F, theta = ~F, ângulo em graus: ~F"
    raio theta angulo_graus)
)

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

Valor de x: -1
Valor de y: 1
As Coordenadas Polares são:
raio = 1.4142135623730951, theta = 2.356194490192345, ângulo em graus = 135.0

Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raizes e frações em vez de valores reais.


JavaScript ::: Dicas & Truques ::: Data e Hora

Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etc

Quantidade de visualizações: 11266 vezes
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários.

Veja a página HTML completa para o exemplo:

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

<!doctype html>
<html>
<head>
  <title>Data e hora em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um array com os dias da semana
  var dias_semana = new Array("Domingo", "Segunda-feira",
    "Terça-feira", "Quarta-feira", "Quinta-feira",
    "Sexta-feira", "Sábado");
  
  // agora vamos obter a data de hoje
  var data = new Date();
  
  // agora vamos obter o número do dia da semana
  // começando em 0 para o domingo
  var dia_semana = data.getDay();
  
  // e finalmente mostramos o resultado
  document.write("Dia da semana: " + dias_semana[dia_semana]);
</script>
  
</body>
</html>

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

Dia da semana: Segunda-feira


C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em C# usando a propriedade Length

Quantidade de visualizações: 7624 vezes
Nesta dica mostrarei como saber a quantidade de elementos em um vetor do C# usando a sua propriedade Length. Por quantidade de elementos nós estamos falando do tamanho do array.

Veja o código C# completo:

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

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // cria e inicializa um array de strings
      string[] cidades = {"Goiânia", "São Paulo",
        "Rio de Janeiro", "Curitiba"};

      // obtém a quantidade de elementos no array
      int quant = cidades.Length;
      Console.WriteLine("Este array possui {0} elementos.", quant);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Este array possui 4 elementos.

Carregar Publicações Anteriores


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



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