Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Um programa que lê duas notas, calcula a média aritmética e exibe uma mensagem de reprovado, exame ou aprovado - Desafio de Programação Resolvido em PHP

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

Escreva um programa PHP que leia duas notas (como float ou double), calcule e mostre a média aritmética e uma mensagem de acordo com as seguintes regras:

1) Se a média for inferior a 4,0 escreva "Reprovado";
2) Se a média for igual ou superior a 4,0 e inferior a 7,0 escreva "Exame";
3) Se a média for igual ou superior a 7,0 escreva "Aprovado".

Sua saída deverá ser parecida com:

Informe a primeira nota: 8
Informe a segunda nota: 7.4
A média obtida foi: 7.7
Aprovado
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?php
  // Algoritmo PHP para calcular a média de um aluno
  
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos solicitar as duas notas do aluno
  echo "Informe a primeira nota: ";
  $n1 = trim(fgets($entrada));
  echo "Informe a segunda nota: ";
  $n2 = trim(fgets($entrada));

  // vamos calcular a média aritmética
  $media = ($n1 + $n2) / 2;
  echo "A média obtida foi: " . $media;
 
  // vamos verificar se o aluno foi reprovado, está de exame ou aprovado
  if ($media < 4.0) { // reprovado
    echo "\nReprovado";
  }
  else if (($media >= 4.0) && ($media < 7.0)) {  // exame
    echo "\nExame";
  }
  else {
    echo "\nAprovado";
  }
?>


Link para compartilhar na Internet ou com seus amigos:

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

Como obter parte de uma string usando a função substr() da linguagem PHP

Quantidade de visualizações: 74 vezes
Nesta dica eu mostrarei como podemos usar a função substr() do PHP para obter uma substring a partir de uma string, ou seja, parte de uma palavra, frase ou texto. Esta técnica é muito útil em aplicações PHP que efetuam manipulação de texto.

A função substr() possui três parâmetros:

substr(string, início, comprimento)
Veja que precisamos fornecer a string a partir da qual nós queremos obter uma parte, o índice inicial e o comprimento da parte a ser obtida.

Veja um código completo demonstrando seu uso:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

<?php  
  $frase = "Gosto muito de programar em PHP.";
  // vamos obter uma parte dessa frase.  
  $parte = substr($frase, 6, 5); 
  // mostra o resultado
  echo $frase . "<br>";
  echo "Parte obtida: " . $parte;
?>  

</body>
</html>

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

Gosto muito de programar em PHP.
Parte obtida: muito


PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli)

Código completo: Como listar os campos de uma tabela MySQL, seus tipos de dados e detalhes adicionais - O comando DML SHOW FULL COLUMNS FROM - Revisado

Quantidade de visualizações: 11958 vezes
O comando DML do MySQL (e MariaDB) SHOW FULL COLUMNS FROM [nome_tabela] é usado quando queremos obter informações sobre os campos de uma determinada tabela. Entre essas informações temos
Field (nome do campo), Type (tipo de dados), Collation (o conjunto de caracteres usado), Null (se o campo aceita nulo ou não), Key (se é uma chave e o tipo da chave), Default (o valor padrão), Extra (informação extra, tal como auto-incremento), Privileges (privilégio do usuário logado) e Comment (comentário).

Veja um trecho de código PHP no qual nos conectamos a uma base de dados MySQL usando a extensão mysqli e obtemos as informações dos campos de uma tabela chamada "usuarios". Note como o resultado é exibido em uma tabela HTML.

Veja o código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?
  // vamos efetuar a conexão com o banco
  $con = new mysqli("localhost", "root",
    "osmar1234", "estudos");

  // conexão efetuada com sucesso?
  if($con->connect_errno){
    echo "Não foi possível efetuar a conexão: " . 
      $mysqli->connect_error;
    exit(); // vamos sair daqui 
  }

  // obtém os nomes dos campos da tabela, seus tipos e 
  // detalhes adicionais
  $query = mysqli_query($con, "SHOW FULL COLUMNS FROM usuarios");
 
  // títulos da tabela HTML
  $titulos = array('Campo', 'Tipo', 'Collation', 'Null', 
    'Chave', 'Padrão', 'Extra');
 
  echo '<table border="1"><tr>';
  
  for($i = 0; $i < count($titulos); $i++){
    echo '<td>' . $titulos[$i] . '</td>'; 
  }    
   
  echo '</tr>';
 
  while($result = mysqli_fetch_array($query)){  
    echo '<tr>';
   
    for($i = 0; $i < count($titulos); $i++){
      echo '<td>' . $result[$i] . '&nbsp;</td>';     
    }   

    echo '</tr>';
  }
 
  echo '</table>';
  
  mysqli_close($con); // fecha a conexão 
?>

Esta dica foi revisada, atualizada e testada com o PHP 8.


PHP ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern

Como usar o padrão de projeto Singleton em suas aplicações PHP

Quantidade de visualizações: 8980 vezes
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementados extensivamente nas linguagens Java e C#. Como o PHP, a partir de sua versão 5, suporta praticamente todos os recursos da programação orientada a objetos, este padrão pode ser implementado também nesta linguagem sem muitas dificuldades.

Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação.

Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente.

Vamos ver um exemplo deste padrão em PHP. Observe o código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?
  // Uma classe Singleton responsável por gravar 
  // logs no sistema
  class Logger{
    // variável estática e privada que guarda a instância
    // atual da classe
    private static $instancia = NULL;    

    // Método estático que retorna uma instância já existente, ou
    // cria uma nova instância
    public static function getInstance(){
      if(self::$instancia == NULL){
         self::$instancia = new Logger();
      }
      return self::$instancia;
    }

    // Construtor privado para evitar que instâncias sejam
    // criadas usando new
    private function __construct(){
      // não precisamos fazer nada aqui
    }

    // Método clone() também privado para evitar a criação
    // de clones desta classe
    private function __clone(){
      // não precisamos fazer nada aqui
    }

    public function registrarLog($dados){
      echo "Vou registrar o log: " . $dados;
    }
  }

  // vamos registrar um novo log usando a classe Singleton
  Logger::getInstance()->registrarLog("Novo usuário cadastrado.");
?>

Ao executar este código teremos o seguinte resultado:

Vou registrar o log: Novo usuário cadastrado.


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

PHP para iniciantes - Como obter o comprimento (tamanho) de uma string usando a função strlen() do PHP

Quantidade de visualizações: 117 vezes
Nesta dica eu mostro como é possível usar a função strlen() da linguagem PHP para contar, ou seja, obter a quantidade de caracteres em uma palavra, frase ou texto.

Veja o código completo a seguir:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  // obtém o comprimento (tamanho) de uma string
  $string = "Bom dia";
  echo "Esta string possui " . strlen($string) . 
    " caracteres";
?>
 
</body>
</html>

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

Esta string possui 7 caracteres


PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o comprimento da hipotenusa em PHP dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 1538 vezes
Nesta dica mostrarei como é possível usar a linguagem PHP para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

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

Tudo que temos a fazer a converter esta fórmula para código PHP. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?php
  $a = 20; // medida do cateto oposto
  $b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da hipotenusa
  $c = sqrt(pow($a, 2) + pow($b, 2));
 
  // e mostramos o resultado
  echo "O comprimento da hipotenusa é: " . $c;
?>

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

O comprimento da hipotenusa é: 36.05551275464

Como podemos ver, o resultado retornado com o código PHP confere com os valores da imagem apresentada.


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

Como ler o conteúdo de um arquivo um caractere de cada vez em PHP usando a função fgetc()

Quantidade de visualizações: 7736 vezes
A função fgetc() da linguagem PHP é usada quando queremos ler um caractere de cada vez a partir de um arquivo. Note que esta função é um pouco lenta, e deve ser usada somente com arquivos pequenos. A leitura é interrompida quando a função fgetc() retorna um valor false.

Veja um código PHP completo demonstrando o seu uso:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?php
  $arquivo = fopen("testes.txt", "r");
  if(!$arquivo){
    echo "Não foi possível abrir o arquivo";
  }
else{
  while(false !== ($char = fgetc($arquivo))){
    echo $char;
  }
}
?>



PHP ::: Dicas & Truques ::: Data e Hora

Datas e horas em PHP - Como obter o fuso horário em segundos

Quantidade de visualizações: 77 vezes
Nesta dica veremos como usar date("Z") para retornar o fuso horário da nossa localidade em PHP. Lembre-se de que a função date() com o parâmetro "Z" retorna o fuso horário em segundos. Este valor reflete a diferença em segundos que estamos do Tempo Universal Coordenado (Coordinated Universal Time - UTC), também conhecido como tempo civil, e é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo.

Veja o código PHP completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $fuso_segundos = date("Z");
  $horas = ($fuso_segundos / 60) / 60;
  echo "O fuso horário em segundos é " .
    $fuso_segundos . " (" . $horas . " horas)";
?>
  
</body>
</html>

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

O fuso horário em segundos é 7200 (2 horas)


PHP ::: PHP + MySQL ::: MySQL (mysql)

Como criar um arquivo de conexão PHP + MySQL e incluí-lo nas demais páginas PHP do seu projeto - Atualizado - Somente PHP 5.6 e anteriores

Quantidade de visualizações: 13273 vezes
É sempre uma boa idéia centralizar todos os parâmetros da conexão PHP + MySQL em apenas um arquivo e usar require() para incluí-lo nas demais páginas da aplicação. Se fizermos isso, não precisaremos efetuar alterações em todas as páginas caso o nome de usuário ou senha da conexão seja alterada.

1 - Comece criando o arquivo PHP que contém os parâmetros de conexão. Uma boa idéia é usar um método que retorne uma conexão com o banco de dados. Veja o código para conexao.php:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?
  function obter_conexao_php_mysql(){
    // Parâmetros de conexão
    $server = "localhost";
    $usuario = "root";
    $senha = "osmar1234";
    $base = "estudos";
      
    // Tenta efetuar a conexão
    $conexao = mysql_connect($server, $usuario, $senha);
 
    // Testa se a conexão foi efetuada com sucesso
    if(!$conexao)
      die('Falha ao conectar: ' . mysql_error());
   
    // conexão efetuada com sucesso. Podemos definir qual
    // base de dados será usada
    $db_selected = mysql_select_db($base, $conexao);
     
    // testa se a base foi selecionada com sucesso.
    if(!$db_selected)
      die("Falha ao selecionar o banco: " . mysql_error());
       
    return $conexao;
  }
   
  function fechar_conexao_php_mysql($conn){
    mysql_close($conn);
  }
?>

Agora este arquivo de conexão pode ser importado para as demais página da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

<?
  require("conexao.php");
   
  // obtém a conexão com o banco MySQL
  $conexao = obter_conexao_php_mysql();
   
  /*
    Outros códigos de manipulação dos dados
    no banco de dados vão aqui
  */
   
  // fecha a conexão
  fechar_conexao_php_mysql($conexao);
?>

Atenção usuários Windows + XAMPP: Se você estiver recebendo a mensagem abaixo, certifique-se de que a linha

extension=php_mysql.dll

Está descomentada no seu PHP.ini.

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in conexao.php:10 Stack trace: #0 conexao.php(32): obter_conexao_php_mysql() #1 {main} thrown in conexao.php on line 10

Se você estiver usando uma versão do PHP superior a 5.6, este erro também ocorrerá e você terá que voltar sua aplicação para um PHP mais anterior ou mudar seus códigos de conexão para PDO ou MySQL Improved Extension (mysqli).


Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Perda de carga

Perda de carga é a energia dissipada em forma de calor devido ao atrito e à viscosidade em uma canalização.

Nesse sentido, a perda de carga unitária em um tubo de 50mm de diâmetro, coeficiente de atrito de 0,031 e comprimento de 100m, sendo que a água escoa com vazão de 0,01 m3/s, é de:

A) 0,47m/m.

B) 0,52m/m.

C) 0,74m/m.

D) 0,82m/m.

E) 0,94m/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var a = (new Array(10)).toString();

Qual o valor da variável a após a execução desta linha de código?

A) a string "10".

B) um array de 10 strings vazias.

C) a string ",,,,,,,,,".

D) A instrução provoca um erro de execução.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Segurança e Estados Limites Ações nas Estruturas de Concreto Armado

Uma viga de um edifício residencial está submetida a um carregamento linear de 20kN/m. Estima-se que 60% dessa carga seja de natureza permanente e 40%, acidental. A seção transversal da viga é retangular com bw = 20cm e h = 40cm e, para o seu peso próprio, é considerado um peso específico do concreto armado de 25kN/m3.

Assinale a alternativa correta quanto ao valor de carregamento solicitante a ser levado em conta nessa viga, conforme a combinação. As ações devem ser consideradas separadamente e com efeito desfavorável.

A) Para combinação normal última, o valor de carregamento solicitante é de 30,8kN/m.

B) Para a combinação quase permanente de serviço, o valor do carregamento solicitante é de 18kN/m.

C) Para a combinação frequente de serviço, o valor do carregamento solicitante é de 18,8kN/m.

D) Para a combinação rara de serviço, o valor do carregamento solicitante é de 22kN/m.

E) Para a combinação última excepcional, o valor do carregamento solicitante é de 27,2kN/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual é a forma correta de se declarar uma variável do tipo real em Python?

A) valor = float(6.3)

B) valor = Float(6.3)

C) valor = 6.3

D) As formas A, B e C estão corretas

E) As formas A e C estão corretas
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Principais Normas Brasileiras para Concreto Armado

Para a utilização do concreto armado, seja em qualquer tipo de edificação, existem normativas que determinam variados aspectos e cuidados que devem ser tomados bem como nomenclaturas específicas e definições.

Assinale a alternativa que apresenta corretamente a especificação/recomendação presente nas normativas:

A) As cargas acidentais podem ou não se apresentar em uma estrutura na sua vida útil.

B) O peso próprio da estrutura é considerado um carregamento variável.

C) Os esforços devido às forças de vento são considerados ações variáveis sobre as estruturas.

D) A circulação deve ser considerada como uma carga móvel para fins de dimensionamento.

E) As ações excepcionais têm duração extremamente longa e baixa probabilidade de ocorrência.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

E-Books em PDF

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

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