PHP ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada usando PHP - Como efetuar cálculos de raiz quadrada em PHP usando a função sqrt()

Quantidade de visualizações: 14919 vezes
Em algumas situações precisamos obter a raiz quadrada de um determinado valor. Em PHP isso pode ser feito com o auxílio da função sqrt(). Veja um exemplo de seu uso:

<?
  // valor cuja raiz quadrada será obtida
  $valor = 25;
  
  // vamos obter a raiz quadrada do valor acima
  $raiz_quadrada = sqrt($valor);

  // vamos exibir o resultado
  echo "A raiz quadrada de " . $valor . " é: " . $raiz_quadrada;
?>

Ao executarmos este código teremos o seguinte resultado:

A raiz quadrada de 25 é: 5.

Note, porém, que se tentarmos obter a raiz quadrada de um número negativo o valor será NAN. Veja:

<?
  // valor cuja raiz quadrada será obtida
  $valor = -25;
  
  // vamos obter a raiz quadrada do valor acima
  $raiz_quadrada = sqrt($valor);

  // vamos exibir o resultado
  echo "A raiz quadrada de " . $valor . " é: " . $raiz_quadrada;
?>

Ao executarmos este código teremos o seguinte resultado:

A raiz quadrada de -25 é: NAN.


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

Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop()

Quantidade de visualizações: 9294 vezes
Nesta dica mostrarei como é possível usar o método pop() do objeto List da linguagem Python para excluir e retornar um item de uma lista baseado em seu índice. Tudo que precisamos fazer é informar o índice do elemento a ser excluído e retornado.

Veja o exemplo Python completo:

"""
  Este exemplo mostra como excluir e retornar
  um determinado item em uma lista
"""

def main():
  # cria uma lista de inteiros
  valores = [4, 23, 7, 1, 0, 54]
 
  # imprime a lista
  print(valores)
 
  # remove um determinado item
  # vamos remover o terceiro item (7)
  valor = valores.pop(2)
  print("Item removido:", valor)
 
  # exibe a lista novamente
  print(valores)

if __name__== "__main__":
  main()

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

[4, 23, 7, 1, 0, 54]
Item removido: 7
[4, 23, 1, 0, 54]

É importante ficarmos atentos aos erros que podem ocorrer com chamadas à função pop(). Por exemplo, se a List estiver vazia, o seguinte erro será exibido:

Exception has occurred: IndexError
pop from empty list

Se, por exemplo, fornecermos ao método pop() um índice inexistente, o seguinte erro ocorrerá:

Exception has occurred: IndexError
pop index out of range



Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string em um valor inteiro em Ruby usando a função to_i da classe String

Quantidade de visualizações: 11481 vezes
Em algumas situações precisamos transformar um valor contido em uma string em um valor numérico do tipo inteiro. Em Ruby podemos fazer isso usando o método to_i da classe String.

Veja:

# um número inteiro declarado como string
valor = "34"

# vamos somar este número a um outro
resultado = 30 + valor.to_i

# exibe o resultado
puts resultado

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

64


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como usar a função strpos() do PHP para encontrar a posição da primeira ocorrência de uma substring em uma string

Quantidade de visualizações: 6267 vezes
Em algumas situações gostaríamos de encontrar a posição da primeira ocorrência de uma substring em uma string usando PHP. Para isso podemos usar a função strpos(). Veja sua assinatura:

mixed strpos(string $haystack, mixed $needle[, int $offset = 0])

O parâmetro $haystack é a string na qual a substring será pesquisada e $needle é a substring que queremos pesquisar. O parâmetro opcional $offset é o índice a partir do qual a pesquisa será feita. Na ausência deste parâmetro, a pesquisa será feita a partir do primeiro caractere da string.

Veja um trecho de código no qual tentamos encontrar o índice da primeira ocorrência da palavra "PHP" na frase "Eu gosto de PHP":

<?php
  $pos = strpos("Eu gosto de PHP", "PHP");

  if($pos === false){
    echo "A substring não foi encontrada.";
  } 
  else{
    echo "A substring foi encontrada no índice: " . $pos;  
  }
?>

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

A substring foi encontrada no índice: 12

Fique atento ao uso do operador "===" para testar o retorno da função strpos(). Se você quiser inverter o teste, basta usar o operador "!==".

Para finalizar, note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos().

Ambas as funções strpos() e stripos() podem provocar o erro "Offset not contained in string" se o valor do parâmetro $offset não estiver entre 0 (incluindo e o tamanho da string.


C++ ::: Win32 API (Windows API) ::: Processos

Como usar a função EnumProcesses() da WinAPI em seus códigos C++ para obter os identificadores de cada processo ativo no Windows

Quantidade de visualizações: 8495 vezes
A função EnumProcesses() pode ser usada quando queremos obter os ids de todos os processos sendo executados no momento no Windows. Veja o protótipo desta função:

BOOL WINAPI EnumProcesses(
  DWORD* pProcessIds,
  DWORD cb,
  DWORD* pBytesReturned
);


Esta função possui três parâmetros:

a) DWORD* pProcessIds - Um ponteiro para uma matriz que receberá a lista de identificadores dos processos. É importante definir uma matriz um pouco grande, visto que não sabemos de antemão quantos processos serão retornados.

b) DWORD cb - O tamanho da matriz pProcessIds em bytes.

c) DWORD* pBytesReturned - O números de bytes retornados na matriz pProcessIds. Podemos facilmente saber quantos processos foram encontrados simplesmente dividindo o número de bytes retornados pela quantidade de bytes em um DWORD.

Veja um trecho de código no qual listamos os ids de todos os processos sendo executados atualmente.

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <psapi.h>

/*
  Este exemplo usa o header <psapi.h>
  É necessário fazer uma referência à psapi.lib 
*/

using namespace std;

int main(int argc, char *argv[]){
  DWORD processos[1024]; // vamos listar até 1024 processos   
  DWORD pBytesReturned; // bytes retornados pela função EnumProcesses()
  
  // vamos listar os processos
  EnumProcesses(processos, sizeof(processos), &pBytesReturned);
  
  // quantidade de processos retornados
  int retornados = pBytesReturned / sizeof(DWORD);
  
  // agora vamos listar os ids dos processos retornados
  for(int i = 0; i < retornados; i++){
    if(!processos[i] == 0){
      cout << "Processo " << (i + 1) << ": " << processos[i] << endl;
    }          
  }
  
  system("PAUSE");
  return EXIT_SUCCESS;
} 

O id de um processo pode ser fornecido para muitas funções úteis do Windows, entre elas OpenProcess().

Veja um trecho de código no qual fechamos (forçadamente) um processo mediante o fornecimento de seu id:

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos fechar o processo com o id 3040
  
  // CUIDADO: Verifique o id do processo antes de fechá-lo
  // pode ser que você esteja fechando processos essenciais
  // para o bom funcionamento do Windows
  
  // vamos abrir o processo desejado
  // vai retornar ERROR_INVALID_HANDLE se o processo não
  // puder ser aberto
  HANDLE hProcesso = OpenProcess(PROCESS_TERMINATE, 0, 3040);

  // vamos fechar o processo
  if(TerminateProcess(hProcesso, 0)){
    cout << "Processo finalizado com sucesso." << endl; 
  }
  else{
    cout << "Erro ao finalizar o processo: " << 
      GetLastError() << endl;   
  }

  // vamos fechar o handle do processo
  CloseHandle(hProcesso);
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



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

Como calcular o determinante de uma matriz 3x3 usando a regra de Sarrus em Java - Java para Álgebra Linear

Quantidade de visualizações: 3664 vezes
Como calcular o determinante de uma matriz 3x3 usando a Regra de Sarrus em Java - Java para Álgebra Linear

Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes.

Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas.

Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando a regra de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos.

Então, vamos supor a seguinte matriz 3x3:



O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim:



Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes:



Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja:

(1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0

Como podemos ver, o determinante dessa matriz é 0.

E agora veja o código Java no qual declaramos e instanciamos uma matriz 3x3 de double e, em seguida, calculamos o seu determinante:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    double m[][] = {{1, 2, 3}, {2, 5, 2}, {1, 3, 1}};
    
    // calcula o determinante usando a Regra de Sarrus
    double det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1] 
      * m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1])) 
      - ((m[2][0] * m[1][1] * m[0][2]) + (m[2][1] 
      * m[1][2] * m[0][0]) + (m[2][2] * m[1][0] * m[0][1]));
    
    System.out.println("O determinante da matriz é: " + det);
  }
}

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

O determinante da matriz é: 2.0


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas

Exercícios Resolvidos de Java - Como remover no início de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeada

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

Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e peça para o usuário inserir 5 elementos do tipo inteiro. Em seguida faça a remoção do nó no início da lista ligada e retorne o seu valor.

Sua saída deve ser parecida com:

Inserindo 5 valores na lista

Informe o 1.o valor: 3
Informe o 2.o valor: 8
Informe o 3.o valor: 4
Informe o 4.o valor: 7
Informe o 5.o valor: 6

Valores na lista: 3 -> 8 -> 4 -> 7 -> 6 -> null

Removendo no início da lista
O nó removido foi: 3

Valores na lista novamente: 8 -> 4 -> 7 -> 6 -> null
Resposta/Solução:

Na saída podemos ver que a lista contém os valores 3, 8, 4, 7 e 6. Depois que o nó no início é removido, os elementos da lista ficam 8, 4, 7 e 6.

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

package estudos;
  
import java.util.Scanner;

// classe interna usada para representar um
// nó na lista ligada
class No {
  int valor; // valor do nó
  No proximo; // aponta para o novo nó
 
  // construtor cheio da classe No
  public No(int valor, No proximo) {
    this.valor = valor;
    this.proximo = proximo;
  }
  
  // construtor vazio da classe No
  public No() {
    this.valor = 0;
    this.proximo = null;
  }
}

public class Estudos { 
  // vamos criar uma referência para o início da lista
  static No inicio = null;
  
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos inserir 5 valores inteiros na lista ligada
    int valor;
    System.out.println("Inserindo 5 valores na lista\n");
    for (int i = 0; i < 5; i++) {
      System.out.print("Informe o " + (i + 1) + ".o valor: ");
      valor = Integer.parseInt(entrada.nextLine());
      // vamos inserir este valor no final da lista
      inserirFinal(valor);
    }
    
    // vamos exibir os valores na lista ligada
    System.out.print("\nValores na lista: ");
    exibirLista();
    
    // vamos remover o nó no início da lista ligada
    System.out.println("\nRemovendo no início da lista");
    No removido = removerInicio();
    System.out.println("O nó removido foi: " +
      removido.valor);
    
    // vamos exibir os valores na lista ligada
    System.out.print("\nValores na lista novamente: ");
    exibirLista();
  }
  
  // função que permite remover o nó no início de uma lista
  // dinamicamente ligada em Java
  public static No removerInicio() {
    // primeiro apontamos para o início da lista
    No no = inicio;
    
    // a lista está vazia?
    if (no != null) {
      // o início da lista aponta para o seu próximo
      inicio = inicio.proximo;
    }
    
    // retorna o nó removido ou null no caso da lista vazia
    return no;
  }

  // função que permite adicionar um nó no final da
  // lista ligada
  public static void inserirFinal(int valor) {
    // vamos apontar para o nó inicial
    No atual = inicio;
    // criamos um novo nó
    No novo = criarNo(valor);
  
    // a lista ligada ainda está vazia?
    if (atual == null){
      // inicio recebe o novo nó
      inicio = novo;
    }    
    else { // temos um ou mais nós na lista ligada
      // vamos localizar o último nó
      while (atual.proximo != null) {
        atual = atual.proximo;
      }
       
      // encontramos o último nó. Agora vamos inserir
      // o novo nó depois dele
      atual.proximo = novo;
    }
  }
  
  // função usada para construir e retornar um novo nó
  public static No criarNo(int valor) {
    // cria o novo nó
    No no = new No(valor, null);
    // retorna o nó criado
    return no;
  }
  
  // função usada para percorrer a lista ligada e
  // exibir os valores contidos em seus nós
  public static void exibirLista() {
    // vamos apontar para o início da lista
    No temp = inicio;
    
    // a lista está vazia?
    if (temp == null) {
      System.out.println("A lista está vazia.");
    }
    else {
      // esse laço se repete enquanto tempo for
      // diferente de null
      while (temp != null) {
        // vamos mostrar o valor desse nó
        System.out.print(temp.valor + " -> ");
        // avança para o próximo nó
        temp = temp.proximo;
      }
    
      // mostra o final da lista
      System.out.println("null");
    }
  }
}



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

POO - Programação Orientada a Objetos - Exercícios Resolvidos de Java - Ex. 2 - A classe Circulo (construtores, métodos, getters e setters e encapsulamento)

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

Escreva uma classe Circulo para representar círculos. Esta classe deverá conter os seguintes atributos e métodos:

a) Uma variável privada do tipo double chamada raio que guardará o valor do raio atual do circulo.

b) Métodos get() e set() públicos que permitem definir e acessar o valor da variável raio.

c) Um construtor que recebe o valor do raio como argumento.

d) Um método getArea() que calcula e retorna a área do círculo.

e) Um método getCircunferencia() que calcula e retorna a circunferência do círculo.

f) Um método aumentarRaio() que recebe um valor double e o usa como percentual para aumentar o raio do círculo.

Crie uma classe contendo um método main() para testar a funcionalidade da classe Circulo. Eis um exemplo de entrada e saída:



Resposta/Solução:

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

Circulo.java:

package estudos;

public class Circulo{
  private double raio; // guarda o raio atual do círculo

  // construtor que recebe o valor do raio como argumento
  public Circulo(double raio){
    this.raio = raio;  
  }
  
  // permite obter o raio do círculo
  public double getRaio(){
    return raio;
  }

  // permite definir o raio do círculo
  public void setRaio(double raio){
    this.raio = raio;
  }
  
  // obtém a área do círculo
  public double getArea(){
    double area = Math.PI * Math.pow(this.raio, 2); 
    return area;  
  }
  
  // obtém a circunferência do círculo
  public double getCircunferencia(){
    double circunferencia = (2 * Math.PI) * this.raio; 
    return circunferencia;  
  }
  
  // permite aumentar o raio de acordo com uma porcentagem fornecida
  public void aumentarRaio(double porcentagem){
    this.raio = this.raio + (porcentagem / 100.0) * this.raio;    
  }
}

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar uma instância da classe Circulo
    Scanner entrada = new Scanner(System.in);
    System.out.print("Informe o raio do círculo: ");
    double raio = Double.parseDouble(entrada.nextLine());
    Circulo c = new Circulo(raio);
    
    // vamos mostrar o valor do raio atual
    System.out.println("Raio: " + c.getRaio());
    // vamos mostrar a área
    System.out.println("Área: " + c.getArea() + " metros quadrados");
    // vamos mostrar a circunferência
    System.out.println("Circunferência: " + c.getCircunferencia() + " metros");
    
    // vamos aumentar o raio do circulo em uma determinada porcentagem
    System.out.print("\nInforme o percentual de aumento do raio: ");
    double percentual = Double.parseDouble(entrada.nextLine());
    c.aumentarRaio(percentual);
    
    // vamos mostrar o valor do raio atual
    System.out.println("Raio: " + c.getRaio());
    // vamos mostrar a área
    System.out.println("Área: " + c.getArea() + " metros quadrados");
    // vamos mostrar a circunferência
    System.out.println("Circunferência: " + c.getCircunferencia() + " metros");
  }
}



Python ::: Python para Engenharia ::: Engenharia Civil - Instalações de Águas Pluviais

Como calcular a área de contribuição de água da chuva de um telhado usando Python - Python para Engenharia Civil - Instalações de Águas Pluviais

Quantidade de visualizações: 242 vezes


De acordo com a NBR 10844 de 1989, que trata das instalações de águas pluviais, a área de contribuição corresponde à "Soma das áreas das superfícies que, interceptando chuva, conduzem as águas para determinado ponto da instalação".

As superfícies que interceptam a água da chuva podem ser, por exemplo, superfícies planas horizontais (como lajes), superfícies inclinadas (como os telhados da maioria das casas e edifícios e mostrado na figura acima) e superfícies planas verticais (como as platibandas).

No caso das superficies inclinadas, ou seja, os telhados comumente encontrados, a fórmula para o cálculo da área da contribuição da água da chuva é feito por meio da seguinte fórmula:

\[A = \left(a + \frac{h}{2}\right) \cdot b\]

Onde:

A é a área de contribuição de água da chuva do telhado considerado em m2;

a é a largura do telhado em metros;

b é o comprimento do telhado em metros;

h é a altura do telhado em metros, conforme mostrado na figura acima.

Veja agora o código Python que pede para o usuário informar a largura, a altura e o comprimento do telhado e mostra a sua área de contribuição de água da chuva:

# função principal do programa
def main():
  # vamos pedir para o usuário informar a largura do telhado
  largura = float(input("Informe a largura do telhado em metros: "))

  # vamos pedir para o usuário informar o comprimento do telhado
  comprimento = float(input("Informe o comprimento do telhado em metros: "))

  # vamos pedir para o usuário informar a altura do telhado
  altura = float(input("Informe a altura do telhado em metros: "))

  # vamos calcular a área de contribuição do telhado
  area = (largura + (altura / 2.0)) * comprimento

  # e mostramos os resultados
  print("\nA área de contribuição do telhado é: {0} m2".format(
    round(area, 5)))
  
if __name__ == "__main__":
  main()

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

Informe a largura do telhado em metros: 5
Informe o comprimento do telhado em metros: 15
Informe a altura do telhado em metros: 1.5

A área de contribuição do telhado é: 86.25 m2


Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins

Java Swing - Como usar objetos da classe JCheckBoxMenuItem como itens de menu de suas aplicações Java Swing

Quantidade de visualizações: 8958 vezes
Neste exemplo mostrarei como usar objetos da classe JCheckBoxMenuItem como itens de um menu. Tais itens podem ser usados quando o usuário puder marcar uma ou mais opções, em um grupo relacionado de opções.

Veja o resultado na imagem abaixo:



E agora o código completo para o exemplo:

 
package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JCheckBoxMenuItem cores[];
  Color valCores[] = {Color.red, Color.white,
    Color.green};  
  String nomeCores[] = {"Vermelho", "Branco",
    "Verde"};
 
  public Estudos(){
    super("Menus");
 
    // Cria a barra de menus
    JMenuBar barra = new JMenuBar();
    setJMenuBar(barra);
 
    // Cria um menu
    JMenu formatar = new JMenu("Formatar");
     
    // Cria o menu de cor de fundo
    JMenu item1 = new JMenu("Cor de Fundo");
    
    // Adiciona o segundo JMenu ao primeiro
    formatar.add(item1);
 
    cores = new JCheckBoxMenuItem[valCores.length];
 
    Gerenciador gerenciador = new Gerenciador();
  
    for(int i = 0; i < valCores.length; i++){
      cores[i] = new JCheckBoxMenuItem(nomeCores[i]);
      item1.add(cores[i]);
      cores[i].addItemListener(gerenciador);
    } 
 
    // Adiciona o menu à barra de menus
    barra.add(formatar);
 
    setSize(300, 150);
    setVisible(true);    
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
 
  private class Gerenciador implements ItemListener{
    public void itemStateChanged(ItemEvent e){
      String marcadas = "As checkbox marcadas são:\n\n";     
  
      for(int i = 0; i < cores.length; i++){
        if(cores[i].isSelected()){
          marcadas += nomeCores[i] + "\n";
        }
      }
 
      JOptionPane.showMessageDialog(null, marcadas); 
    }
  }
}


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