Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Escreva um método PHP que recebe um vetor de inteiros e informe se os elementos do array estão classificados em ordem crescente - Exercícios Resolvidos de PHP

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

Escreva um método PHP que recebe um vetor de inteiros de qualquer tamanho e informe se os elementos do array estão classificados em ordem crescente, ou seja, ordenados do menor para o maior. O método deverá retornar um valor true ou false.

Considerando o vetor:

// vamos criar um vetor com 5 elementos do tipo int
$valores = array(1, 2, 3, 4, 5);
Sua saída deverá ser parecida com:

O vetor está classificado em ordem crescente
Resposta/Solução:

Veja a resolução completa para o exercício em PHP, comentada linha a linha:

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

<?php
  // vamos criar um vetor com 5 elementos do tipo int
  $valores = array(1, 2, 3, 4, 5);
    
  // vamos verificar se os elementos do vetor estão classificados em
  // ordem crescente
  if(isOrdemCrescente($valores)){
    echo "O vetor está classificado em ordem crescente";
  }
  else{
    echo "O vetor não está classificado em ordem crescente";
  }
  
  // função que recebe um vetor e informe se seus elementos estão
  // ordenados em ordem crescente
  function isOrdemCrescente($vetor){
    // o vetor possui apenas um elemento ou está vazio?
    if(count($vetor) == 1 || count($vetor) == 0){
      return true;
    }
    
    // vamos verificar se os valores do vetor estão ordenados
    // em ordem crescente
    for($i = 1; $i < count($vetor); $i++){
      // este elemento é menor que o anterior?
      if($vetor[$i] < $vetor[$i - 1]){
        return false;
      }
    }
    
    // se chegou até aqui então o teste foi verdadeiro
    return true;
  }
?> 


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados long ou long int da linguagem C++

Quantidade de visualizações: 21982 vezes
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-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;

int main(int argc, char *argv[]){
  // declara uma variável do tipo long
  long quant = 590;

  cout << "Quantidade: " << quant << "\n\n";

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

Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja:

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

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Valor mínimo: " << LONG_MIN << "\n";
  cout << "Valor máximo: " << LONG_MAX << "\n\n";

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

Ao executar este programa você terá um resultado parecido com:

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

Valor mínimo: -2147483648
Valor máximo: 2147483647

Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):

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

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  long soma = LONG_MAX + 2;

  cout << "Resultado: " << soma << "\n";

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

Este programa exibirá o seguinte resultado:

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

Resultado: -2147483647

Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar:

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

2147483647 + 2 = 2147483649

Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui.

Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long:

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

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Tamanho de um long: " << sizeof(long)
    << " bytes\n\n";

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

O resultado da execução deste código será algo como:

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

Tamanho de um long: 4 bytes



Java ::: Dicas & Truques ::: Strings e Caracteres

Como inverter uma string em Java usando o método reverse() da classe StringBuffer

Quantidade de visualizações: 22319 vezes
Nesta dica mostrarei como podemos usar o método reverse() da classe StringBuffer ou StringBuilder para inverter a ordem dos caracteres de uma palavra, frase ou texto em Java. Note como convertemos uma String em um StringBuffer, fazemos a inversão da frase e depois convertemos novamente o StringBuffer em um objeto String.

Veja o código completo para o exemplo:

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

package estudos;

public class Estudos {
  public static void main(String[] args){
    // vamos criar uma string
    String frase = "JAVA É BOM DEMAIS";
    // vamos mostrar a frase original
    System.out.println("String original: " + frase);
    
    // agora vamos criar um objeto StringBuffer
    StringBuffer temp = new StringBuffer(frase);
    // vamos inverter a string agora
    temp.reverse();
    // e agora mostramos o resultado
    frase = temp.toString();
    System.out.println("String invertida: " + frase);    
  }
}

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

String original: JAVA É BOM DEMAIS
String invertida: SIAMED MOB É AVAJ


Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como testar se uma matriz é simétrica em Java

Quantidade de visualizações: 652 vezes
Uma matriz simétrica é uma matriz que é igual à sua transposta. Para que esta definição faça sentido, apenas podemos considerar matrizes que são quadradas, ou seja, mesma quantidade de linhas e colunas.

De forma mais precisa, se A=[aij] é uma matriz de ordem n x n, nós dizemos que A é simétrica quando A=At.

Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz simétrica:

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

package estudos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    int n = 3; // ordem da matriz quadrada
    int matriz[][] = new int[n][n]; // matriz quadrada

    // para efetuar a leitura do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar os elementos da matriz
    for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++) {
        System.out.print("Elemento na linha " + (i + 1) +
          " e coluna " + (j + 1) + ": ");
        matriz[i][j] = Integer.parseInt(entrada.nextLine());
      }
    }
    
    // agora verificamos se a matriz é simétrica
    boolean simetrica = true;
    for (int i = 0; (i < n) && (simetrica); i++) {
      for (int j = 0; (j < i) && (simetrica); j++) {
        // os elementos em posicoes simetricas sao iguais?
        if (matriz[i][j] != matriz[j][i]){
          simetrica = false;
        }
      }
    }
    
    // agora mostramos a matriz lida
    System.out.printf("\n");
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
        System.out.printf("%d ", matriz[i][j]);
      }
      System.out.printf("\n");
    }

    if (simetrica){
       System.out.printf("\nA matriz informada é uma matriz simétrica.\n");
    }
    else{
      System.out.printf("\nA matriz informada não é uma matriz simétrica.\n");
    }
  }
}

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

Elemento na linha 1 e coluna 1: 5
Elemento na linha 1 e coluna 2: 1
Elemento na linha 1 e coluna 3: 2
Elemento na linha 2 e coluna 1: 1
Elemento na linha 2 e coluna 2: 6
Elemento na linha 2 e coluna 3: 3
Elemento na linha 3 e coluna 1: 2
Elemento na linha 3 e coluna 2: 3
Elemento na linha 3 e coluna 3: 8

5 1 2 
1 6 3 
2 3 8 

A matriz informada é uma matriz simétrica.



Java ::: Pacote java.lang ::: String

Curso de Java - Como usar a classe String da linguagem Java

Quantidade de visualizações: 7108 vezes
A classe String, presente no pacote java.lang, permite a representação de cadeias (strings) de caracteres. Todos os strings literais em Java, tais como "abc", são implementados como instâncias desta classe.

Por pertencer ao pacote java.lang, não precisamos importar nenhum pacote para poder usar esta classe em nossos programas Java. Veja um exemplo de como declarar e inicializar uma variável do tipo String:

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

public class Main {
  public static void main(String[] args) {
    String nome = "Osmar J. Silva";
    System.out.println(nome);
  }
}

Veja a posição desta classe na hierarquia de classes da plataforma Java:

java.lang.Object
java.lang.String

Esta classe implementa as interfaces Serializable, CharSequence e Comparable<String>.

Objetos do tipo String são constantes, ou seja, seus valores não podem ser alterados depois de criados. Assim, se você tiver um código parecido com:

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

public class Main {
  public static void main(String[] args) {
    // ambas as variáveis apontam para uma mesma string
    // há somente uma cópia de "Osmar J. Silva" na memória
    String nome = "Osmar J. Silva";
    String nome2 = "Osmar J. Silva";
	
    // agora uma nova string é criada e a anterior é preservada
    nome2 = "Marcos de Souza Gomes";
  }
}

Note que o compilador, com o propósito de poupar recursos do sistema, cria apenas uma string "Osmar J. Silva" e a coloca no pool de strings. No momento que alteramos o valor da variável nome2, uma nova string "Marcos de Souza Gomes" é criada e a anterior permanece intacta.

A classe String inclui métodos para examinar os caracteres individuais da sequencia, para a comparação de strings, pesquisar, extrair substrings e também criar uma cópia da string com todos os caracteres convertidos para letras maiúsculas ou minúsculas. O mapeamente das letras maiúsculas e minúsculas é feito com base na versão Unicode Standard especificada na classe Character.

A linguagem Java fornece suporte especial para a concatenação de strings, usando o operador (+) e para a conversão de outros objetos em strings. A concatenação é implementada por meio da classe StringBuilder (ou StringBuffer) e seu método append(). As conversões de strings são implementadas por meio do método toString(), definido na classe Object e herdado por todas as demais classes Java.

Quando não devidamente observado, passar um argumento null para o construtor ou método da classe String fará com que uma exceção do tipo NullPointerException seja atirado.

A classe String representa uma string no formato UTF-16, no qual caracteres suplementares são representados por pares prepostos. Valores de índice referem-se às unidades de código de caracteres. Assim, caracteres suplementares usam duas posições em uma String.


Erlang ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Quer aprender a programar em Erlang? Comece instalando e configurando o ambiente de programação da Erlang

Quantidade de visualizações: 410 vezes
Nos dias atuais (2023), muitos estudantes de programação estão aprendendo novas linguagens usando os compiladores e interpretadores online. Esta é uma abordagem interessante, pois promove uma grande economia de tempo no que se refere à instalação e configuração dos ambientes de programação.

No entanto, à medida que as aplicações começam a ficar mais complexas, é necessário termos o ambiente funcionando localmente. Por isso é importante sabermos instalar e configurar o ambiente de programação Erlang em nossa máquina.

Como instalar a Erlang

Nessa dica mostrarei como instalar e testar o ambiente de programação Erlang no Windows 10. Para isso, direcione o seu navegador para a URL https://www.erlang.org/downloads e localize o download apropriado para o Windows, a saber, Download Windows Installer.

Para esta dica eu baixei o Erlang/OTP 25.3 (otp_win64_25.3.exe). Trata-se de um instalador com o tamanho de 126MB.

A instalação é simples e, em geral, só precisamos confirmar as sugestões que o instalador nos apresenta. Assim, basta pressionar o botão Next e aguardar a instalação ser finalizada.

Após a conclusão da instalação nós precisamos adicionar o caminho "C:\Program Files\Erlang OTP\bin" na variável PATH do Windows, para que as ferramentas de linha de comando da Erlang sejam reconhecidas. Para isso, vá em Propriedades do Sistema -> Variáveis de Ambiente e adicione este caminho à variável PATH. Você pode fazê-lo tanto para o seu usuário quanto para o sistema.

Como testar a atualização do ambiente de programação da Erlang

Depois de atualizar a variável de ambiente PATH, abra uma nova janela de terminal e digite o seguinte comando:

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

C:\Users\Osmar>erl -version

Se tudo correu bem, você terá um resultado parecido com:

Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 13.2

Parabéns! Você já está pronto para iniciar seus estudos em Erlang e todas as demais linguagens e ferramentas que compõem o seu ecosistema.


Veja mais Dicas e truques de Erlang

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