| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Che cosa è la ricorsione in Programmazione
    Nella programmazione di computer , ricorsione si verifica quando una funzione o una procedura - in altre parole , una sequenza di istruzioni per l'esecuzione di una particolare funzione - chiama se stessa , direttamente o indirettamente ? . La funzione o procedura modificano il valore del parametro ( s ) passato per la prima volta che viene chiamato e si chiama con il nuovo valore ( s ) . Fattoriali

    Il classico esempio di ricorsione comporta fattoriali informatiche . Un fattoriale è il prodotto di un dato numero intero positivo moltiplicato per tutti i numeri interi minori. Il fattoriale di 5 è 5 * 4 * 3 * 2 * 1 , il fattoriale di 4 è 4 * 3 * 2 * 1 e così via . Il fattoriale di qualsiasi numero è uguale a quel numero moltiplicato per il fattoriale del numero immediatamente inferiore . In altre parole , fattoriale ( 5) è uguale a 5 * fattoriale ( 4 ) , fattoriale ( 4) è uguale a 4 * fattoriale ( 3) e così via, quindi una semplice funzione fattoriale potrebbe essere scritta come :

    int fattoriale ( int n ) {return n * fattoriale (n - 1) ; }
    Base caso

    Il problema con questa semplice funzione , tuttavia , è che non ha nessun caso base , o condizione di dire che quando fermarsi. Così com'è , la funzione che continuerà a chiamarsi quando n raggiunto lo zero ed oltre in numeri negativi , tornando fattoriali senza senso . In realtà , una funzione fattoriale ha bisogno di fermarsi quando n = 1 , quindi una vera e propria funzione fattoriale può essere scritto come :

    int fattoriale ( int n ) {if ( n == 1) { return 1; } else {return n * fattoriale (n - 1) ; } }

    In inglese, la funzione prende in esame il numero passato come parametro e , se il numero è 1 , restituisce 1 . In caso contrario, la funzione restituisce il numero moltiplicato per il fattoriale del numero meno uno.
    Programma Stack

    Tutti i programmi ricorsivi devono avere un punto di fondo , o di base caso in cui l'operazione è talmente banale che una risposta può essere restituito direttamente . Ricorsione funziona aggiungendo , o spingendo , e la rimozione , o popping , singoli fotogrammi verso e da una struttura di dati nota come stack programma . C'è solo una quantità limitata di spazio sullo stack del programma, così , senza un caso base , un programma ricorsivo sarebbe semplicemente continuando in esecuzione fino a quando lo stack overflow.
    Pro e contro
    < br

    ricorsione > è difficile capire perché non è intuitiva e può apparire , a prima vista , di coinvolgere logica circolare o false. Secondo IBM , la ricorsione è raramente usato dai programmatori di linguaggi di programmazione - che non indicano una sequenza esplicita di passaggi da eseguire - perché credono che è lento e lo spazio rifiuti . Tuttavia , se attuato correttamente , la ricorsione è una tecnica di programmazione potente che può semplificare alcune attività di programmazione .

    Previous :

    next :
      Articoli Correlati
    ·Come utilizzare il software SAS 
    ·Come accedere a una variabile bash script in Python 
    ·XNA effetti Pixel Shader 
    ·Come digitare i caratteri cinesi sulla tastiera US 
    ·Che cosa è un ciclo infinito ? 
    ·Come trovare altre istanze di una classe in C + + 
    ·Vantaggi e svantaggi del Puntatori 
    ·Come convertire i valori del Registro di sistema binari…
    ·JavaScript Vs . Applet Java 
    ·Come sostituire un STRG Con un STRG inferiore 
      Articoli in evidenza
    ·Come cambiare la messa a fuoco quando Cliccando un Data…
    ·Come prevenire più login Con SESSION_ID 
    ·Come usare VB VBA per eseguire un test ping 
    ·Tipi di attributi di MySQL 
    ·Come leggere le variabili da file di testo a VBScript 
    ·Come scrivere una funzione JavaScript che calcola una t…
    ·Come convertire una stringa in Boolean 
    ·Come leggere un file riga alla volta in C 
    ·Come Non Log In XP con una password 
    ·Errori Unicode in Python 
    Copyright © Conoscenza Informatica http://it.wingwit.com