Problemi di informatica
- Thurindo.Of
- Veteran
- Posts: 628
- Joined: 02/06/2010 20:46
Problemi di informatica
Salve a tutti i nerd della co.ommunity,mi serve una mano per risolvere questo esercizio di informatica:
Scrivere un programma C che acquisisca in input da tastiera un valore
intero positivo N <= 40 corrispondente alla base di un triangolo rettangolo
e isoscele, e che riproduca a video tale triangolo utilizzando il carattere
‘*’.
Esempio: se il valore letto da tastiera è 3, a video dovrà essere visualizzata
la seguente serie di caratteri
*
**
***
Approfondimento: considerare forme geometriche alternative, quali il
triangolo isoscele, il quadrato, ecc… a scelta
ringrazio in anticipo tutti i partecipanti,mi raccomando spiegate in modo semplice perchè poi lo dovrò spiegare ad altri!!!
Scrivere un programma C che acquisisca in input da tastiera un valore
intero positivo N <= 40 corrispondente alla base di un triangolo rettangolo
e isoscele, e che riproduca a video tale triangolo utilizzando il carattere
‘*’.
Esempio: se il valore letto da tastiera è 3, a video dovrà essere visualizzata
la seguente serie di caratteri
*
**
***
Approfondimento: considerare forme geometriche alternative, quali il
triangolo isoscele, il quadrato, ecc… a scelta
ringrazio in anticipo tutti i partecipanti,mi raccomando spiegate in modo semplice perchè poi lo dovrò spiegare ad altri!!!
- Thurindo.Of
- Veteran
- Posts: 628
- Joined: 02/06/2010 20:46
Re: Problemi di informatica
ho dimenticato di dire che deve essere fatto in linguaggio c con 2 cicli for
- Beavis
- Veteran
- Posts: 1363
- Joined: 08/10/2005 15:18
Re: Problemi di informatica
Non sono più ferrato in C, potrei farteli in vb però
Posso aiutarti per la struttura che è molto semplice.
Prima di tutto bisogna acquisire il valore e inserirlo in una variabile di tipo intero per esempio A
Ora apri il primo ciclo che dovrai eseguire A volte quindi dovrai settare X = 1 e farlo fino a che X = A ed incrementare di uno a ciclo.
Nel primo ciclo inserisci il secondo che dovrà essere eseguito anche lui A volte, quindi setterai Y = 1 e farlo fino a che Y = X ed incrementi 1 a ciclo.
Ora qui dovrai inserire il comando che scrive * a schermo, sarà print qualcosa o che ne so.
Chiudi il secondo ciclo.
Comando per andare a capo.
Chiudi il primo ciclo.
End.
Pare un quadrato basta modificare il secondo ciclo per essere eseguito per Y = A.
Posso aiutarti per la struttura che è molto semplice.
Prima di tutto bisogna acquisire il valore e inserirlo in una variabile di tipo intero per esempio A
Ora apri il primo ciclo che dovrai eseguire A volte quindi dovrai settare X = 1 e farlo fino a che X = A ed incrementare di uno a ciclo.
Nel primo ciclo inserisci il secondo che dovrà essere eseguito anche lui A volte, quindi setterai Y = 1 e farlo fino a che Y = X ed incrementi 1 a ciclo.
Ora qui dovrai inserire il comando che scrive * a schermo, sarà print qualcosa o che ne so.
Chiudi il secondo ciclo.
Comando per andare a capo.
Chiudi il primo ciclo.
End.
Pare un quadrato basta modificare il secondo ciclo per essere eseguito per Y = A.
Monologhista doc
- Beavis
- Veteran
- Posts: 1363
- Joined: 08/10/2005 15:18
Re: Problemi di informatica
Vediamo un po' di aiutarti anche con la sintassi.
@acquisire valore in A
for (int X=0; X < A; X++)
{
for (int Y=0; Y < X; Y++)
{
@scrivi *
}
@vai a capo
}
@fine
Le righe con @ devi scrivere tu il codice eh
Prima ho sbagliato devi settare X e Y = 0
Studia studia che poi ti chiedo io aiuto, per esempio come fare un programma che acquisisce un serial number con il lettore di codice a barre, lo inserisce nella locazione di memoria corretta di un file di programmazione e utilizza questo file per programmare un microprocessore
@acquisire valore in A
for (int X=0; X < A; X++)
{
for (int Y=0; Y < X; Y++)
{
@scrivi *
}
@vai a capo
}
@fine
Le righe con @ devi scrivere tu il codice eh
Prima ho sbagliato devi settare X e Y = 0
Studia studia che poi ti chiedo io aiuto, per esempio come fare un programma che acquisisce un serial number con il lettore di codice a barre, lo inserisce nella locazione di memoria corretta di un file di programmazione e utilizza questo file per programmare un microprocessore
Monologhista doc
- Thurindo.Of
- Veteran
- Posts: 628
- Joined: 02/06/2010 20:46
Re: Problemi di informatica
grazie mille bea !!cmq fino al prossimo anno probabilmente nn tornerò a studiare,questo è x una mia amica
- Lysor_o.O
- Veteran
- Posts: 2448
- Joined: 12/12/2002 00:31
- Location: Milano
Re: Problemi di informatica
Non ho provato a compilare, ma questo dovrebbe essere il codice completo:
Però permettimi di dire che se non lo sai scrivere da solo è ben difficile che tu riesca a spiegarlo a qualcun altro...
Code: Select all
#include <stdio.h>
int main() {
int altezza, x, y;
printf("Inserire l'altezza del triangolo:\n");
scanf("%d", &altezza);
for (x=0;x< altezza;x++) {
for (y=0;y<x;y++) {
printf("*");
}
printf("\n");
}
return 0;
}
Tu vedi delle cose e chiedi: perché? Ma io sogno di cose che non ci sono mai state, e che forse non ci saranno mai, e dico: perché no?
--- Wolfgang Güllich
- Maloghigno
- Administrator
- Posts: 4594
- Joined: 06/12/2002 19:23
- Blizzard BattleTag: Maloghigno#2220
- Contact:
Re: Problemi di informatica
Quoto Lysor ed aggiungo che ti conviene impararlo
E per Bea che ragiona in vb...
E per Bea che ragiona in vb...
- Beavis
- Veteran
- Posts: 1363
- Joined: 08/10/2005 15:18
Re: Problemi di informatica
Perchè cos'ha vb?
Cmq non è colpa mia se la macchina di test con cui lavoro funziona in vb.
Che poi tutti i linguaggi di questo genere sono simili, cambia la sintassi e 2 cazzatine.
Cmq non è colpa mia se la macchina di test con cui lavoro funziona in vb.
Che poi tutti i linguaggi di questo genere sono simili, cambia la sintassi e 2 cazzatine.
Monologhista doc
- Byakugàn
- oO
- Posts: 36
- Joined: 04/05/2011 16:36
Re: Problemi di informatica
Un po' vecchia, comunque
oppure fai x<altezza+1, altrimenti farà sempre un triangolo rettangolo più basso di 1 ;)
O metti x<=altezzafor (x=0;x< altezza;x++)
oppure fai x<altezza+1, altrimenti farà sempre un triangolo rettangolo più basso di 1 ;)
- Lysor_o.O
- Veteran
- Posts: 2448
- Joined: 12/12/2002 00:31
- Location: Milano
Re: Problemi di informatica
E bravo Byakugàn, mi hai beccato!
In effetti tutte le righe avrebbero un asterisco in meno rispetto a quelli voluti, e la prima riga sarebbe proprio vuota. Quindi mettendo altezza 3 (per esempio) si otterrebbe una riga vuota e poi un triangolo 2x2. Fare come dici tu risolve il problema (anche se la riga vuota resta), altrimenti si può cambiare il secondo ciclo nella stessa maniera (cioè mettendo il y<=x oppure fermandosi a y<x+1) in modo da avere le dimensioni giuste ma senza riga vuota.
...Ma Thurindof, in tutto questo sei riuscito a combinare qualcosa? Com'è andata?
In effetti tutte le righe avrebbero un asterisco in meno rispetto a quelli voluti, e la prima riga sarebbe proprio vuota. Quindi mettendo altezza 3 (per esempio) si otterrebbe una riga vuota e poi un triangolo 2x2. Fare come dici tu risolve il problema (anche se la riga vuota resta), altrimenti si può cambiare il secondo ciclo nella stessa maniera (cioè mettendo il y<=x oppure fermandosi a y<x+1) in modo da avere le dimensioni giuste ma senza riga vuota.
...Ma Thurindof, in tutto questo sei riuscito a combinare qualcosa? Com'è andata?
Tu vedi delle cose e chiedi: perché? Ma io sogno di cose che non ci sono mai state, e che forse non ci saranno mai, e dico: perché no?
--- Wolfgang Güllich
- Beavis
- Veteran
- Posts: 1363
- Joined: 08/10/2005 15:18
Re: Problemi di informatica
No calma un attimo... se partite per X=0 è giusto X<A
Lo zero conta
Lo zero conta
Monologhista doc
- Thurindo.Of
- Veteran
- Posts: 628
- Joined: 02/06/2010 20:46
Re: Problemi di informatica
Ma a dir la verità ho aggiustato tutto con l''intervento di bea,gli ho proposto quello,i miei amici ci hanno lavorato su e poi hanno detto di aver trovato la soluzione quindi...ho fatto la mia bella figura
Who is online
Users browsing this forum: No registered users and 13 guests