Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-10-2006, 11:17   #1
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
Mi aiutate per favore? grazie mille

potete darmi una mano a fare questi 5 semplici programmini in c, non ho proprio idea di come si fanno e devo consegnarli tra pochi giorni.
grazie

Esercizio 1
Si scriva un programma che prenda da input due interi n e x. Il programma calcolerà e stamperà le prime n potenze di x.

Esempio: se il numero di potenze n è pari a 5 e x=2 allora il programma dovrà calcolare e stampare le prime 5 potenze di 2: 20 , 21 , 22 , 23 , 24
Il programma quindi stamperà in output
1
2
4
8
16


Esercizio 2
Si scriva un programma che prenda da input due interi l1 e l2. Il programma calcolerà e stamperà la somma degli interi nell’intervallo [l1,..,l2] estremi inclusi. L1 indica l’estremo inferiore dell’intervallo; l2 l’estremo superiore.

Esempio: se l1= 1 e l2=5
il programma stamperà in output
15

Se l1=4 e l2=7
il programma stamperà in output
22

Se l1=5 e l2=3
il programma stamperà in output
0












Esercizio 3
Si scriva un programma che dato un numero n dispari dato da input stampi in output il seguente tipo di figura geometrica (dove n è il numero di asterischi della prima riga e il numero di righe).

*******
* *
*******
* *
*******
* *
*******

Esempi: se n=7 il programma stamperà
*******
* *
*******
* *
*******
* *
*******

Se n=5 il programma stamperà
*****
* *
*****
* *
*****

Se n=3 il programma stamperà
***
* *
***
* *
***

















Esercizio 4
Si scriva un programma che prenda in input due interi x e y. Calcoli e stampi il numero più grande d che sia un divisore sia di x che di y.

Esempi
Se x=3 e y=7 il programma stamperà
1

Se x=3 e y=9 il programma stamperà
3

Se x=40 e y=35 il programma stamperà
5



Esercizio 5
Si scriva un programma che dato un numero intero x stampi il numero delle sue cifre.

Esempi
Se x=17390
il programma stamperà 5

Se x=9
il programma stamperà 1

Se x=15590562
il programma stamperà 8
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 11:50   #2
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Il primo programma puo' essere scritto così:

Codice:
#include <stdio.h>

int main(void)
{
	int n, x, i;
	int risultato;
	printf("Inserisci due numeri interi positivi separati da spazio (es: 5 2): ");
	scanf("%d %d", &n, &x);
	/* Calcolo le n potenze di x */
	for (i = 0; i < n; i++)
	{
		if (i == 0) /* Caso particolare: x elevato a 0 */
			risultato = 1;
		else
			risultato = risultato * x;
		printf("%d^%d = %d\n", x, i, risultato);
	}
	return 0;
}
Per gli altri, prendi spunto ed esercitati da solo

NOTA: non c'è alcun controllo d'errore nel codice, essendo un semplice esercizio sul ciclo for...
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 16-10-2006 alle 11:55.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 15:53   #3
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ti ringrazio moltissimo, ho appena cominciato programmazione I all'universita ma non ci riesco proprio a fare sti esercizietti, bo, ci so quasi riuscito a fa quello degli intervalli, poi gli altri li provo domani

grazie ancora
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 16:00   #4
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
per uno che ha gia fatto programmazione sono facili questi, ma per me che faccio programmazione da 2 settimane non sono facilissimi.
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 16:04   #5
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da Vasec87
ti ringrazio moltissimo, ho appena cominciato programmazione I all'universita ma non ci riesco proprio a fare sti esercizietti, bo, ci so quasi riuscito a fa quello degli intervalli, poi gli altri li provo domani

grazie ancora
Ah, occhio all'ultimo esercizio, lo risolvi con 3 righe di codice appena capisci l'approccio da utilizzare
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 16:37   #6
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
il problema è l'approccio



stasera mi ci metto con calma e provo a farne qualcuno
quello con gli asterischi non lo farò mai, ho sentito parlare di matrici ecc.., non so nemmeno cosa sono, se potete darmi un aiutino ve ne sarei molto grato

ciao
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:15   #7
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da Vasec87
il problema è l'approccio

Esatto, l'importante è ricavare l'algoritmo (ovvero i passi che il programma deve compiere er risolvere il problema). Il difficile è proprio la formalizzazione dell'algoritmo, non scrivere codice.

Quote:
Originariamente inviato da Vasec87
quello con gli asterischi non lo farò mai, ho sentito parlare di matrici ecc.., non so nemmeno cosa sono, se potete darmi un aiutino ve ne sarei molto grato

ciao
Ma quali matrici! Si risolve tutto con un ciclo for, e con meno di 30 righe di codice
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:28   #8
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
A titolo esplicativo, dal momento che penso hai bisogno di esempi per capire come formalizzare un algoritmo, posto la soluzione all'esercizio numero 3, completamente commentato. Soffermati al modo che ho usato per risolvere il problema. Vedi le domande che mi sono posto e come le ho formalizzate via codice.
Quando fai un programma, anche semplice, pensa ai passi che compiresti per risolverlo: in questo caso, se avessi preso un foglio di carta e avessi voluto disegnare quella figura, cosa avresti fatto? Probabilmente i passi che avresti compiuto nella tua mente (forse in modo "inconscio") sono gli stessi di questo programma:

Codice:
/*
NOTA 1: L'operatore % (percentuale), usato per controllare la parità o meno di un
        numero, realizza semplicemente l'operazione matematica "modulo". Esso fa la
        divisione tra due numeri interi, ma restituisce il RESTO della divisione
        invece che il risultato.
        Ad esempio, 7 % 5 restituira' 2, 4 % 2 restituira' 0, ecc.
        Quindi, se il resto della divisione tra un qualunque numero e 2 restituisce 0,
        il numero e' sicuramente pari, altrimenti e' dispari.

NOTA 2: Nel primo ciclo for, parto da i = 1 invece che da i = 0 perche', altrimenti, la
        prima riga sarebbe stata considerata come una riga in posizione pari.
        Ovviamente, la condizione di uscita dal ciclo for diventa i <= x (a differenza
        del secondo ciclo for, in cui si parte come al solito da j = 0, quindi la
        condizione di uscita e' la solita j < x).
*/

#include <stdio.h>

int main(void)
{
	int x, i, j;
	printf("Inserisci un numero intero positivo dispari: ");
	scanf("%d", &x);
	/* Il numero letto da tastiera e' dispari? */
	if ((x % 2) != 0)
	{
		/* Si', il numero e' dispari: OK! */
		/*
		Con il ciclo for stampo un numero di righe pari al numero inserito.
		Per ogni riga, vedo se corrisponde ad una riga dispari o pari:
		se e' una riga dispari, stampo un numero di asterischi pari al
		numero inserito (con un altro ciclo for), mentre se e' una riga pari
		stampo solo due asterischi (direttamente).
		*/
		for (i = 1; i <= x; i++)
		{
			/* Sono su una riga dispari o su una riga pari? */
			if ((i % 2) != 0)
			{
				/* Sono su una riga dispari: stampo un numero di asterischi pari a x */
				for (j = 0; j < x; j++)
					printf("*");
			}
			else
				/* Sono su una riga pari: stampo 2 asterischi */
				printf("**");
			/* Vado a capo per la prossima riga */
			printf("\n");
		}
	}
	else
		/* No, il numero e' pari... */
		printf("Il numero inserito e' pari!\n");
	return 0;
}
Gli altri esercizi risolvili tu, non sono difficili.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 16-10-2006 alle 17:42.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:38   #9
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
non so come ringraziarvi, prendo spunto da sti 2 esercizi e da stasera mi ci metto anche io.

il problema è che io comincio subito a scrivere in c, invece penso che sarebbe meglio farsi un idea sulla carta, ma mi sembra una perdita di tempo
un 'altra cosa che mi frega è che sottovaluto sti esercizietti, sembrano stupidi, ma non lo sono affatto...
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:45   #10
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da Vasec87
non so come ringraziarvi, prendo spunto da sti 2 esercizi e da stasera mi ci metto anche io.
Figurati

Quote:
Originariamente inviato da Vasec87
il problema è che io comincio subito a scrivere in c, invece penso che sarebbe meglio farsi un idea sulla carta, ma mi sembra una perdita di tempo
un 'altra cosa che mi frega è che sottovaluto sti esercizietti, sembrano stupidi, ma non lo sono affatto...
Esatto, prova prima a formalizzare (magari su carta), non metterti subito davanti al PC, altrimenti rischi di cadere nella sindrome dello "schermo vuoto". Sempre, a tutti i livelli, si formalizza prima su carta (si fa prima il classico progetto), poi si passa alla scrittura del codice vero e proprio.
Ah, vedi che ho leggermente modificato i commenti nel programma postato prima, per semplificarti la vita
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:48   #11
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ok, stasera mi ci metto con calma poi a giorni vi faccio sapere.
ora sono alle prese con un'altra materia non facilissima ma che mi riesce meglio.
architettura degli elaboratori


p.s
io facevo esattamente quello che dici, mi mettevo subito davanti al pc.

ciao
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 17:51   #12
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
domandina.

cosa mi consigliate di usare per vedere il risultato del programma sullo schermo?

io uso sempre #include <cstdlib> e system("PAUSE"); alla fine

cosi alla fine del programma mi dice premere un tasto per continuare

mica mi verrà considerato errore quando lo correggeranno gli insegnanti? conoscete un altro metodo?

grazie
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 18:18   #13
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da Vasec87
domandina.

cosa mi consigliate di usare per vedere il risultato del programma sullo schermo?

io uso sempre #include <cstdlib> e system("PAUSE"); alla fine

cosi alla fine del programma mi dice premere un tasto per continuare

mica mi verrà considerato errore quando lo correggeranno gli insegnanti? conoscete un altro metodo?

grazie
Penso di sì. Infatti, anche se la funzione system() fa parte delle librerie ANSI C (in particolare <stdlib.h>), il comando che chiami all'interno della system() (ovvero sia PAUSE), si riferisce solamente ad ambienti Windows. Quindi il tuo codice diventa "Windows only" (se vogliamo fare i fiscali), mentre un codice ANSI C è conforme a TUTTI i sistemi operativi. Infatti, su linux ad esempio, un programma con "system("PAUSE")" compila (perchè la funzione system() è ANSI C, quindi contemplata), ma a runtime, arrivati a quella chiamata, esce fuori questo:

"sh: PAUSE: command not found"

Ti consiglio, molto più semplicemente, di fare così:

Codice:
printf("Premere INVIO per continuare...");
getchar();
Che va sempre bene ed è ANSI C ed è compatibile con tutti i SO.

EDIT: Se lanci i tuoi programmi dalla console di Windows (prompt dei comandi), non hai assolutamente bisogno di far uscire un messaggio di quel tipo. Immagino che tu la usi perchè avvii i programmi console con un doppio click da Esplora risorse, quindi la console si chiude automaticamente alla fine del programma.
Per comodità, usa le due righe di codice che ho postato, ma anche se non metti nulla il tuo programma sarà corretto (perchè il prof. sa tutto questo e lancerà i programmi dal prompt dei comandi )
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 16-10-2006 alle 18:23.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 18:46   #14
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
sisi, infatti penso di mettere il classico return 0 per evitare rischi

comq i programmi devono essere compatibili con gcc mi sembra si chiami cosi, cioè su linux
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 18:49   #15
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ho provato a incollare alla fine le due righe che mi hai detto ma non funzionano

la finestra si chiude subito come quando metto return 0
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 19:36   #16
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da Vasec87
ho provato a incollare alla fine le due righe che mi hai detto ma non funzionano

la finestra si chiude subito come quando metto return 0
OK, il solito problema del buffer della tastiera............. Fai così allora:

Codice:
while(getchar() != '\n');
printf("Premere INVIO per continuare...");
getchar();
EDIT: se il programma deve essere portabile (quindi compatibile con gcc di linux), evita di fare system("PAUSE"); non è una buona prassi e di conseguenza ti verrà segnato come errore (se il prof. è un minimo pignolo).
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2006, 21:17   #17
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
funziona perfettamente
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 09:48   #18
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
sto provando a fare il 4. mi date qualche piccolo indizio su come risolverlo?

io sto giocando un po con for,if else e while e con l'operatore di resto, ma non esce niente di buono
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 10:19   #19
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
sono riuscito a farlo con la formula di euclide

ora mi mancano il secondo e il quinto esercizio, dopo ci provo. sono accettati piccoli suggerimenti, che mi mettano sulla buona strada

ciao
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 15:08   #20
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da Vasec87
sono riuscito a farlo con la formula di euclide

ora mi mancano il secondo e il quinto esercizio, dopo ci provo. sono accettati piccoli suggerimenti, che mi mettano sulla buona strada

ciao
per il quinto ho scritto una funzione di 3 righe che funziona perfettamente
devi usare l'operatore %
buon lavoro
AngeL) è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
Col Black Friday partono anche gli scont...
I ribassi più pesanti del vero Bl...
Settimana del Black Friday: pioggia di s...
Speciale Blay Friday Dyson, sconti mai v...
I portatili più scontati del Blac...
WiFi al massimo: gli ASUS più pot...
Domotica in super sconto: tado° e Ne...
Black Friday Amazon: smartphone top a pr...
Black Friday 2025: tutte le migliori off...
Speciale Black Friday TV: 14 modelli sup...
Black Friday Amazon: le migliori offerte...
Tanti droni DJI scontati per il Black Fr...
Anche l'ISRO ha rilasciato alcune inform...
La NASA mostra le nuove immagini della c...
Superati 13.300 MT/s per DDR5: ad ASUS e...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v