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

Exercícios Resolvidos de C++ - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausente

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

Dado o vetor:

int valores[] = {1, 8, 7, 2, 6, 5, 3};


Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos.

Sua saída deverá ser parecida com:

O número ausente é: 4
Resposta/Solução:

Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício.

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

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // vamos declarar um vetor de inteiros faltando
  // um valor na sequência (não necessariamente ordenada)
  // Note a ausência do número 4
  int valores[] = {1, 8, 7, 2, 6, 5, 3};
  int i, soma_n, ausente, soma_elementos;
  int quant = 8; // tamanho do vetor + 1
    
  // o primeiro passo é obter a soma de 1..n elementos
  // natuais usando a fórmula n*(n+1)/2
  soma_n = (quant * (quant + 1)) / 2;
    
  // agora vamos somar os elementos do vetor
  soma_elementos = 0;
  for(i = 0; i < 7; i++){
    soma_elementos = soma_elementos + valores[i];
  }
    
  // agora calculamos o valor ausente
  ausente = soma_n - soma_elementos;
    
  // vamos mostrar o resultado
  cout << "O número ausente é: " << ausente << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}



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

Como obter a extensão de um arquivo em PHP usando a função pathinfo()

Quantidade de visualizações: 9990 vezes
Em algumas situações precisamos obter a extensão de um arquivo. Isso pode ser feito por meio do uso da função pathinfo(), que retorna informações sobre um arquivo, incluindo seu caminho.

Para obter a extensão, só precisamos fornecer a constante PATHINFO_EXTENSION para o segundo parâmetro da função. Veja o código:

<?php
  // caminho e nome do arquivo que queremos obter a extensão
  $arquivo = "/home/xxxx/xxxx/foto.jpg";
  
  // obtém a extensão
  $ext = pathinfo($arquivo, PATHINFO_EXTENSION); 
  
  // exibe o resultado
  echo "A extensão do arquivo é: " . $ext;
?>

Ao executarmos este código teremos o seguinte resultado:

A extensão do arquivo é: jpg



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Movimento Retilíneo Uniforme (MRU)

Exercícios Resolvidos de Física usando Java - Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a...

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

Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a 15 m/s e 10 m/s. No instante t = 0, os automóveis encontram-se nas posições indicadas abaixo:



Determine:

a) o instante em que A alcança B;
b) a que distância da posição inicial de A ocorre o encontro.

Resposta/Solução:

Este é um dos exemplos clássicos que encontramos nos livros de Física Mecânica, nos capítulos dedicados ao Movimento Retilíneo Uniforme (MRU). Em geral, tais exemplos são vistos como parte dos estudos de encontro e ultrapassagem de partículas.

Por se tratar de Movimento Retilíneo Uniforme (MRU), as grandezas envolvidas nesse problema são: posição (deslocamento), velocidade e tempo. Assim, já sabemos de antemão que o veículo B está 100 metros à frente do veículo A. Podemos então começar calculando a posição atual na qual cada um dos veículos se encontra. Isso é feito por meio da Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme - MRU.

Veja o código Java que nos retorna a posição inicial (em metros) dos dois veículos:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // valocidade do veículo A
    double vA = 15; // em metros por segundo    
    // valocidade do veículo B
    double vB = 10; // em metros por segundo
    
    // posição inicial dos dois veículos
    double sInicialA = 0;
    double sInicialB = 100;
    
    // tempo inicial em segundos
    double tempo_inicial = 0;
    
    // calcula a posição atual dos dois veículos
    double sA = sInicialA + (vA * tempo_inicial);
    double sB = sInicialB + (vB * tempo_inicial);
    
    // mostra os resultados
    System.out.println("A posição do veículo A é: " + sA + " metros");
    System.out.println("A posição do veículo B é: " + sB + " metros");
  }
} 

Ao executar esta primeira parte do código Java nós teremos o seguinte resultado:

A posição do veículo A é: 0.0 metros
A posição do veículo B é: 100.0 metros

Agora que já temos o código que calcula a posição de cada veículo, já podemos calcular o tempo no qual o veículo A alcança o veículo B. Para isso vamos pensar direito. Se o veículo A vai alcançar o veículo B, então já sabemos que a velocidade do veículo A é maior que a velocidade do veículo B.

Sabemos também que a posição do veículo B é maior que a posição do veículo A. Só temos que aplicar a fórmula do tempo, que é a variação da posição dividida pela variação da velocidade. Veja o código Java que efetua este cálculo:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // valocidade do veículo A
    double vA = 15; // em metros por segundo    
    // valocidade do veículo B
    double vB = 10; // em metros por segundo
    
    // posição inicial dos dois veículos
    double sInicialA = 0;
    double sInicialB = 100;
    
    // tempo inicial em segundos
    double tempo_inicial = 0;
    
    // calcula a posição atual dos dois veículos
    double sA = sInicialA + (vA * tempo_inicial);
    double sB = sInicialB + (vB * tempo_inicial);
    
    // calculamos o tempo no qual o veículo A alcança o veículo B
    double tempo = (sB - sA) / (vA - vB);
    
    // mostra os resultados
    System.out.println("A posição do veículo A é: " + sA + " metros");
    System.out.println("A posição do veículo B é: " + sB + " metros");
    System.out.println("O veículo A alcança o veículo B em " + tempo + 
      " segundos");
  }
} 

Ao executar esta modificação do código Java nós teremos o seguinte resultado:

A posição do veículo A é: 0.0 metros
A posição do veículo B é: 100.0 metros
O veículo A alcança o veículo B em 20.0 segundos

O item b pede para indicarmos a que distância da posição inicial de A ocorre o encontro entre os dois veículos. Agora que já sabemos o tempo do encontro, fica muito fácil. Basta multiplicarmos a velocidade do veículo A pelo tempo do encontro. Veja:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // valocidade do veículo A
    double vA = 15; // em metros por segundo    
    // valocidade do veículo B
    double vB = 10; // em metros por segundo
    
    // posição inicial dos dois veículos
    double sInicialA = 0;
    double sInicialB = 100;
    
    // tempo inicial em segundos
    double tempo_inicial = 0;
    
    // calcula a posição atual dos dois veículos
    double sA = sInicialA + (vA * tempo_inicial);
    double sB = sInicialB + (vB * tempo_inicial);
    
    // calculamos o tempo no qual o veículo A alcança o veículo B
    double tempo = (sB - sA) / (vA - vB);
    
    // a que distância da posição inicial de A ocorre o encontro
    double distancia_encontro = vA * tempo;
    
    // mostra os resultados
    System.out.println("A posição do veículo A é: " + sA + " metros");
    System.out.println("A posição do veículo B é: " + sB + " metros");
    System.out.println("O veículo A alcança o veículo B em " + tempo + 
      " segundos");
    System.out.println("O encontro ocorreu a " + distancia_encontro + 
      " metros da distância inicial do veículo A");
  }
} 

Agora o código Java completo nos mostra o seguinte resultado:

A posição do veículo A é: 0.0 metros
A posição do veículo B é: 100.0 metros
O veículo A alcança o veículo B em 20.0 segundos
O encontro ocorreu a 300.0 metros da distância inicial do veículo A

Para demonstrar a importância de se saber calcular a Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme (MRU), experimente indicar que o veículo A saiu da posição 20 metros, e defina a posição inicial do veículo B para 120 metros, de modo que ainda conservem a distância de 100 metros entre eles.

Você verá que o tempo do encontro e a distância do encontro em relação à posição inicial do veículo A continuam os mesmos. Agora experimente mais alterações nas posições iniciais, na distância e também nas velocidades dos dois veículos para entender melhor os conceitos que envolvem o Movimento Retilíneo Uniforme (MRU).


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

Como escrever em um arquivo um caractere de cada vez usando a função fputc() da linguagem C

Quantidade de visualizações: 9416 vezes
Em algumas situações precisamos escrever em um arquivo um caractere de cada vez. Para isso podemos usar a função fputc() do header stdio.h. Esta função recebe o caractere a ser escrito e um ponteiro para o objeto FILE que identifica o arquivo no qual queremos escrever. Se o caractere for escrito com sucesso, o indicador de posição interna do arquivo é adiantado para a inserção do próximo caractere.

Veja um exemplo no qual escrevemos o alfabeto maiúsculo em um arquivo chamado alfabeto.txt:

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

int main(int argc, char *argv[]){
  FILE *arquivo;
  char letra;

  // vamos abrir o arquivo para escrita
  arquivo = fopen("alfabeto.txt", "w");
  if(arquivo != NULL){
    for(letra = 'A'; letra <= 'Z'; letra++){
      fputc((int)letra, arquivo);
    }
    fclose(arquivo);
  }

  puts("Tentei escrever no arquivo. Veja se funcionou.");

  puts("\n\n");
  system("PAUSE");
  return 0;
}

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

Tentei escrever no arquivo. Veja se funcionou.

Em seguida, se olharmos o conteúdo do arquivo "alfabeto.txt" veremos que o conteúdo foi escrito da forma que imaginamos.


C++ ::: Fundamentos da Linguagem ::: Passos Iniciais

C++ do básico ao avançado - Conheça a origem da linguagem C++

Quantidade de visualizações: 13658 vezes
C++ começou como uma versão expandida de C. As extensões C++ foram inventadas primeiramente por Bjarne Stroustrup, em 1979, no Bell Laboratories em Murray Hill, New Jersey. Ele inicialmente chamou a nova linguagem de "C com classes". Contudo, em 1983 o nome foi mudado para C++.

Embora C fosse uma das linguagens preferidas e mais usadas para programação profissional em todo o mundo, a invenção de C++ se fez necessária devido a um fator de programação: o aumento da complexidade. No decorrer dos anos, programas de computador se tornaram maiores e mais complexos. Mesmo sendo uma excelente linguagem de programação, C tem seus limites. Em C, uma vez que um programa atinja a marca de 25.000 à 100.000 linhas de códigos, este se torna tão complexo que é difícil analisá-lo como um todo. A manutenção de seu código se torna um pesadelo. O propósito de C++ é quebrar esta barreira. A essência do C++ é permitir que programadores compreendam e gerenciem programas cada vez mais complexos.

A maioria das adições feitas ao C por Stroustrup suportam a programação orientada a objetos, às vezes chamada de POO. Stroustrup afirmou que algumas das características da orientação a objetos de C++ foram inspiradas em uma linguagem chamada Simula67. Assim, C++ representa a combinação de dois métodos poderosos de programação.

Desde que C++ foi inventada, ela já passou por três revisões importantes, com adições e modificações da linguagem. A primeira revisão ocorreu em 1985 e a segunda em 1990. A terceira ocorreu durante a padronização do C++. Há vários anos que este trabalho de padronização foi iniciado. Para esta finalidade, uma associação entre a ANSI (American National Standards Institute) e a ISO (International Standards Organization) resultou em um comitê de padronização.

O primeiro documento contendo o padrão proposto foi criado em 25 de janeiro de 1994. Neste documento, o comitê ANSI/ISO C++ manteve as características definidas por Stroustrup e acrescentou algumas outras. Mas, no geral, este documento inicial refletiu o estado de C++ na época.

Logo após a finalização do primeiro documento de padronização C++, um evento ocorreu e com ele a linguagem foi amplamente expandida: a criação da Standard Template Library (STL) por Alexander Stepanov. A STL é um conjunto de rotinas generícas que podemos usar para manipular dados. A STL não é somente poderosa e elegante, mas também muito extensa.


Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música

Quantidade de visualizações: 18844 vezes
Um BLOB é um tipo de dados que permite armazenar grandes informações no formato binário (Binary Large OBject). Campos deste tipo podem conter dados binários ou ASCII, por exemplo, grandes arquivos de texto, documentos para o processamento de dados, arquivos de programas CAD, imagens e gráficos, vídeos, arquivos de música, etc.

O tamanho de um BLOB é quase ilimitado, uma vez que eles podem ser armazenados utilizando-se várias páginas. Isso assume, contudo, que um tamanho de página suficiente tenha sido fornecido para a base de dados. Por exemplo, usando uma página de 1kb, o tamanho do BLOB não pode exceder 0,5Gb. Se usarmos um tamanho de página de 4Kb, o tamanho do BLOB está limitado a 8Gb.

O Firebird suporta dois tipos pré-definidos de BLOB, diferenciados pelo atributo sub-type (palavra-chave SQL SUB_TYPE):

a) BLOB SUB_TYPE 0 - Este é o tipo BLOB genérico para o armazenamento de qualquer tipo de dados, incluindo texto. Geralmente chamado de "BLOB binário sem registro de tipo".

b) BLOB SUB_TYPE 1 (BLOB SUB_TYPE TEXT) - Sub-tipo mais especializado para o armazenamento de texto puro. É equivalente aos tipos CLOB e MEMO implementados em alguns bancos de dados (DBMS). É recomendado para uso com interfaces de aplicações tais como componentes RAD ou motores de pesquisa que fornecem um tratamento especial para tais tipos.

Veja um comando DDL CREATE TABLE que cria uma tabela contendo um campo do tipo BLOB (usando o sub-tipo text):

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  BLOB SUB_TYPE 1 SEGMENT SIZE 4096 NOT NULL,
  DATA_HORA  TIMESTAMP NOT NULL
);

Aqui nós temos uma tabela com três campos: ID é do tipo INTEGER, DESCRICAO é do tipo BLOB com o sub-tipo 1 e DATA_HORA é do tipo TIMESTAMP. Veja agora um comando DML INSERT INTO que insere um registro nesta tabela:

INSERT INTO COMPROMISSOS VALUES(10, 'REUNIÃO COM CLIENTE - SÃO PAULO',
  '2010-12-02 12:30:00');

Note que os valores para campos do tipo BLOB devem ser fornecidos entre aspas simples. Agora, veja um comando SQL DML SELECT que lista o registro inserido anteriormente:

SELECT * FROM COMPROMISSOS;

Este comando vai gerar o seguinte resultado:

ID  DESCRICAO	                     DATA_HORA
10  REUNIÃO COM CLIENTE - SÃO PAULO  2/12/2010 12:30:00



Python ::: Python para Engenharia ::: Hidrologia e Hidráulica

Como calcular o volume de chuvas em Python - Fórmula do cálculo do volume de chuvas em Python

Quantidade de visualizações: 326 vezes
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa?

O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros.

Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula:

\[\text{Volume} = \text{(Área da Base) x Altura}\]

Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros.

Veja agora o código Python completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros.

# função principal do programa
def main():
  # vamos pedir para o usuário informar a altura da lâmina
  # de água em milímetros
  altura_lamina = float(input("Altura da lâmina de água em milímetros: "))

  # o primeiro passo é converter os milímetros da lâmina de água
  # para metros
  altura_lamina = altura_lamina / 1000

  # agora que já temos a altura da lâmina em metros, vamos multiplicar
  # pela base (1 metro quadrado) para obtermos o volume da chuva por
  # metro quadrado
  volume_chuva = (altura_lamina * 1.00) * 1000

  # vamos mostrar o resultado
  print("O volume da chuva é: {0} litros para cada metro quadrado".format(volume_chuva))

if __name__== "__main__":
  main()

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

Altura da lâmina de água em milímetros: 229
O volume da chuva é: 229.0 litros para cada metro quadrado

Qual é o volume de 1 mm de chuva?

A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros.

O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2.

1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2.


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

Como calcular o ponto médio entre dois pontos no plano usando Java - Geometria com Java

Quantidade de visualizações: 3165 vezes
Nesta dica mostrarei como é possível usar um trecho de código Java para obter o ponto médio entre dois pontos quaisquer no plano, ou seja, no R2. Em mais dicas dessa seção você aprenderá como isso pode ser feito no R3 (espaço)

Comece analisando a figura abaixo, na qual temos dois pontos A e B, com suas coordenadas correspondentes, e o ponto médio M:



Assim, dados dois pontos A = (2, 9) e B = (10, 2) no plano cartesiano R2, as coordenadas x e y do ponto médio são calculadas por meio da seguinte fórmula:

\[x = \frac{x_1 + x_2}{2}\]
\[y = \frac{y_1 + y_2}{2}\]

Colocando na fórmula os valores que já temos:

\[x = \frac{2 + 10}{2} = \frac{12}{2} = 6 \]
\[y = \frac{9 + 2}{2} = \frac{11}{2} = 5.5 \]

Assim, as coordenadas do ponto médio será (x = 6, y = 5.5).

E agora veja o código Java completo para calcular as coordenadas do ponto médio a partir de dois pontos no plano cartesiano (plano 2D ou R2):

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 ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    float x1 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    float y1 = Float.parseFloat(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
    float x2 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do segundo ponto: ");
    float y2 = Float.parseFloat(entrada.nextLine());
    
    // vamos calcular as coordenadas x e y do ponto médio    
    float x = (x1 + x2) / 2;
    float y = (y1 + y2) / 2;
    
    // vamos mostrar o resultado
    System.out.println("As coordenadas do ponto médio são: (x = " +
      x + ", y = " + y + ")");
  }
}

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

Coordenada x do primeiro ponto: 2
Coordenada y do primeiro ponto: 9
Coordenada x do segundo ponto: 10
Coordenada y do segundo ponto: 2
As coordenadas do ponto médio são: (x = 6.0, y = 5.5)


Java ::: Dicas & Truques ::: Data e Hora

Como construir uma data no passado ou futuro em Java usando a classe GregorianCalendar

Quantidade de visualizações: 8272 vezes
Esta dica mostra como construir uma data no passado ou futuro na linguagem Java usando a classe GregorianCalendar, que é uma classe derivada e concreta da classe Calendar. Veja a linha na qual informamos a data a ser criada:

Calendar data = new GregorianCalendar(2008, 11, 13);

Aqui nós estamos usando o construtor da classe GregorianCalendar que requer três valores inteiros. O ano, o mês e o dia. O mês é informado como um valor inteiro na faixa de 0 a 11, ou seja, 0 para janeiro, 1 para fevereiro e assim por diante. Veja o exemplo:

package arquivodecodigos;

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // vamos construir a data "13/12/2008"
    Calendar data = new GregorianCalendar(2008, 11, 13); 

    // vamos exibir o resultado
    Format formato = new SimpleDateFormat(
      "EEEE, dd 'de' MMMM 'de' yyyy");
    System.out.println(formato.format(data.getTime()));
  } 
}

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

Sábado, 13 de Dezembro de 2008


Python ::: Dicas & Truques ::: Lista (List)

Python para iniciantes - Como classificar uma lista de strings usando ordem alfabética

Quantidade de visualizações: 9352 vezes
Nesta dica mostrarei como podemos usar o método sort() da classe List da linguagem Python para ordenar uma lista de palavras, frases ou texto em ordem alfabética.

Veja o código completo para o exemplo:

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Amanda', 'Osmar', 'Fernanda']
 
  # exibe a lista na ordem original
  print(nomes)
 
  # ordena a lista
  nomes.sort()
 
  # exibe a lista ordenada
  print(nomes)

if __name__== "__main__":
  main()

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

['Carlos', 'Amanda', 'Osmar', 'Fernanda']
['Amanda', 'Carlos', 'Fernanda', 'Osmar']

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á 27 usuários muito felizes estudando em nosso site.