Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le novità MSI del 2026 per i videogiocatori
Le novità MSI del 2026 per i videogiocatori
Con le nuove soluzioni della serie MEG, acronimo di MSI Enthusiast Gaming, l'azienda taiwanese vuole proporre per il 2026 una gamma di proposte desktop che si rivolgono direttamente all'utente più appassionato con schede madri, chassis e sistemi di raffreddamento. Non da ultimi troviamo anche gli alimentatori, che abbinano potenza a ricerca della massima sicurezza di funzionamento.
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers
MSI continua ad investire nel proporre schermi pensati per rispondere alle esigenze dei videogiocatori, utilizzando la quinta generazione di tecnologia QD-OLED sviluppata da Samsung. Il modello MPG 341CQR QD-OLED X36 è lpultima novità al debutto in concomitanza con il CES 2026, uno schermo curvo di ampia risoluzione pensato per i videogiocatori più esigenti
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-10-2009, 11:56   #21
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Ringrazio per questi mega discorsi molto interessanti, che però non riesco ancora a comprendere appieno.

Grazie per il programma svolto, ma volevo chiedere delle cose:
- lo stesso programma non si può svolgere con cicli while?
- ho provato a compilare l'ultima versione di euphyllia87, ma facendo i test con 40 e 50 ore lavorative a 360€, il programma mi da in output 1.#R; non è giusto, vero?
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 12:00   #22
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Ringrazio per questi mega discorsi molto interessanti, che però non riesco ancora a comprendere appieno.

Grazie per il programma svolto, ma volevo chiedere delle cose:
- lo stesso programma non si può svolgere con cicli while?
- ho provato a compilare l'ultima versione di euphyllia87, ma facendo i test con 40 e 50 ore lavorative a 360€, il programma mi da in output 1.#R; non è giusto, vero?
In output 1.#R? C'è ti stampa a video questo?

Strano, ieri l ho provato l'ultima volta sulla mia macchina è funziona senza problemi.

è quell'R che non mi convince.

Per quanto riguarda il while...permette l'esecuzione reiterativa di un blocco di istruzioni finché una certa condizione rimane vera.
Come la implementeresti?
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 12:11   #23
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Sì, a video come risultato di stampa, mi da 1.#R...
Il fatto che forse a te andava e a me no, sarà che facendo girare lo stesso programma con macchine diverse cambia, oppure sarà per il compilatore diverso..

Il fatto di implementare il while con un blocco si istruzioni finchè una non è vera, era ed è il mio reale problema, cioè non so come poterlo fare..
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 12:13   #24
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Sì, a video come risultato di stampa, mi da 1.#R...
Il fatto che forse a te andava e a me no, sarà che facendo girare lo stesso programma con macchine diverse cambia, oppure sarà per il compilatore diverso..

Il fatto di implementare il while con un blocco si istruzioni finchè una non è vera, era ed è il mio reale problema, cioè non so come poterlo fare..
beh il while continua ad eseguirsi finche la condizione non si verifica.
Iniziare il programma intero con un while finche la condizione delle ore non è verificata... potrebbe essere una soluzione, ma onestamente lo trovo poco produttivo (sotto ogni aspetto).
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 15:13   #25
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Allora, una cosa e la ripeto per l'ultima volta.

In C, come in tutti i linguaggi imperativi esistono procedure e funzioni.
Che non vengano usate (le procedure) è un discorso diverso.

Ma esistono.
No, non esistono.
Dai un occhiata al K&R (scritto da colui che ha ideato e implementato il C) e allo standard ANSI: non cè nessun riferimento a procedure.
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Il mio sorgente è compilato e funziona; mi riporta i valori esatti.
Impossibile: è proprio sbagliato il modo in cui calcoli il risultato nel caso le ore fossero superiori a 36.
Basta che guardi l'esempio nel primo post - con dei valori di 360 e 38 il risultato dovrebbe essere 384, ma il tuo programma restituisce 380, mentre con dei valori di 360 e 50 il risultato dovrebbe essere 540, ma il tuo programma restituisce 500.
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Sì, a video come risultato di stampa, mi da 1.#R...
Il fatto che forse a te andava e a me no, sarà che facendo girare lo stesso programma con macchine diverse cambia, oppure sarà per il compilatore diverso..
Stai usando la versione senza il return, è normale che non funzioni.

Ecco un esempio corretto di come andrebbe risolto l'esercizio:
Codice:
#include <stdio.h>

int main()
{
	float sal, orario;
	int ore, diff12 = 0, diff15 = 0;

	printf("Inserire il salario settimanale dell’impiegato [Euro]: ");
	scanf("%f", &sal);
	orario = sal / 36;

	printf("Inserire il numero di ore lavorate: ");
	scanf("%d", &ore);

	if (ore > 46)
	{
		diff15 = ore - 46;
		sal += diff15 * orario * 1.5;
		ore -= diff15;
	}

	if (ore > 36)
	{
		diff12 = ore - 36;
		sal += diff12 * orario * 1.2;
		ore -= diff12;
	}

	printf("Salario per questa settimana: %.0f\n", sal);

	if (diff12 > 0)
		printf("Numero di ore pagate a 1.2 volte il salario di base: %d\n", diff12);

	if (diff15 > 0)
		printf("Numero di ore pagate a 1.5 volte il salario di base: %d\n", diff15);

	return 0;
}
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 16:26   #26
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Io ho pensato di risolverlo in un altra maniera.
Il K&R intendi di Ritchie?

Strano però che su 2 libri universitari che ho letto e pure il docente universitario introduce alle procedure... che l'ANSI C non ne parli?

Dove posso trovare l'elenco DI TUTTE le regole semantiche/sintattiche dell'ANSI C?
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 18:41   #27
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
http://www.open-std.org/JTC1/SC22/WG...docs/n1336.pdf
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 18:48   #28
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Grazie mille è un pdf che può tornare molto utile.
Per le procedure che dico a tutti quei docenti/libri ecc che sostengono esistere nel C?
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 16:38   #29
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Quote:
Ecco un esempio corretto di come andrebbe risolto l'esercizio:
Codice:
#include <stdio.h>

int main()
{
	float sal, orario;
	int ore, diff12 = 0, diff15 = 0;

	printf("Inserire il salario settimanale dell’impiegato [Euro]: ");
	scanf("%f", &sal);
	orario = sal / 36;

	printf("Inserire il numero di ore lavorate: ");
	scanf("%d", &ore);

	if (ore > 46)
	{
		diff15 = ore - 46;
		sal += diff15 * orario * 1.5;
		ore -= diff15;
	}

	if (ore > 36)
	{
		diff12 = ore - 36;
		sal += diff12 * orario * 1.2;
		ore -= diff12;
	}

	printf("Salario per questa settimana: %.0f\n", sal);

	if (diff12 > 0)
		printf("Numero di ore pagate a 1.2 volte il salario di base: %d\n", diff12);

	if (diff15 > 0)
		printf("Numero di ore pagate a 1.5 volte il salario di base: %d\n", diff15);

	return 0;
}
Ti ringrazio, ||ElChE||88 per la versione corretta.
Però, dato che vorrei capirci bene sulle cose devo fare, non mi sono accontetato e, sulla falsa riga del tuo, ne ho fatto uno io ex-novo, come l'avrei fatto io, però naturalmente non mi da quello che vorrei.
Questo
Codice:
#include <stdio.h>

int main()
{

  float euro, euro12, euro15, ore, ore12, ore15;

  printf("Inserire il salario settimanale dell’impiegato [Euro]: ");
  scanf("%f", &euro);
  printf("Inserire il numero di ore lavorative: ");
  scanf("%f", &ore);

  if ( ore <= 36 )
    printf("Salario per questa settimana: %.0f Euro\n", euro);

  if (ore >= 37 || ore <= 46 )
    {
    ore12 = ore - 36;
    euro12 = euro + ((euro/36) * (ore12 * 1.2));
    printf("Salario per questa settimana: %.0f Euro\n", euro12);
    }

  if (ore >= 47 || ore <= 99 )
    {
    ore15 = ore - 36;
    euro15 = euro + ((euro/36) * (ore15 * 1.5));
    printf("Salario per questa settimana: %.0f Euro\n", euro15);
    }

  if (ore >= 37 || ore <= 46 )
    {
    ore12 = ore - 36;
    printf("Numero di ore pagate a 1.2 volte il salario di base: %.0f\n", ore12);
	}

  if (ore >= 47 || ore <= 99 )
    {
    ore15 = ore - 47;
    printf("Numero di ore pagate a 1.5 volte il salario di base: %.0f\n", ore15);
	}

  return 0;
}
che da quello che ho scoperto adesso che sto scrivendo che praticamente uguale a quello che avevo fatto prima....

Perchè poi come output mi da:

che come prima mi da tutti i tipi di risultati possibili che può dare, senza differenziarli dal tipo di if che gli ho messo io.

Oltre al non capire la differrenza che c'è dalle due stesure del programma, nel tuo non capisco l'utilizzo dei simboli "-=" e "+=", non lì ho ancora studiati, ma dalle definizione che ho sono decremento/incremento non unitario, ma come si utilizzano? A cosa servono?
__________________
IMPOSSIBLE IS NOTHING

Ultima modifica di Cadetto Entusiasta : 25-10-2009 alle 16:41.
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 18:11   #30
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
il simbolo += sta per somma e riassegna. Un esempio:

Codice:
A = A + B
può essere scritto come:

Codice:
A += B
che indica somma ad A, B e riponi in A.
stessa cosa per la differenza

Codice:
A = A - B
in:

Codice:
A -= B
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 19:33   #31
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Ah, ok, praticamente una scorciatoia, invece di far fare un operazione che sommi alla variabile A la variabile B, senza introdurre una nuova variabile, si usa +=.
E stessa cosa per la differenza.
Grazie
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 19:44   #32
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Ah, ok, praticamente una scorciatoia, invece di far fare un operazione che sommi alla variabile A la variabile B, senza introdurre una nuova variabile, si usa +=.
E stessa cosa per la differenza.
Grazie
Si, risparmi codice e una variabile da dichiarare.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 19:46   #33
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Ah, ok, praticamente una scorciatoia, invece di far fare un operazione che sommi alla variabile A la variabile B, senza introdurre una nuova variabile, si usa +=.
E stessa cosa per la differenza.
Grazie
No, non risparmi variabili.
A += B
è uguale ad
A = A + B
Come puoi vedere le uniche variabili sono A e B, presenti in entrambi i casi.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 19:49   #34
Darecon
Senior Member
 
Iscritto dal: Sep 2003
Città: Tradate
Messaggi: 396
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Grazie mille è un pdf che può tornare molto utile.
Per le procedure che dico a tutti quei docenti/libri ecc che sostengono esistere nel C?
Scusate l'ot, ma questo interessa anche a me, c'e' qualche fonte ufficiale che dice questo? Mi ha molto incuriosito..
Darecon è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 20:04   #35
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Darecon Guarda i messaggi
Scusate l'ot, ma questo interessa anche a me, c'e' qualche fonte ufficiale che dice questo? Mi ha molto incuriosito..
Infatti, chiedo anche io la fonte ufficiale.
E' un documento interessantissimo.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 20:07   #36
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
No, non risparmi variabili.
A += B
è uguale ad
A = A + B
Come puoi vedere le uniche variabili sono A e B, presenti in entrambi i casi.
Risparmia una variabile (in scrittura e in memoria) nel caso di C = A + B; d'altronde non ha senso utilizzare un'altra variabile.

Quindi come dici tu è corretto A = A + B da cui deriva A += B; risparmia una variabile in scrittura (di codice).

Giusto!
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 21:44   #37
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Sì infatti, io volevo proprio intendere che si risparmia una variabile per il codice, senza introdurne altre nuove e impiegare più memoria..
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 21:50   #38
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Sì infatti, io volevo proprio intendere che si risparmia una variabile per il codice, senza introdurne altre nuove e impiegare più memoria..
La risparmieresti solo nel caso di C = A + B;
ma nel caso di A = A + B; no. Risparmi solo tempo a scrivere
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2009, 21:55   #39
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
La risparmieresti solo nel caso di C = A + B;
ma nel caso di A = A + B; no. Risparmi solo tempo a scrivere
Sì, è vero solo in quel caso...

Ma sapreste dirmi cosa sbaglio/cosa c'è di tanto diverso tra

Codice:
#include <stdio.h>

int main()
{
	float sal, orario;
	int ore, diff12 = 0, diff15 = 0;

	printf("Inserire il salario settimanale dell’impiegato [Euro]: ");
	scanf("%f", &sal);
	orario = sal / 36;

	printf("Inserire il numero di ore lavorate: ");
	scanf("%d", &ore);

	if (ore > 46)
	{
		diff15 = ore - 46;
		sal += diff15 * orario * 1.5;
		ore -= diff15;
	}

	if (ore > 36)
	{
		diff12 = ore - 36;
		sal += diff12 * orario * 1.2;
		ore -= diff12;
	}

	printf("Salario per questa settimana: %.0f\n", sal);

	if (diff12 > 0)
		printf("Numero di ore pagate a 1.2 volte il salario di base: %d\n", diff12);

	if (diff15 > 0)
		printf("Numero di ore pagate a 1.5 volte il salario di base: %d\n", diff15);

	return 0;
}
di ||ElChE||88 e il mio

Codice:
#include <stdio.h>

int main()
{

  float euro, euro12, euro15, ore, ore12, ore15;

  printf("Inserire il salario settimanale dell’impiegato [Euro]: ");
  scanf("%f", &euro);
  printf("Inserire il numero di ore lavorative: ");
  scanf("%f", &ore);

  if ( ore <= 36 )
    printf("Salario per questa settimana: %.0f Euro\n", euro);

  if (ore >= 37 || ore <= 46 )
    {
    ore12 = ore - 36;
    euro12 = euro + ((euro/36) * (ore12 * 1.2));
    printf("Salario per questa settimana: %.0f Euro\n", euro12);
    }

  if (ore >= 47 || ore <= 99 )
    {
    ore15 = ore - 36;
    euro15 = euro + ((euro/36) * (ore15 * 1.5));
    printf("Salario per questa settimana: %.0f Euro\n", euro15);
    }

  if (ore >= 37 || ore <= 46 )
    {
    ore12 = ore - 36;
    printf("Numero di ore pagate a 1.2 volte il salario di base: %.0f\n", ore12);
	}

  if (ore >= 47 || ore <= 99 )
    {
    ore15 = ore - 47;
    printf("Numero di ore pagate a 1.5 volte il salario di base: %.0f\n", ore15);
	}

  return 0;
}
che non riesco a capire?
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
La gamma XPS di Dell si rinnova completa...
HyperX OMEN: ufficiali 3 nuovi laptop, 4...
HP presenta al CES 2026 la nuova gamma d...
Nuova Audi A2 e-tron: la compatta elettr...
Anche a Roma arriva la Zona 30: limite d...
Motorola sfida il mercato premium: in ar...
Snapdragon X2 Elite Extreme: Qualcomm ut...
Il pedaggio in autostrada ora costa di p...
ARC Raiders: svelati alcuni dettagli sul...
Assassin's Creed Codename Hexe affidato ...
A volte ritornano: al CES 2026 il nuovo ...
ricarica 67 W e 8 GB di RAM: questo real...
Il finale di Stranger Things vi ha delus...
La manovra conferma il Bonus Mobili per ...
Starfield rinasce come RPG di Star Wars:...
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: 02:08.


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