Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Fundamentos da Linguagem ::: Estruturas de Controle

C# para iniciantes - Como usar o laço for da linguagem C#

Quantidade de visualizações: 11668 vezes
O laço for em C# é usado quando queremos executar uma instrução ou um bloco de instruções um determinado número de vezes. Este laço é composto de três partes:

Inicialização: Laços for são controlados por uma variável de controle. Nesta parte nós definimos o tipo de dados e o valor inicial desta variável. Esta parte do laço é executada somente na primeira iteração.

Teste da condição de parada: Cada iteração do laço acontece mediante uma condição. Esta condição é avaliada e, caso o retorno seja satisfatório, a execução do laço continua. O resultado da avaliação desta parte do laço deve ser true ou false. Tenha em mente que, se a condição já for falsa na primeira iteração, o laço nunca será executado.

Incremento ou decremento da variável de controle: Esta parte do laço é executada após cada iteração. É aqui que incrementamos ou decrementamos o valor da variável de controle. Esta parte é importante. Não manipular o valor da variável de controle pode resultar em laços infinitos.

Veja um laço for no qual contamos de 0 a 10:

static void Main(string[] args){
  for(int i = 0; i <= 10; i++){
    Console.WriteLine("{0}", i);
......


Veja agora um laço for que exibe os números pares de 0 a 10:

static void Main(string[] args){
  for(int i = 0; i <= 10; i += 2){
    Console.WriteLine("{0}", i);
......


E finalmente, um laço for que conta de 10 até 0:

static void Main(string[] args){
  for(int i = 10; i >= 0; i--){
    Console.WriteLine("{0}", i);
......


Com exceção da parte do teste de condição de parada, as demais partes de um laço for podem conter múltiplas instruções separadas por vírgulas. Veja:

static void Main(string[] args){
  for(int i = 0, x = 3; i < 10; i++, x *= 4){
    Console.WriteLine("{0}", i + x);
......


Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como verificar se uma substring está contida no início de uma string em Delphi usando a função AnsiStartsStr()

Quantidade de visualizações: 12121 vezes
Em algumas situações precisamos verificar se uma substring está contida no início de uma string, ou seja, se a string começa com um determinado prefixo. Em Delphi isso pode ser feito com o auxílio da função AnsiStartsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no início da string. Do contrário o retorno será false. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  frase: string;
begin
  frase := 'Gosto muito de Delphi e Java';

  // vamos verificar se a string começa com "Gosto"
......


Lembre-se de que esta função diferencia maiúsculas e minúsculas.

Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


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

Como escrever uma função concat() que reproduz a funcionalidade da função strcat() da linguagem C

Quantidade de visualizações: 11271 vezes
O C (C99, ANSI C) contém uma função strcat(), no header string.h, que permite concatenar duas strings. Para fins de estudo, segue abaixo o código completo para uma função concat(), que recebe duas strings, anexa a segunda à primeira e retorna um ponteiro para uma string contendo ambas:

// uma função concat
char *concat(char *destino, const char *origem)
{
  // um ponteiro para a string de destino
  char *original = destino;

  // vai para o final da string de destino
......


Veja como usar no trecho de código abaixo:

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

// uma função concat
char *concat(char *destino, const char *origem)
{
  // um ponteiro para a string de destino
  char *original = destino;

  // vai para o final da string de destino
  while(*original)
    original++;

  // anexa a string de origem
  while(*original++ = *origem++)
    ;

  // retorna o resultado
......


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

Gosto muito de C e Java.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercício Resolvido de Java - Escreva um programa Java que pede um número inteiro e informa se o número informado é um número de Armstrong

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

Um número é chamado de número de Armstrong quando a soma de cada um dos seus dígitos, elevado à quantidade de dígitos do número, equivale ao próprio número. Por exemplo, 153 e 93084 são números de Armstrong, já que:

153 = 13 + 53 + 33
93084 = 95 + 35 + 05 + 85 + 45

Escreva um programa Java que pede para o usuário informar um número inteiro e informa se o número informado é um número de Armstrong ou não. Seu código deve usar apenas os operadores matemáticos disponíveis na linguagem Java.

Sua saída deverá ser parecida com:

Informe um número inteiro: 153
O número informado é um número de Armstrong
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos{ 
  public static void main(String args[]){ 
    // para efetuar a leitura da entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar um número
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o primeiro passo é obter a quantidade de dígitos que o número informado
    // possui
    int quant_digitos = 0;
    int temp = numero;
    while(temp != 0) {
      quant_digitos = quant_digitos + 1;
......



GNU Octave ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada usando a função sqrt() do GNU Octave

Quantidade de visualizações: 3972 vezes
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras.

Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que:

\[\sqrt{9} = 3\]

então, pela potenciação:

\[3^2 = 9\]

Agora veremos como calcular a raiz quadrada usando a função sqrt() do GNU Octave. Se você ainda não o fez, abra o GNU Octave e digite a seguinte expressão na janela de comandos:

>> raiz = sqrt(9) [ENTER]
......


Agora veja como podemos usar a função sqrt() em um script do GNU Octave:

valor = input("Informe o valor desejado: ");
raiz = sqrt(valor);
......


Uma saída deste código poderia ser:

Informe o valor desejado: 25
A raiz quadrada do valor informado é 5
>>

É importante ter em mente que a função sqrt() do GNU Octave retorna um erro caso o valor do radicando for negativo. Veja:

Informe o valor desejado: -5
A raiz quadrada do valor informado é error: octave_base_value::int64_scalar_value
(): wrong type argument 'complex scalar'
>>


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercício Resolvido de Java - A classe Produto (construtores, métodos, getters e setters e encapsulamento)

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

Crie uma classe Produto para representar um produto do mundo real. Sua classe deverá conter os seguintes atributos e métodos:

1) Um campo de dados privado do tipo String chamado nome, que representará o nome do produto.

2) Um campo de dados privado do tipo double chamado precoCusto, que guardará o preço de custo do produto.

3) Um campo de dados privado do tipo double chamado precoVenda, que guardará o preço de venda do produto.

4) Um campo de dados privado do tipo double chamado margemLucro, que guardará a margem de lucro do produto.

5) Métodos públicos get() e set() para os atributos acima. Modifique o método setPrecoVenda() para que o preço de venda não seja inferior ao preço de compra. Caso isso aconteça, exiba uma mensagem alertando o usuário.

6) Crie um método chamado calcularMargemLucro() que calculará a margem de lucro do produto.

7) Crie um método chamado getMargemLucroPorcentagem() que retornará a margem de lucro como percentual.

Para finalizar, no método main() da classe de teste, crie um novo objeto da classe Produto, peça para o usuário informar os preços de custo e de venda e exiba a margem de lucro em moeda e em percentual. Sua saída deverá ser algo parecido com o mostrado na imagem abaixo:

Informe o preço de custo: 120
Informe o preço de venda: 195
Preço de custo: 120.0
Preço de Venda: 195.0
Margem de Lucro: 75.0
Margem de Lucro Percentual (%): 62.5
Resposta/Solução:

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

Produto.java:

package estudos;

public class Produto{
  private String nome; // nome do produto
  private double precoCusto; // preço de custo do produto
  private double precoVenda; // preço de venda do produto
  private double margemLucro; // margem de lucro do produto

  // obtém a margem de lucro
  public double getMargemLucro(){
    return margemLucro;
  }

  // define a margem de lucro
  public void setMargemLucro(double margemLucro){
    this.margemLucro = margemLucro;
  }

  // obtém o nome do produto
  public String getNome(){
    return nome;
  }

  // define o nome do produto
  public void setNome(String nome){
    this.nome = nome;
  }

  // obtém o preço de custo
  public double getPrecoCusto(){
    return precoCusto;
  }

  // define o preço de custo
  public void setPrecoCusto(double precoCusto){
......


Veja agora o método main() que nos permite testar a funcionalidade da classe Produto:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    
    // vamos criar um novo objeto da classe Produto
    Produto p = new Produto();
    
    // vamos ler o preço de custo
    System.out.print("Informe o preço de custo: ");
    p.setPrecoCusto(Double.parseDouble(entrada.nextLine()));
    
    // vamos ler o preço de venda
    System.out.print("Informe o preço de venda: ");
......



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

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



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