Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-05-2007, 17:25   #1
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
[C]Domande su Array e sottoprogrammi

Ciao,
1 - non ho capito cosa significa nei sottoprogrammi i "sottoprogrammi senza valore di ritorno e senza parametri di ingresso " e di conseguenza cosa significhi con valori di ritorno e parametri di ingresso.

2 - cosa sono gli Array e come si usano all'interno del linguaggio (sintassi)

Mi potete aiutare?
Grazie
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 17:50   #2
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
1) è quello che leggi: sono procedure (blocchi di codice) a cui non viene passato alcun parametro e che a loro volta non ritornano valori al codice chiamante. Ad esempio, in c potresti avere una procedura del tipo:

void procedura().

Come vedi dalla definizione, la procedura non prende parametri (non ci sono parametri tra le due parentesi) e non ne ritorna (void).

2) http://it.wikipedia.org/wiki/Array
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 18:02   #3
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Per gli array siamo così e cosà....

Per i sottoprogrammi: ma cosa significa "non prendere parametri" ?
E quando può essere utile che gli dica di restituire il valore?
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 18:25   #4
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Quote:
Originariamente inviato da stgww Guarda i messaggi
Per gli array siamo così e cosà....
Per i sottoprogrammi: ma cosa significa "non prendere parametri" ?
A volte, la routine che chiami non ha bisogno di valori d'ingresso (parametri) con cui lavorare, altre volte ne necessita. Ad esempio, una routine che calcola la somma di due numeri avrà probabilmente bisogno di due parametri in ingresso (ovvero i due numeri che vuoi sommare). Al contrario, se hai una routine che deve fare una cosa statica e sempre uguale, o comunque indipendente dai valori che hai nel corpo del programma principale, non hai bisogno di passarle parametri. Ad esempio, se la tua routine deve soltanto stampare a schermo la scritta "Ciao mondo", non c'è motivo che tu gli passi parametri dall'esterno. I parametri puoi vederli come una sorta di valori di ingresso di cui la routine ha bisogno per fare delle operazioni,

[
Quote:
Originariamente inviato da stgww
E quando può essere utile che gli dica di restituire il valore?
Quando hai bisogno di riutilizzare il valore calcolato dalla routine nel corpo del chiamante. Nell'esempio della somma, probabilmente avrai bisogno di ritornare la somma dei due numeri, calcolata nella procedura, al chiamante, per utilizzarla per altre operazioni (ad esempio stamparla a video). Nell'esempio della stampa a video di "Ciao mondo", potresti benissimo non ritornare nulla al chiamante. Su questo punto, ti basta cercare da qualche parte la differenza tra procedure (che appunto sono routine che non ritornano valori al chiamante) e funzioni (che invece ritornano un valore)

Schematicamente:
parametro = input della procedura
valore restituito = output della procedura

Sta a te, in fase di progettazione, a definire i giusti input e output delle singole routine
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 18:51   #5
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Ora ho capito il teorico, ma guarda questo programma:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
  //variabili globali
  char ancora;
  float a, b, c, x1, x2, delta;
  //function calcolaDelta()
  void calcolaDelta(){
       delta= pow(b,2) - 4*a*c;
       return;
  }
  //function scriviSoluzioni()
  void scriviSoluzioni(){
       if(delta < 0)
          printf("\nnon esistono soluzioni\n");
       else{
          x1= (-b -sqrt(delta))/(2*a);
          x2= (-b +sqrt(delta))/(2*a);
          printf("\nle soluzioni sono %10.2f %10.2f\n", x1, x2);
       }
       return;   
  }
  //function risolviPrimoGrado()
  void risolviPrimoGrado(){
       if((b==0)&&(c==0))
          printf("\nhai inserito tre coefficienti nulli\n");
       else
          if(b==0)
             printf("\nnon ci sono soluzioni possibili\n");
          else{
             x1= -c/b;
             printf("\nequazione di primo grado con soluzione x1 = %10.2f\n", x1);
          }
       return;
  }
  //funtion main()
int main(int argc, char *argv[]){
  do{
     system("cls");
     //acquisisci coefficienti
     printf("inserisci coefficiente a\n");
     scanf("%f", &a);
     printf("\ninserisci coefficiente b\n");
     scanf("%f", &b);
     printf("\ninserisci coefficiente c\n");
     scanf("%f", &c);
     //se secondo grado calcola delta e soluzioni
     //altrimenti primo grado
     if(a != 0){
          calcolaDelta();
          scriviSoluzioni();
     }else
          risolviPrimoGrado();
     
     printf("ancora? (s/n)\n");
     ancora= getche();
  }while(ancora=='s');
  system("PAUSE");	
  return 0;
}
Il primo sottoprogramma è calcola delta, ma delta poi lo devo riutilizzare in calcola soluzioni, come mai allora non restituisce niente?
Grazie per l'aiuto
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 19:23   #6
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
perchè sta usando variabili globali!
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 21:59   #7
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Quote:
Originariamente inviato da vizzz Guarda i messaggi
perchè sta usando variabili globali!
Ok, l'avevo pensato, ma non ne ero sicuro
Ora l'unica cosa che non capisco è come vadano usati gli array, riuscite a spiegarmelo?
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 22:14   #8
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da stgww Guarda i messaggi
Ok, l'avevo pensato, ma non ne ero sicuro
Ora l'unica cosa che non capisco è come vadano usati gli array, riuscite a spiegarmelo?
cosa non ti è chiaro?
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 22:24   #9
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Mi sembra di aver capito che gli array siano degli insiemi di variabili.
es :tipobase array(numero di variabili)
ma non ho capito una volta dichiarate come faccio a d usarle, che vantaggio ho rispetto a usare 30 variabili diverse ad esempio e in che senso è legato al ciclo For ??
P.S Anche la sintassi come richiamarle come darli dei valori non mi è chiara
THX a lot
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2007, 22:53   #10
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da stgww Guarda i messaggi
Mi sembra di aver capito che gli array siano degli insiemi di variabili.
es :tipobase array(numero di variabili)
ma non ho capito una volta dichiarate come faccio a d usarle, che vantaggio ho rispetto a usare 30 variabili diverse ad esempio e in che senso è legato al ciclo For ??
P.S Anche la sintassi come richiamarle come darli dei valori non mi è chiara
THX a lot
un array è una "collezione organizzata di oggetti" del tipo che dichiari.
i vantaggi nell'uso degli array sono molteplici...pensa alle tue 30 variabili di tipo int che devi inizializzare a 0, oppure caricare con valori immessi dall'utente.
dovresti fare un inizializzazione o lettura per ogni variabile, mentre con un array puoi automatizzare la cosa.

piccolo esempio....
Codice:
int array[30];

for (i = 0; i < 30; i++)
    array[i] = 0;
con 30 variabili avresti dovuto inizializzarle una per una.

edit: dai un occhio qui:
http://programmazione.html.it/guide/...ono-gli-array/
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.

Ultima modifica di vizzz : 22-05-2007 alle 22:54. Motivo: link
vizzz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
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: 22:26.


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