Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Como retornar o código ASCII associado a um caractere em C++ - Ler um caractere e retornar o código ASCII correspondente - Desafio de Programação Resolvido em C++

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

Escreva um programa C++ que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente.

Sua saída deverá ser parecida com:

Informe um caractere: A
Você informou o caractere: A
O código ASCII correspondente é: 65
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

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

#include <iostream>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  char caractere;
  int codigo;
  
  // vamos pedir para o usuário informar uma letra, símbolo ou pontuação
  cout << "Informe um caractere: ";
    
  // vamos ler o caractere informado
  cin >> caractere;
    
  // agora vamos obter o código ASCII correspondente
  codigo = (int)caractere;
    
  // e mostramos o resultado
  cout << "Você informou o caractere: " << caractere << endl;
  cout << "O código ASCII correspondente é: " << codigo << endl;
  
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos.

Link para compartilhar na Internet ou com seus amigos:

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: 4039 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:

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

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

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

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

valor = input("Informe o valor desejado: ");
raiz = sqrt(valor);
fprintf("A raiz quadrada do valor informado é %d\n", 
  raiz);

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 ::: Dicas & Truques ::: Threads

Java Threads - Como interromper a execução de uma thread em suas aplicações Java

Quantidade de visualizações: 15060 vezes
A classe Thread fornece um método chamado interrupt() que serve para interrompermos a execução de uma determinada thread. Os métodos sleep() e yield() transferem a thread sendo executada no momento do estado "executando" para o estado "pronta". O método interrupt(), por sua vez, faz com que uma thread vá para o estado "finalizada", ou seja, ela não voltará mais a ser executada.

O problema é que, nem sempre, o método interrupt() parece surtir o efeito desejado, ou seja, fazer com que a thread pare de executar imediatamente. Por esta razão, a forma mais fácil de "matar" uma thread é forçar a saída de seu método run(). Veja um exemplo:

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

// criamos uma classe que servirá como thread
class MinhaThread extends Thread{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);

      if((i >= 3) && (nome.equals("Thread 1"))){
        try{
          System.out.println(nome + " foi eliminada");
          return; // interrompe a execução do método run()
        }
        catch(SecurityException e){
          System.out.println(e.getMessage());
        }      
      }
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread t1 = new MinhaThread("Thread 1");
    t1.start();    

    MinhaThread t2 = new MinhaThread("Thread 2");
    t2.start();
  }
}

Ao usar a instrução return nós forçamos a saída do método run() e consequentemente, o fim da tarefa sendo realizada pela thread.


Ruby ::: Dicas & Truques ::: Data e Hora

Datas e horas em Ruby: Time, Date ou DateTime - Qual classe devo usar?

Quantidade de visualizações: 8253 vezes
A linguagem Ruby oferece três classes básicas para lidar com datas e horas: Time, Date e DateTime. Para ajudá-lo em seus estudos, veja uma descrição breve de cada uma:

1) A classe Time está mais para um encapsulamento das funções de datas e horas da biblioteca C. Estas bibliotecas são geralmente baseadas na época UNIX (UNIX epoch) e, assim, não conseguem representar datas e horas antes de 1970.

2) A classe Date foi criada para superar estas deficiências da classe Time. Com esta classe nós podemos lidar com datas realmente antigas, tais como o aniversário de Leonardo da Vinci (15 de abril de 1452) e, esta classe funciona muito bem com a reforma do calendário. No entanto, a classe Date não permite lidar com horas, ou seja, ao usá-la não seremos capazes de representar a hora que Leonardo da Vinci nasceu. Apenas a data de nascimento.

3) A classe DateTime herda da Date e tenta ser o melhor de ambos os mundos. Com esta classe podemos representar datas da mesma forma que Date e horas da mesma forma que Time. Geralmente os desenvolvedores optam por esta classe, por considerá-la a forma mais correta de representar datas e horas.


Java ::: Coleções (Collections) ::: HashSet

Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem Java

Quantidade de visualizações: 4974 vezes
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:

public boolean add(E e)
Veja que este método recebe o elemento a ser adicionado e retorna true se o elemento foi inserido com sucesso e false em caso contrário. Note que o elemento será inserido somente se este ainda não estiver contido no conjunto. Veja o seguinte trecho de código:

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

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<Integer> conjunto = new HashSet<>();
    
    // vamos tentar inserir três inteiros neste conjunto
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(7)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    // vamos exibir os elementos inseridos com sucesso
    Iterator iterator = conjunto.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}

Ao executar este código teremos o seguinte resultado:

Elemento inserido com sucesso.
Elemento inserido com sucesso.
O elemento não foi inserido.
5
7
Veja que o segundo valor 5 não foi inserido, uma vez que o mesmo já estava na coleção. Lembre-se de que objetos da classe HashSet aceitam o elemento null.


C ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural

Exercícios Resolvidos de C - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando C

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

Veja a seguinte figura:



Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero.

Escreva um programa C que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A.

Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga).

Sua saída deve ser parecida com:

Valor da carga em kN/m: 10
Distância em metros: 13

A reação no apoio A é: 65.000000 kN
A reação no apoio B é: 65.000000 kN
O momento fletor máximo é: 211.250000 kN

Informe uma distância a partir do apoio A: 4
O momento fletor na distância informada é: 180.000000 kN

A força cortante no apoio A é: 65.000000 kN
A força cortante no apoio B é: -65.000000 kN
Resposta/Solução:

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

----------------------------------------------------------------------
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 <math.h>

int main(int argc, char *argv[]) {
  // variáveis usadas na resolução do problema
  float carga, distancia, reacao_a, reacao_b;
  float flexao_maxima, distancia_temp, flexao_distancia;
  float cortante_a, cortante_b;
  
  // vamos pedir para o usuário informar o valor da carga
  printf("Valor da carga em kN/m: ");
  scanf("%f", &carga);
  
  // vamos pedir para o usuário informar a distância entre os apoios
  printf("Distancia em metros: ");
  scanf("%f", &distancia);
  
  // vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia;
  
  // vamos calcular a reação no apoio B
  reacao_b = reacao_a;
  
  // vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * pow(distancia, 2.0);
  
  // e mostramos o resultado
  printf("\nA reacao no apoio A e: %f kN", reacao_a);
  printf("\nA reacao no apoio B e: %f kN", reacao_b);
  printf("\nO momento fletor maximo e: %f kN", flexao_maxima);
  
  // vamos pedir para o usuário informar uma distância a
  // partir do apoio A
  printf("\n\nInforme uma distancia a partir do apoio A: ");
  scanf("%f", &distancia_temp);
  // vamos mostrar o momento fletor na distância informada
  if (distancia_temp > distancia) {
    printf("\nDistancia invalida.\n");
  }
  else {
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * 
      (distancia - distancia_temp);
    printf("O momento fletor na distancia informada e: %f kN", 
      flexao_distancia);  
  }
  
  // vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia;
  printf("\n\nA forca cortante no apoio A e: %f kN", cortante_a);
  
  // vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1;
  printf("\nA forca cortante no apoio B e: %f kN\n\n", cortante_b);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}



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

Veja mais Dicas e truques de C

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



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