Esempi istruzioni condizionali in Python

Esempi istruzioni condizionali in Python

In questa lezione affronteremo alcuni esempi sulle istruzioni condizionali in Python, al fine di consolidare gli argomenti studiati finora.

Primo esempio sulle istruzioni condizionali in Python

Stabilire se un angolo è acuto, ottuso o retto.

L’algoritmo si risolve molto facilmente, infatti ad esempio nella prima condizione ci chiediamo: l’angolo è uguale a 90 gradi?

Se è vero allora si tratta di un angolo retto. Altrimenti se non è vero si controlla se l’angolo è inferiore a 90 gradi. Altrimenti se neanche questo è vero vuol dire, per esclusione, che l’angolo è ottuso.

Chiaramente potevamo ragionare anche diversamente, ad esempio inserendo come prima condizione angolo < 90 e così via.

angolo=int(input(‘Inserisci l\’angolo:’))

if angolo==90:

print(‘L\’angolo è retto’)

elif angolo<90:

print(‘L\’angolo è acuto’’)

else

print(‘L\’angolo è ottuso’)

Secondo esempio

Realizziamo adesso un secondo algoritmo sugli angoli in Python.

Stabilire se un angolo è retto, piatto, giro o qualsiasi.

Anche questo l’algoritmo è abbastanza semplice da realizzare, possiamo ad esempio partire dalla condizione: angolo==90.

Se tale condizione è vera, allora l’angolo è retto. Altrimenti verifico se è uguale a 180 e visualizzo che l’angolo è piatto. Altrimenti controllo se l’angolo è uguale a 360 ed in questo caso visualizzo che l’angolo è giro. Se tutte le condizioni precedenti non sono verificate allora si tratta di un angolo qualunque.

angolo=int(input(‘Inserisci l\’angolo’))

if angolo==90:

print(‘L\’angolo è retto’)

elif angolo==180:

print(‘L\’angolo è piatto’)

elif angolo==360:

print(‘L\’angolo è giro’)

else:

print(‘L\’angolo è qualunque’)

Abbiamo risolto degli esempi sulle istruzioni condizionali in Python, proponendo alcune possibili soluzioni. Proponete pure le vostre osservazioni o soluzioni nei commenti sotto.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

12 – Operatori di confronto e booleani

13 – If else

14 – If elif else

15 – If annidati

Problem solving esempi

Problem solving esempi

In questa lezione svilupperemo alcuni esempi di algoritmi proposti alle olimpiadi di problem solving per la scuola superiore di primo grado in linguaggio C++.

Problem solving – primo esempio

Consideriamo dunque questo programma scritto in pseudolinguaggio:

procedure ALFA;
variables A, B, K, K1, H integer;
A ← 2;
K ← 7;
input B;
H ← A + K + B;
K1 ← A + B;
B ← A + H + K1;
output H, B, K1;
endprocedure;

Il valore di input per B è 10, determinare dunque i valori di output per H, B e K1.

Risoluzione del problema

Calcoliamo i vari passaggi:

A ← 2; A=2

K ← 7; K=7

input B; B=10 //inseriamo il valore richiesto dal problema

H ← A + K + B; H=2+7+10=19

K1 ← A + B; K1=2+10=12

B ← A + H + K1; B=2+19+12=33

Quindi i valori visualizzati in output sono:

H=19; K1=12; B=33

Adesso risolviamo questo algoritmo in C++.

L’algoritmo è molto semplice da realizzare, infatti si tratta di una struttura sequenziale che non ricorre a nessuna istruzione condizionale o iterativa.

#include <iostream>
using namespace std;

main() {
	int A, K, K1, B, H;
	A=2;
	K=7;
	
	cout<<"Inserisci B, metti 10 per provare l'esempio specifico: ";
	cin>>B;
	
	H=A+K+B;
	K1=A+B;
	B=A+H+K1;
	
	cout<<"H vale: "<<H<<endl;
	cout<<"B vale: "<<B<<endl;
	cout<<"K1 vale: "<<K1<<endl;

        return 0;	
}

Quindi compilate ed eseguite, l’output sarà proprio quello che abbiamo specificato nell’esempio sopra.

Problem solving – Secondo esempio

Consideriamo adesso questo programma scritto in pseudolinguaggio:

procedure BETA;
variables A, B, C, M, N integer;
input A, B, C;
M ← A;
N ← A;
if B > M
     then M ← B;
else N ← B;
endif;
if C > M
     then M ← C;
else N ← C;
endif;
output M, N;
endprocedure;

I valori di input per A, B e C sono rispettivamente 15, 21, 19. Determinare dunque i valori di output per M e N.

Risoluzione

input A, B, C; Inseriamo A=15, B=21, C=19

M ← A; M=15;

N ← A; N=15;

if B > M si ha quindi 21>15 vero

then M ← B; allora M=21;

else N ← B; //chiaramente non viene eseguita questa istruzione

endif;

if C > M si ha quindi 19>21 falso

then M ← C; //questa istruzione non viene eseguita

else N ← C; N=19

endif;

output M, N; visualizza in output 21,19

Adesso implementiamo l’algoritmo in C++. Stavolta occorrono le istruzioni condizionali, ma la struttura è molto semplice.

#include <iostream>
using namespace std;

main() {
	int A, B, C, M, N;
	
	cout<<"Inserisci A, metti 15: ";
	cin>>A;
	cout<<"Inserisci B, metti 21: ";
	cin>>B;
	cout<<"Inserisci C, metti 19: ";
	cin>>C;
	
	M=A;
	N=A;
	
	if(B>M)
		M=B;
	else
		N=B;
	
	if (C>M)
    	        M=C;
	else 
		N=C;
	
	cout<<"M vale: "<<M<<endl;
	cout<<"N vale: "<<N<<endl;

	return 0;
}

Questi sono solo alcuni esempi di problem solving proposti alle olimpiadi nella scuola secondaria di primo grado.

Alcuni link utili

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++

Alcuni tutorial in C

Somma elementi diagonale principale di una matrice

Sommare elementi della cornice esterna di una matrice in C

Somma di due matrici in C

Sommare dei numeri di una matrice in C

Prodotto tra matrici in C

Come ricercare gli elementi in una matrice in C

Inserire dati in una matrice in C

Tavola pitagorica in C