Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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 Apenas R$ 19,90
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em C++ - Como usar construtores em suas classes C++

Quantidade de visualizações: 15958 vezes
Quando um objeto de uma classe C++ é criado, a linguagem chama um construtor para tal classe. Se nenhum construtor estiver definido, um construtor padrão é invocado. Este construtor aloca memória para o objeto, mas não o inicializa.

Um construtor é um método que definimos em nossas classes C++ e que possui o mesmo nome da classe. Um construtor não possui tipo de retorno e não retorna nenhum valor. Em geral construtores são públicos, mas, é possível termos construtores privados. Neste caso, somente um método estático da classe poderia criar novos objetos da classe (quando puder dê uma olhada no padrão de projeto Singleton).

O uso mais frequente dos métodos construtores é quando queremos inicializar valores das variáveis e demais recursos no momento da criação de uma nova instância da classe. Esta é uma técnica útil, visto que não precisamos dispor de esforço extra para inicializar as variáveis de instância de um objeto, individualmente, após sua criação.

Vamos ver um exemplo da definição e uso de construtores em uma classe C++? Comece analisando o código para o arquivo de definição da classe Pessoa:

Código para Pessoa.h:

// vamos evitar múltiplas inclusões do
// arquivo de cabeçalho (header file)
#ifndef PESSOA_H
#define PESSOA_H

// vamos incluir o header string
#include <string>

using namespace std;

class Pessoa{
  public:
    // construtor da classe Pessoa
    Pessoa(string, string, int);
    // método que permite retornar o nome da pessoa
    string getNome();
    // método que permite retornar o e-mail da pessoa
    string getEmail();
    // método que permite retornar a idade da pessoa
    int getIdade();
  private:
    // variáveis privadas
    string nome;
    string email;
    int idade;      
};

#endif

Veja a assinatura do método construtor:

Pessoa(string, string, int);

Note que na lista de parâmetros do construtor não precisamos informar os nomes dos parâmetros, apenas seus tipos. Veja agora o arquivo de implementação para esta classe:

Código para Pessoa.cpp:

// arquivo de implementação para a 
// classe Pessoa

// vamos incluir o header Pessoa.h
#include "Pessoa.h"

// implementação do construtor
Pessoa::Pessoa(string nome, string email, int idade){
  this->nome = nome;
  this->email = email;
  this->idade = idade;
}

// método que permite obter o nome da pessoa
string Pessoa::getNome(){
  return this->nome;                  
}

// método que permite obter o email da pessoa
string Pessoa::getEmail(){
  return this->email;                  
}  

// método que permite obter a idade da pessoa
int Pessoa::getIdade(){
  return this->idade;                  
}    

Note que na implementação do método construtor nós recebemos os argumentos para os parâmetros e os usamos para inicializar as variáveis privadas da instância da classe. Observe o uso do ponteiro this para nos referirmos à instância atual da classe Pessoa.

Finalmente, veja o código para o método main() do programa. É aqui que criamos um novo objeto da classe Pessoa e usamos seu método construtor para inicializar suas variáveis privadas de uma só vez:

Código para main.cpp:

#include <cstdlib>
#include <iostream>

// vamos incluir a classe Pessoa
#include "Pessoa.h"

using namespace std;

int main(int argc, char *argv[])
{
    // vamos criar um novo objeto da classe Pessoa
    Pessoa *p = new Pessoa("Osmar J. Silva", 
      "osmar@arquivodecodigos.net", 38);    
    
    // vamos exibir os dados da pessoa
    cout << "Nome: " << p->getNome() << endl;
    cout << "E-Mail: " << p->getEmail() << endl;
    cout << "Idade: " << p->getIdade() << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Além do construtor, uma classe C++ possui também um método destrutor. Veja minhas dicas relacionadas a este assunto para aprender como definir e usar destrutores em suas classes C++.


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

Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Java - Geometria Analítica e Álgebra Linear usando Java

Quantidade de visualizações: 2556 vezes
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0).

Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2:

\[\vec{v} = \left(7, 6\right)\]

Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D:



Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9.

Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6).

Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras:

\[a^2 = b^2 + c^2\]

Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira:

\[a = \sqrt{b^2 + c^2}\]

Passando para os valores x e y que já temos:

\[a = \sqrt{7^2 + 6^2}\]

Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final:

\[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\]

E aqui está o código Java que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler os valores x e y
    System.out.print("Informe o valor de x: ");
    double x = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o valor de y: ");
    double y = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a norma do vetor
    double norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
    
    // mostra o resultado
    System.out.println("A norma do vetor é: " + norma);
  }
}

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

Informe o valor de x: 7
Informe o valor de y: 6
A norma do vetor é: 9.219544457292887

Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo.


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica

Exercícios Resolvidos de Python - FEMPERJ-2012-TCE-RJ: A vazão de dimensionamento de uma galeria de águas pluviais que drena uma área densamente urbanizada de 10 hectares

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

1) FEMPERJ-2012-TCE-RJ: A vazão de dimensionamento de uma galeria de águas pluviais que drena uma área densamente urbanizada de 10 hectares, considerando-se uma chuva de projeto com intensidade de 60 mm/hora, duração igual ao tempo de concentração da bacia e coeficiente de escoamento superficial igual a 0,90, através do Método Racional, é:

A) 150 m3/s

B) 0,150 l/s

C) 1,5 m3/s

D) 150 l/s

E) 15 m3/s

Sua saída deve ser parecida com:

Intensidade da chuva em mm/h: 60
Área da bacia em hectares: 10
Coeficiente de escoamento: 0.9
A vazão de dimensionamento é: 1.5 m3/s
Resposta/Solução:

O primeiro passo para resolver esta questão é relembrar a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio).

Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo.

Eis a fórmula:

\[Q = \frac{C \cdot I \cdot A}{360} \]

Onde:

Q = vazão de pico (m3/s);

C = coeficiente de escoamento superficial que varia de 0 a 1. Coeficiente de Runoff (adimensional).

I = intensidade média da chuva (mm/h);

A = área da bacia (ha), onde 1 ha = 10.000m2. A [[menor_igual]] 300 ha.

Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora e a área já está em hectares. Tudo que temos a fazer é jogar na fórmula.

Então, hora de vermos a resolução comentada deste exercício usando Python:

# função principal do programa
def main():
  # vamos ler a precipitação ou intensidade da chuva em mm/h
  intensidade = float(input("Intensidade da chuva em mm/h: "))
    
  # vamos ler a área da bacia em hectares
  area_bacia = float(input("Área da bacia em hectares: "))
  
  # vamos ler o coeficiente de escoamento
  coeficiente = float(input("Coeficiente de escoamento: "))
    
  # e vamos calcular a vazão de pico em metros cúbicos
  vazao = ((coeficiente * intensidade * area_bacia) / 360.0)
    
  # e mostramos o resultado
  print("A vazão de dimensionamento é: {0} m3/s".format(vazao))
  
if __name__== "__main__":
  main()



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercício Resolvido de Java - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em Java

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

Escreva um programa Java para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
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 ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar um número inteiro
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // vamos calcular o sucessor do número informado
    int sucessor = numero + 1;
    
    // vamos calcular o antecessor do número informado
    int antecessor = numero - 1;
    
    // e agora mostramos os resultados
    System.out.println("O número informado foi: " + numero);
    System.out.println("O antecessor é " + antecessor);
    System.out.println("O sucessor é: " + sucessor);
  }
}



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

Como calcular o produto escalar entre dois vetores usando Java - Geometria Analítica e Álgebra Linear usando Java

Quantidade de visualizações: 3520 vezes
O produto escalar (em inglês: dot product) entre dois vetores é um número real que relaciona o comprimento desses dois vetores e o ângulo formado por eles. É importante notar que alguns autores se referem ao produto escalar como produto interno.

Obtém-se o produto escalar entre dois vetores, no R2, ou três vetores, no R3, por meio da fórmula a seguir (assumindo dois vetores __$\vec{u} = (a, b)__$ e __$\vec{v} = (c, d)__$ no R2).

\[\vec{u} \cdot \vec{v} = a \cdot c + b \cdot d \]

Vamos agora a um exemplo prático. Veja a imagem abaixo, na qual temos dois vetores, com suas coordenadas e magnitudes (módulo, comprimento ou norma):



Note que ambos os vetores possuem como origem as coordenadas (0, 0). O primeiro vetor possui as coordenadas finais (4, 10) e magnitude 11, e o segundo vetor possui as coordenadas finais (11, 6) e magnitude 13. Magnitude é o tamanho do vetor, ou seja, seu comprimento, seu módulo ou norma.

Veja agora o código Java completo que lê as coordenadas dos dois vetores e calcula e mostra o produto escalar entre eles:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // x e y do primeiro vetor
    System.out.print("Coordenada x do primeiro vetor: ");
    float x1 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do primeiro vetor: ");
    float y1 = Float.parseFloat(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo vetor: ");
    float x2 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do segundo vetor: ");
    float y2 = Float.parseFloat(entrada.nextLine());    
    
    // vamos calcular o produto escalar
    float pEscalar = (x1 * x2) + (y1 * y2);
    
    // mostramos o resultado
    System.out.println("O produto escalar é: " + pEscalar);
  }
}

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

Coordenada x do primeiro vetor: 4
Coordenada y do primeiro vetor: 10
Coordenada x do segundo vetor: 11
Coordenada y do segundo vetor: 6
O produto escalar é: 104.0


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

C++ para iniciantes - Como criar um laço while infinito na linguagem C++

Quantidade de visualizações: 9574 vezes
É possível criar um laço while infinito em C++ simplesmente fornecendo o valor true para o teste da condição. Veja:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço while infinito
  int valor = 0;

  while(true){
    cout << valor << "\n";
    valor++;

    if(valor > 10)
      break;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Veja que aqui nós usamos a instrução break para interromper a execução do laço. Tenha o cuidado de sempre monitorar os laços infinitos. Se não houver nenhum ponto de parada, seu programa executará indefinidamente até que sua máquina seja desligada ou o programa seja forçosamente terminado.


Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Java - Java para Geometria

Quantidade de visualizações: 2435 vezes
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência.

É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência.

Veja a figura a seguir para relembrar o que é o raio de um círculo:



Nesta dica mostrarei como podemos usar Java para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos:

\[\text{Diâmetro d} = 2 \times r \]

\[\text{Circunferência C} = 2 \times \pi \times r \]

\[\text{Área A} = \pi \times r^2 \]

Agora vamos ver o código Java que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o raio do círculo
    System.out.print("Informe o raio do círculo: ");
    double raio = Double.parseDouble(entrada.nextLine());
    
    // vamos achar o diâmetro do círculo
    double diametro = 2 * raio;
    // agora calculamos a circunferência
    double circunferencia = 2 * Math.PI * raio;
    // finalmente calculamos a área do círculo
    double area = Math.PI * Math.pow(raio, 2);
    
    // vamos mostrar os resultados
    System.out.println("O diâmetro do círculo é: " +
      diametro);
    System.out.println("A circunferência do círculo é: " +
      circunferencia);
    System.out.println("A área do círculo é: " + area);
  }
}

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

Informe o raio do círculo: 10
O diâmetro do círculo é: 20.0
A circunferência do círculo é: 62.83185307179586
A área do círculo é: 314.1592653589793

Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc.


C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriter

Quantidade de visualizações: 10307 vezes
Nesta dica mostro como usar as classes FileStream e StreamWriter para adicionar conteúdo a um arquivo já existente. Note que usamos o construtor de FileStream que aceita o caminho e nome do arquivo e o modo que ele será aberto. Ao fornecer o valor FileMode.Append nós estamos informando que, se o arquivo existir, mais conteúdo será adicionando ao seu final. Do contrário o arquivo é criado.

Já no construtor de StreamWriter nós estamos fornecendo a codificação dos caracteres, neste caso, UTF-8. Para finalizar, escrevemos no arquivo usando os métodos Write() e WriteLine() da classe StreamWriter.

Veja o código:

static void Main(string[] args){
  // vamos criar uma instância de FileStream. Note que neste
  // construtor nós estamos informando o caminho e nome do
  // arquivo e o modo de abertura do arquivo. Se o arquivo já existir
  // o novo conteúdo é adicionado. Se não existir, o arquivo é criado
  FileStream fs = new FileStream("dados.txt", FileMode.Append);

  // já temos o FileStream? vamos fornecê-lo a um StreamWriter
  StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

  // vamos escrever ou adicioar conteúdo no arquivo
  sw.WriteLine("Esta é mais uma linha");
  sw.Write("Hoje é: ");
  sw.WriteLine(DateTime.Now);
  sw.WriteLine("Esta é a última linha");
  
  sw.Flush();
  sw.Close();
  fs.Close();

  Console.WriteLine("Acabei de escrever no arquivo");
  Console.WriteLine("Pressione qualquer tecla para sair...");
  // pausa o programa
  Console.ReadKey();
}

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

Acabei de escrever no arquivo
Pressione qualquer tecla para sair...


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

Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScript

Quantidade de visualizações: 7033 vezes
Em algumas situações precisamos construir um objeto Date representando uma determinada data e hora. Para isso podemos usar o construtor deste objeto. Veja a sintáxe:

new Date(year, month[, date[, h[, m[, s[, ms]]]]]);

Veja que temos que fornecer os argumemtos na ordem ano, mês, dia, horas, minutos, segundos e milisegundos. Apenas os argumentos para os parâmetros ano e mês são obrigatórios. Veja, por exemplo, como podemos construir a data 01/08/2010:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos construir a data 01/08/2010
  var data = new Date(2010, 7);

  // vamos exibir o resultado
  document.write("A data é: " + data); 
</script>

</body>
</html>

Este trecho de código exibirá o seguinte resultado:

A data é: Sun Aug 1 00:00:00 UTC-0300 2010.

É importante ficar atento à faixa de valores permitida para cada um dos parâmetros:

year - Exigido. Aqui devemos fornecer o ano completo, por exemplo, 1997 (e não 97).

month - Exigido. Devemos fornecer o mês como um inteiro na faixa de 0 a 11 (janeiro é 0 enquanto dezembro é 11).

date - Opcional. Aqui devemos fornecer o dia como um inteiro na faixa de 1 a 31.

hours - Opcional. Devemos fornecer as horas como um inteiro na faixa de 0 a 23.

minutes - Opcional. Devemos fornecer os minutos como um inteiro na faixa de 0 a 59.

seconds - Opcional. Devemos fornecer os segundos como um inteiro na faixa de 0 a 59.

ms - Opcional. Um inteiro na faixa de 0 a 999.

Veja agora um trecho de código no qual construímos a data 14/05/2010 às 17:50:

<script type="text/javascript">
  // vamos construir a data 14/05/2010 às 17:50
  var data = new Date(2010, 4, 14, 17, 50);

  // vamos exibir o resultado
  document.write("A data é: " + data); 
</script>

Este código exibirá o seguinte resultado:

A data é: Fri May 14 17:50:00 UTC-0300 2010.

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


Java ::: Dicas & Truques ::: Arquivos e Diretórios

Manipulação de arquivos em Java - Como ler o conteúdo de um arquivo um byte de cada vez

Quantidade de visualizações: 11198 vezes
Nesta dica mostrarei como ler texto de um arquivo um byte
de cada vez. Para isso vamos usar o método readByte() da classe DataInputStream, do pacote java.io. Note que este método retorna um inteiro com sinal na faixa de -128 até 127.

Neste exemplo faremos um cast do byte lido para um char, já que estaremos lendo um arquivo de texto. Sim, é isso mesmo que você pensou. Se houver caracteres acentuados no arquivo texto, os mesmo não serão exibidos corretamente. A idéia do exemplo é mostrar o funcionamento do método readByte().

Veja o código Java completo:

package arquivodecodigos;

import java.io.*;
 
public class Estudos{
  public static void main(String[] args){
    try {
      DataInputStream in = new DataInputStream(new BufferedInputStream(
        new FileInputStream("C:\\java\\conteudo.txt")));
         
      while (in.available() != 0){
        System.out.print((char) in.readByte());
      }
    } 
    catch (IOException e){
      System.out.println("Erro: " + e.getMessage());
    }
 
    System.exit(0);
  }
}

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

Primeira linha do arquivo
Segunda linha do arquivo
Terceira linha do arquivo

Carregar Publicações Anteriores


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

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



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