Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Quantidade de visualizações: 15304 vezes
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Pergunta/Tarefa:

Considere o seguinte vetor de inteiros:

// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
Escreva um programa C que usa um laço for para percorrer todos os elementos deste vetor e exibir a soma de seus valores. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores do vetor é: 32
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // um vetor de inteiros contendo sete elementos
  int valores[] = {4, 5, 1, 8, 2, 2, 10};
  
  // o primeiro passo é criar uma variável que vai receber a soma
  // dos valores dos elementos
  int soma = 0;
  int i;

  // agora vamos usar uma laço for para percorrer todos os elementos
  // do vetor, obter o valor do elemento atual e adicionar ao valor atual
  // da variável soma
  for(i = 0; i < 7; i++){
    soma = soma + valores[i];
    // poderia também ser escrito assim:
    // soma += valores[i];
  }

  // vamos exibir a soma dos valores do vetor
  printf("A soma dos valores do vetor é: %d\n", soma);

  system("PAUSE");	
  return 0;
}



Python ::: wxPython ::: Eventos e Tratadores de Eventos

Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no Python

Quantidade de visualizações: 856 vezes
Em algumas situações nós precisamos reagir ao evento wx.EVT_MOVE em nossas aplicações wxPython. Este evento é gerado todas as vezes que movemos uma janela para uma nova posição.

Veja o código completo para uma aplicação wxPython na qual interceptamos e tratamos o evento wx.EVT_MOVE na janela principal do programa. Note o uso da função e.GetPosition() para recuperarmos as coordenadas x e y do evento e mostrarmos o resultado em controles wx.StaticText.

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

  # método usado para gerenciar o evento Move
  def OnMove(self, e):
    # obtemos a posição do evento e guardamos nas variáveis x e y
    x, y = e.GetPosition()
    # mostramos os valores nas labels
    self.st1.SetLabel(str(x))
    self.st2.SetLabel(str(y))

  # função que inicializa a GUI do programa
  def InicializarGUI(self):
    # criamos dois controles StaticText com os labels já definindos 
    wx.StaticText(self, label='x:', pos=(10,10))
    wx.StaticText(self, label='y:', pos=(10,30))

    # criamos mais dois controles StaticText para escrevermos neles
    self.st1 = wx.StaticText(self, label='', pos=(30, 10))
    self.st2 = wx.StaticText(self, label='', pos=(30, 30))

    # fazemos um binding o evento wx.EVT_MOVE para a
    # função OnMove que criamos
    self.Bind(wx.EVT_MOVE, self.OnMove)

    # definimos o tamanho da janela
    self.SetSize((450, 350))
    # define a cor de fundo da janela (Windows 10)
    self.SetBackgroundColour((150, 250, 100, 255))
    # definimos o título da janela
    self.SetTitle('O evento Move')
    # 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()



Delphi ::: VCL - Visual Component Library ::: TStringGrid

Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do Delphi

Quantidade de visualizações: 16784 vezes
O evento OnDrawCell, definido originalmente na classe TCustomDrawGrid, é disparado quando uma determinada célula do TStringGrid precisa ser desenhada. Este evento possui a seguinte assinatura:

property OnDrawCell: TDrawCellEvent;

O tipo Grids.TDrawCellEvent apresenta, no Delphi 2009, a seguinte lista de parâmetros:

TDrawCellEvent = procedure(Sender: TObject; ACol, ARow: Longint; 
  Rect: TRect; State: TGridDrawState) of object;

Vamos ver cada um destes parâmetros separadamente:

Sender - Representa a grid na qual a célula está sendo desenhada;

ACol, ARow - Índices da coluna e linha na qual a célula está sendo desenhada;

Rect - Localização da célula na área de desenho (canvas);

State - Um objeto Grids.TGridDrawState que indica se a célula possui o foco (gdFocused), está selecionada (gdSelected) e se a mesma é uma célula fixa (gdFixed). Células fixas permanecem vísiveis quando as barras de rolagem são acionadas.

Veja um trecho de código no qual usamos o evento OnDrawCell para colorir de amarelo o fundo de uma determinada célula do TStringGrid:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  conteudo: String;
begin
  // vamos obter o conteúdo da célula
  conteudo := StringGrid1.Cells[ACol, ARow];

  // vamos colorir a célula na segunda linha e terceira
  // coluna com o fundo amarelo
  if (ACol = 2) and (ARow = 1) then
    begin
      StringGrid1.Canvas.Brush.Color := clYellow;
      StringGrid1.Canvas.FillRect(Rect);
      StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
        conteudo);
    end;
end;

Para este exemplo deixei o valor da propriedade DefaultDrawing do TStringGrid como true. Isso faz com que o fundo da célula seja pintado antes que o evento DrawCell seja chamado e o efeito 3D das células fixas seja exibido ou o retângulo de foco ao redor da célula que possui o foco no momento seja desenhado após o evento. Experimente executar o exemplo com o valor false para a propriedade DefaultDrawing para ver o resultado.

Veja agora um trecho de código no qual definimos a cor vermelha para o texto das células cujo valor inteiro seja menor que 10:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  conteudo: String;
begin
  // vamos obter o conteúdo da célula
  conteudo := StringGrid1.Cells[ACol, ARow];

  // vamos definir a cor vermelha para o texto das células
  // contendo valores menores que 10
  if (conteudo <> '') and (StrToInt(conteudo) < 10) then
    begin
      StringGrid1.Canvas.Font.Color := clRed;
      StringGrid1.Canvas.FillRect(Rect);
      StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
        conteudo);
    end;
end;

Tenha cuidado para que o valor da célula possa ser convertido para inteiro por meio do uso da função StrToInt(). Caso a conversão não for possível, uma exceção do tipo EConvertError será lançada.


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

Como converter uma string para letras minúsculas em JavaScript usando a função toLowerCase() do objeto String

Quantidade de visualizações: 2 vezes
Nesta dica mostrarei como usar a função toLowerCase() do JavaScript para transformar todos os caracteres de uma palavra, frase ou texto para letras minúsculas. Esta função faz parte do objeto String.

Veja um página HTML completa demonstrando o exemplo:

<!doctype html>
<html>
<head>
  <title>Strings em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var frase = "Veja Esta Frase.";
  document.write("String original: " +
    frase + "<br>");
  
  // agora vamos transformar todos os caracteres
  // da string para letras minúsculas
  frase = frase.toLowerCase();
  document.write("Em letras minúsculas: " +
    frase + "<br>");
</script>
  
</body>
</html>

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

String original: Veja Esta Frase.
Em letras minúsculas: veja esta frase.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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