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
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string é maior, menor ou igual a outra em C# usando o método Compare()

Quantidade de visualizações: 11522 vezes
Em algumas situações nós precisamos fazer a comparação de duas palavras, frase ou texto e verificar se as duas strings são iguais ou se uma é maior ou menor que a outra. Para isso nós podemos usar a função Compare() da classe String da linguagem C#.

Este método retorna maior que 0 se a primeira string for maior que a segunda, menor que 0 se a primeira string for menor que a segunda e 0 se as duas strings forem iguais.

Veja um código C# completo demonstrando o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string palavra1 = "aacd";
      string palavra2 = "abcd";

      if (String.Compare(palavra1, palavra2) > 0) {
        Console.WriteLine("Palavra1 é maior que palavra2");
      }
      else if (String.Compare(palavra1, palavra2) < 0) {
        Console.WriteLine("Palavra1 é menor que palavra2");
      }
      else {
        Console.WriteLine("Palavra1 é igual a palavra2");
      }

      Console.WriteLine("Pressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Palavra1 é menor que palavra2

Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o arco cosseno de um número em Python usando o método acos() do módulo math

Quantidade de visualizações: 2951 vezes
O arco cosseno, (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo.

Em Python, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416.

Veja um código Python completo no qual informamos um número e em seguida calculamos o seu arco-cosseno:

# vamos importar o módulo Math
import math as math

def main():
  numero = 0.5
  print("O arco cosseno de %f é %f" % (numero, math.acos(numero)))
  
if __name__== "__main__":
  main()

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

O arco cosseno de 0.500000 é 1.047198

Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia.


Lisp ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Como declarar variáveis globais em Lisp usando as funções defvar e defparameter

Quantidade de visualizações: 604 vezes
Em algumas situações nós precisamos declarar variáveis globais em Lisp, ou melhor, em Common Lisp, que é a padronização da Lisp que adotamos para estas dicas.

Variáveis globais em Common Lisp se comportam de forma idêntica àquelas de outras linguagens de programação, ou seja, possuem valores permanentes por todo o sistema Lisp e mantém seus valores até que novos valores são especificados.

Se quisermos, por exemplo, a partir do corpo de uma função acessar uma variável fora dela, então esta variável deverá ser declarada globalmente.

Em Common List nós podemos declarar variáveis globais usando as funções defvar e defparameter. Vamos ver exemplos envolvendo as duas e no final desta dica eu mostro a diferença.

Veja um trecho de código Common Lisp na qual declaramos uma variável global chamada valor e a acessamos de dentro de uma função:

; vamos declarar uma variável global
(defvar valor 10)

; vamos mostrar o valor atual da variável global
(format t "O valor da variável global é ~D" valor)

; agora vamos acessar a variável global
; de dentro de uma função
(defun ModificaValor()
  ; vamos alterar o valor da variável global
  (setq valor 50)
)

; chamamos a função ModificaValor
(ModificaValor)

; e checamos se o valor da variável global foi
; mesmo alterado
(terpri)
(format t "O valor da variável global é ~D" valor)

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

O valor da variável global é 10
O valor da variável global é 50

Veja agora um trecho de código Common Lisp no qual usamos a função defparameter para declarar e inicializar as variáveis globais:

; vamos declarar três variáveis globais
(defparameter *a* 5)
(defparameter *b* 3)
(defparameter *soma* 0)

; agora vamos acessar as variáveis globais
; de dentro de uma função
(defun Somar()
  ; vamos somar as duas variáveis globais
  ; e guardar o resultado em uma terceira
  ; variáveis global
  (setq *soma* (+ *a* *b*))
)

; chamamos a função Somar
(Somar)

; e mostramos o resultado da soma
(format t "A soma das variáveis globais é ~D" *soma*)

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

A soma das variáveis globais é 8

Note que coloquei asteríscos (*) ao redor dos nomes das variáveis globais. Esta é uma prática comum entre programadores Lisp e altamente recomendado pelo comunidade, pois facilita a distinção entre variáveis globais e locais.

Então, qual é a diferença entre defvar e defparameter?

A primeira delas é que a função defparameter nos obriga a informar o valor inicial para a variável global, enquanto a função defvar não o faz.

A segunda diferença é que, ao redefinirmos o valor de uma variável global usando defparameter, o valor armazenado anteriormente será sobreposto, enquanto a função defvar não altera o valor anterior.


Java ::: Pacote java.lang ::: String

Como comparar strings em Java usando os métodos compareTo() e compareToIgnoreCase() da classe String

Quantidade de visualizações: 8504 vezes
Em algumas situações precisamos efetuar comparação léxica de strings, ou seja, verificar se uma palavra ou frase é "igual, ""maior" ou "menor" que outra. Isso pode ser feito por meio do uso dos métodos compareTo() e compareToIgnoreCase() da classe String (definidos originalmente na interface Comparable<String>).

Veja a assinatura do método compareTo():

public int compareTo(String anotherString)

O retorno do método é 0 se a duas strings são iguais. O retorno será menor que 0 se a string na qual o método está sendo chamado for menor que a string passada como argumento. O retorno será maior que 0 se a string na qual o método está sendo chamado for maior que a string passada como argumento.

Veja um exemplo de comparação léxica de duas strings:

public class Main {
  public static void main(String[] args) {
    // vamos declarar duas strings
    String nome1 = "Márcio";
    String nome2 = "Márcia";
    
    // vamos comparar as duas strings lexicamente
    if(nome1.compareTo(nome2) == 0){
      System.out.println("As strings são iguais");
    }
    else if(nome1.compareTo(nome2) > 0){
      System.out.println("A primeira string é maior que a segunda");
    }
    else{
      System.out.println("A primeira string é menor que a segunda");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

A primeira string é maior que a segunda

A funcionalidade fornecida pelo método compareToIgnoreCase() é semelhante à aquela do método compareTo(). A diferenção é que, quando usamos compareToIgnoreCase(), o método não diferencia letras maiúsculas de letras minúsculas.

A comparação efetuada pelos métodos compareTo() e compareToIgnoreCase() é baseada no valor Unicode de cada caractere na string. A sequencia de caracteres representada pelo objeto String é comparada lexicamente com a sequencia de caracteres representada pela string fornecida como argumento.


Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como usar o componente TClientDataSet do Delphi em suas aplicações de banco de dados

Quantidade de visualizações: 15563 vezes
Um objeto da classe TClientDataSet implementa um conjunto de dados independente de banco de dados. Este controle representa um conjunto de dados em memória (in-memory).

Antes de prosseguirmos, veja a posição desta classe na hierarquia de classes do Delphi:

System.TObject
  Classes.TPersistent
    Classes.TComponent
      DB.TDataSet
        DBClient.TCustomClientDataSet
          DBClient.TClientDataSet
Por descendência, a classe TClientDataSet implementa as interfaces Classes.IInterfaceComponentReference, System.IInterface e DB.IProviderSupport.

Um controle TClientDataSet pode ser usado das seguintes formas:

a) Um conjunto de dados baseado em arquivo, único e totalmente funcional direcionado a aplicações compostas de apenas uma camada. Quando usado desta forma, o client dataset representa os dados armazenados em um arquivo dedicado na máquina do usuário.

b) Um buffer em memória local dos registros de um outro conjunto de dados. O outro conjunto de dados (a fonte dos dados) pode residir no mesmo formulário ou data module que o client dataset (por exemplo, quando o client dataset fornece navegação e edição para os dados de um conjunto de dados unidirecional). O conjunto de dados fonte pode também residir em um sistema separado quando o client dataset apoia a parte cliente de uma aplicação de bancos de dados de múltiplas camadas.

A forma mais comum de se usar um controle TClientDataSet é acessando a aba Data Acccess da Tool Palette (Paleta de Ferramentas) e arrastando-o para o seu formulário. Em seguida ajustamos algumas de suas propriedades em tempo de design e pronto. Veja o passo-a-passo para configurar um TClientDataSet para representar uma tabela no banco de dados MySQL (outras dicas minhas mostram como efetuar a conexão com outros bancos de dados):

1) Certifique-se de que o banco de dados MySQL está devidamente configurado e funcionando. Inicie-o, anote o nome de usuário e senha e vamos começar.

2) Vá até a aba de componentes dbExpress e arraste um componente TSQLConnection para o formulário. Este é o componente responsável pela conexão com o banco de dados. Selecione o componente no formulário de forma a acessar suas propriedades no Object Inspector. Em seguida siga atentamente as observações a seguir:

a) Vá na propriedade ConnectioName e selecione MySQLConnection. Automaticamente a propriedade Driver é definida como MySQL. A propriedade LibrayName será definida como dbxmys.dll. O mesmo acontece com a propriedade VendorLib, que é definida como libmysql.dll. dbxmys.dll é fornecida com o Delphi enquanto libmysql.dll vem com a instalação do MySQL e deverá estar em C:\Windows\System para que sua aplicação seja executada com sucesso.

b) O simples fato de definirmos o valor MySQL para a propriedade ConnectionName faz com que os parâmetros de conexão sejam criados com os valores padrões e guardados na propriedade Params. O próximo passo é alterar estes valores de forma a refletir a realidade do banco de dados que vamos usar. Vá em Params e acione o editor Value List Editor. Em HostName você deverá informar o nome ou IP do servidor MySQL. Se estiver rodando localmente use apenas "localhost". Em Database informe o nome da base de dados, por exemplo, "estoque". Em User_Name informe o usuário do banco de dados. Geralmente é "root". Em Password informe a senha do banco de dados. Pressione OK.

c) Vá na propriedade LoginPrompt e altere seu valor para False. Isso evita que a tela de login seja exibida quando tentarmos efetuar a conexão. Agora vá na propriedade Connected e altere seu valor para True. Se correr tudo bem você já estará conectado ao banco de dados MySQL.

3) Agora coloque um componente TSQLDataSet no formulário e defina sua propriedade SQLConnection para o componente TSQLConnection que representa a conexão com o banco de dados. Em seguida defina o valor "ctTable" para a propriedade CommandType. Na propriedade CommandText você deverá informar o nome da tabela que será representada por este TSQLDataSet. Finalmente ajuste a propriedade Active para True.

4) O próximo passo é colocar no formulário um componente TDataSetProvider (na aba Data Access). Este componente é responsável por fazer a conexão com o conjunto de dados (dataset), extrair os dados do SQLDataSet e gerar os comandos de atualização SQL adequados. Assim, informe o valor "SQLDataSet1" para a sua propriedade DataSet.

5) Finalmente chegamos ao componente TClientDataSet. Vá na aba Data Acccess e arraste um TClientDataSet para o formulário. Em seguida informe o valor "DataSetProvider1" para sua propriedade ProviderName. Ajuste sua propriedade Active para True.

6) Hora de exibir e manipular os dados. Vá na aba Data Access e arraste um controle TDataSource para o formulário. Aponte sua propriedade DataSet para "ClientDataSet1". Agora vá na aba Data Controls e arraste um TDBGrid para o formulário. Ajuste sua propriedade DataSource para "DataSource1". Se tudo correu bem, você já verá os registros da tabela serem exibidos no DBGrid.

7) Hora de executar a aplicação. Pressione F9 e vamos ao resultado. Experimente navegar e editar os registros no DBGrid. A aplicação permitirá que você faça isso. No entanto, ao fechar a aplicação e abrí-la novamente você perceberá que as alterações não foram refletidas no banco de dados. Para que isso aconteça, coloque o código abaixo no evento Click de um botão:

procedure TForm3.Button1Click(Sender: TObject);
begin
  if (ClientDataSet1.ChangeCount > 0) then
    ClientDataSet1.ApplyUpdates(-1);
end;

Pronto. Execute a aplicação novamente e faça modificações nos dados exibidos no DBGrid (é preciso sair da linha de edição para que os dados sejam atualizados no DBGrid). Clique no botão para atualizar os dados na tabela do banco de dados. Feche a aplicação a abra-a novamente. Note que agora os dados foram atualizados com sucesso.

Esta dica foi escrita e testada no Delphi 2009.


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

Exercício Resolvido de VisuAlg - Um programa que lê três números inteiros e mostra o maior

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

Faça um algoritmo VisuAlg que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com:

Informe o primeiro número: 34
Informe o segundo número: 83
Informe o terceiro número: 72
O segundo número é o maior
Resposta/Solução:

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

Algoritmo "Um programa que lê três números inteiros e mostra o maior"

Var
  // variáveis usadas na resolução do problema
  num1, num2, num3: inteiro

Inicio
  // vamos solicitar os três números inteiros
  escreva("Informe o primeiro número: ")
  leia(num1)
  escreva("Informe o segundo número: ")
  leia(num2)
  escreva("Informe o terceiro número: ")
  leia(num3)

  // o primeiro número é o maior?
  se (num1 > num2) e (num1 > num3) entao
    escreva("O primeiro número é o maior")
  senao
    // o segundo número é o maior?
    se (num2 > num1) e (num2 > num3) entao
      escreva("O segundo número é o maior")
    senao
      // o terceiro número é o maior?
      se (num3 > num1) e (num3 > num2) entao
        escreva("O terceiro número é o maior")
      senao
        // os números não são diferentes
        escreva("Os três números não são diferentes")
      fimse
    fimse
  fimse

Fimalgoritmo



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VisuAlg

Veja mais Dicas e truques de VisuAlg

Dicas e truques de outras linguagens

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

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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