Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274

    [generico] alfa ^ beta

    ragaz ... ho 1 problema

    per fare alfa ^ beta

    sto qua è lo pseudo - codice

    alfa
    beta
    contatore = 1
    ris = 1

    finchè (contatore <= beta ) {

    ris = ris*alfa
    i = i + 1

    }

    stampa risultato

    -------------------------------


    se non fosse disponibile la moltiplica e potessi usare solo somme e sottrazioni ( visto che sono in assembler )

    come si fa [pseudocodice intendo ] ?


    grazie ciaoooo

  2. #2
    se la moltiplicazione non è altro che una somma ripetuta più volte allora il tutto si traduce in questo :

    for i = 1 to alfa
    ris = ris + numero
    next

    il mio codice non fa altro che sostituire questo :

    ris = ris*alfa

    e non fa altro che ripetere alfa volte la somma.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    in assembly non esiste la molitplicazione? su che architettura sei?
    Ah, ricordati che se la base è 2 puoi fare tutto con gli shift.

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    l'assembler è fatto dal mio prof ( sto studiando infoA ) ed è fatto in java , è 1 assembler semplificato e non ha la moltiplica :\

    cmq ---

    for i = 1 to alfa
    ris = ris + numero
    next

    non riesco a capirlo xè

    se fosse

    alfa ^ beta ---> mettiamo sia 2^3

    sarebbe

    per i = 1 to 2
    ris = ris + NUMERO <-- ( ? KE NUMERO ? beta ? non va bene
    alfa nemmeno )
    next

    in definitiva a meno che non mi mostri 1 esempio in cui funziona , mi pare che l'algoritmo sia errato

    a meno che ... non sia io ubriaco

    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    e così?

    codice:
    int ris = 1;    
    for (int j=1; j <= esp; j++) {
      int temp = 0;
      for (int i=1; i <= base; i++) {
        temp = temp+ris;
      }
      ris = temp;
    }
    più che pseudo-codice, è proprio in java... sono ancora stordito dalle feste, per cui non garantisco.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Sembra funzionare cmq il mio codice non doveva essere usato così come l'ho scritto ma sempre all'interno della tua struttura ( in fatti il mio blocco andava nel tuo cilco inquanto sostituiva solo la tua operazione ris = ris*alfa ) , anche se ho notato che per alcune operazioni funzionava (es 2^2 o 3^3) per altre no.

  7. #7
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    int ris = 1;
    for (int j=1; j <= esp; j++) {
    int temp = 0;
    for (int i=1; i <= base; i++) {
    temp = temp+ris;
    }
    ris = temp;
    }

    con 2 ^3 il ciclo esegue

    il ciclo fa: 2 + 4 + 8 = 14 ----- 2 ^ 3= 8

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non so da dove hai tirato fuori quei numeri...

    codice:
    public class pot {
      
      public static int potenza(int base, int esp) {
        int ris = 1;
        for (int j=1; j <= esp; j++) {
          int temp = 0;
          for (int i=1; i <= base; i++) {
            temp = temp+ris;
          }
          ris = temp;
        }
        return ris;    
      }
    
      public static void main (String[] args) {
        System.out.println("2 elevato a 3 = "+potenza(2,3));
        System.out.println("3 elevato a 2 = "+potenza(3,2));
        System.out.println("3 elevato a 4 = "+potenza(3,4));
      }
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Ho codificato l'algoritmo di Andrea in Asp (VbScript):
    codice:
    Function Pot(base,esp)
    	ris = 1
    	for j = 1 to esp  
    		temp = 0
    		for i = 1 to base 
    			temp = temp + ris
    		next		
    		ris = temp
    	next
    	Pot = ris
    End Function
    response.write Pot(2,3)


    e effettivamente funziona, infatti il risultato restituito dalla sua funzione per 2^3 a me dà 8.
    ho provato anche con altre coppie di numeri è funziona sempre.
    Saluti.

  10. #10
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    lo ho fatto su carta e devo aver sbagliato

    metti in + ke java lo inizio nel prossimo trimestre .. info B

    grazie mille cmq ----

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.