Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Saros 20: il robot preciso e molto sottile
Roborock Saros 20: il robot preciso e molto sottile
Il nuovo robot di Roborock per l'aspirazione della polvere e il lavaggio dei pavimenti spicca per immediatezza d'uso e per l'efficacia dell'azione, grazie anche a un ridotto sviluppo in altezza. Saros 20 integra un motore da ben 36.000Pa di potenza e un sistema di lavaggio a due panni rotanti, con bracci estensibili e un sistema di navigazione molto preciso.
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS e HIFIMAN uniscono le forze per creare ROG Kithara, cuffie gaming con driver magnetici planari da 100mm, design open-back e microfono MEMS full-band. Una proposta che ambisce a coniugare fedeltà per audiofili e performance ludiche, disponibili a 319 euro
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
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 Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
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...
Basta cambiare driver per 'sbloccare' la...
Apple prepara 3 giorni di annunci e novi...
HONOR Magic V6 è pronto a stupire...
L'assistente vocale interpreta male il c...
Un piccolo bug, oltre 4 milioni di veico...
OpenAI chiude una raccolta fondi da 110 ...
Scontro sull'AI militare: Trump bandisce...
TSMC, capacità produttiva a 2 nan...
Resident Evil Requiem: il lancio è...
Xiaomi 17 in arrivo: parte il conto alla...
Rapidus incassa 1,7 miliardi di dollari ...
Parcheggi in città senza pensieri...
IA e crisi sistemica: perché tre ...
Le migliori offerte Amazon del weekend, ...
Offerte smartphone Amazon: sono 12 fra c...
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: 23:43.


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