Esercizi PHP sulle istruzioni condizionali

In questa pagina è presente un elenco di esercizi da svolgere in PHP. Ogni esercizio è corredato da etichette che indicano quale prerequisito sintattico è richiesto allo sviluppatore per poter svolgere l'esercizio.

Il maggiore
Scrivere un programma che dati due numeri, stampa a video il maggiore tra i due. Il programma stampa `sono uguali` se non è presente un numero maggiore dell'altro.
Sei maggiorenne?
Scrivere un programma che prenda come input un intero rappresentante l'età e stampi se l'età appartiene ad una persona maggiorenne (ovvero con età superiore a 18 anni).
La patente
Scrivere un programma che prende in input l'età e la nazione nella quale conseguire la patente. A seconda della nazione dove si consegue la patente, il programma calcolerà in automatico l'età minima necessaria per il conseguimento.

In particolare, il programma calcolerà l'età minima come segue:
  • `Stato1`: età minima = `16` anni
  • `Stato2`: età minima = `17` anni
  • `Stato3`: età minima = `18` anni
  • per ogni altro stato età minima = `21` anni
Il programma stampa a video l'esito del controllo eseguito comunicando all'utente se può o meno conseguire la patente nello stato considerato.
Sei multiplo?
Scrivere un programma che dati due numeri, `numero1` e `numero2`, restituisca se il `numero1` è un multiplo di `numero2`. In caso affermativo stamperà `numero1 multiplo di numero2`, altrimenti stamperà `numero1 non è multiplo di numero2`
Termoconvertitore
Scrivere un programma che data una temperatura in Celsius la converta in Fahrenheit ed in Kelvin. Se la temperatura inserita è minore dello zero assoluto (`-273,15 Celsius` o `0 Kelvin`), il calcolatore segnala un errore.

Ricorda che:
  • `Fahrenheit = (9/5) · Celsius + 32`
  • `Kelvin = Celsius + 273,15`
Progressione aritmetica
Scrivere un programma che dati tre numeri, determini se possono essere considerati in progressione aritmetica.

Anno bisestile
Scrivere un programma che prenda come input un interno che definisce l'anno. Il programma verifica se l'anno inserito è o meno bisestile.

Potresti essere un triangolo?
Il programma legge tre numeri (che rappresentano i lati) e dice se possono essere le lunghezze dei lati di un triangolo (perché un triangolo possa essere tale, la somma di ogni coppia di lati deve essere maggiore dell’altro lato)
Che triangolo sei?
Il programma legge tre lunghezze dei lati di un triangolo e dice se il triangolo è scaleno, isoscele o equilatero.

Luna
La prima volta che l’uomo è andato sulla Luna è stato il 1969, creare un programma che chiede l’anno di nascita all’utente e gli risponde se è nato l’anno in cui l’uomo è andato sulla Luna o quanti anni prima o quanti anni dopo.
Numeri crescenti
Scrivere un programma che legge tre numeri e li stampa in ordine crescente.
Ordine alfabetico
Scrivere un programma che legge tre caratteri e li stampi in ordine alfabetico.
Numero nel mezzo
Scrivere un programma che dati tre numeri A, B e C dire se B è compreso tra A e C.
Sei una vocale?
Scrivere un programma che legge un carattere e verifica se il carattere è o meno una vocale.
Verifica data
Scrivere una data che prenda in input 3 numeri rappresentanti il giorno, mese ed anno e verifichi che la data sia possibile.

Promosso o bocciato?
Scrivere un programma che legge un voto e dice se è:
  • Ottimo: maggiore di 8
  • Distinto: maggiore di 7
  • Sufficiente: maggiore o uguale a 6
  • Insufficiente: minore di 6
Triangolo rettangolo
Scrivere un programma che legge i lati di un triangolo e dice se questo è un triangolo rettangolo.
Maggiore
Scrivere un programma che legge 3 numeri scrive `il maggiore è il primo` nel caso il primo numero sia il più grande o `il maggiore è il secondo` o `il maggiore è il terzo` nei rispettivi casi. Si costruisca il programma senza ricorrere all’annidamento (ovvero a if uno dentro l’altro).

Confronta orario
Scrivere un programma che legge 2 orari in ore minuti e secondi e dice quale viene prima dei due. (Si risolva l’esercizio senza trasformare tutto in secondi).
Poker
Memorizzare il seme e il punteggio di due carte da poker. Dire quale delle carte vale di più. Il valore di una carta da poker è dato in primo luogo dal punteggio e in caso di parità di punteggio dal seme. I punteggi in ordine decrescente sono `{k,q,j,10,9,8,7,6,5,4,3,2,1}`, i semi in ordine decrescente sono `{cuori, quadri, fiori, picche}` per i semi memorizzare solo la lettera iniziale del seme.
Calcolatrice
Scrivere un programma che abbia due variabili che rappresentano i numeri ed una che rappresenti l’operazione. Prevedere il codice che esegua l’operazione e stampi a video il risultato.

::: details Soluzione

<?php

define("ADDIZIONE", "A");
define("SOTTRAZIONE", "S");
define("MOLTIPLICAZIONE", "M");
define("DIVISIONE", "D");

$operazione = ADDIZIONE;
$numero1 = 5;
$numero2 = 9;

$risultato = 0;
switch ($operazione) {
  case ADDIZIONE:
    $risultato = $numero1 + $numero2;
  break;
  case SOTTRAZIONE:
    $risultato = $numero1 - $numero2;
  break;
  case MOLTIPLICAZIONE:
    $risultato = $numero1 * $numero2;
  break;
  case DIVISIONE:
    $risultato = $numero1 / $numero2;
  break;
}
echo("Risultato: $risultato");

:::