Mappa del sito
Indice degli aggiornamenti  27/10/18
Metti formule tra i preferiti
Contattaci
Segnalaci ad un amico

Formule e argomenti di matematica, fisica e scienze
Albert Einstein: ... la nostra conoscenza, se paragonata alla realta' e' primitiva e infantile. Eppure e' il bene piu' grande che possediamo.
... all our science, measured against reality, is primitive and childlike-and yet it is the most precious thing we have.


Versione stampabile della scheda visualizzata sotto

Seguici in Facebook    Seguici in Pinterest    Seguici in X

Informatica : Code snippets (Strings)

Stringa monocarattere ripetuto N volte

I frammenti di codice (snippets) listati sotto, implementano, nei differenti linguaggi usati, una funzione che restituisce una stringa composta da un carattere specifico ripetuto N volte. Il carattere e il numero N vengono passati come parametri. Alla funzione diamo il nome di 'Replicate'.



Linguaggio: PASCAL

 
Parametri : cha = carattere da ripetere
: qv = quante volte va ripetuto 'cha'
Ritorna : Una stringa composta da 'qv' caratteri 'cha'
Commenti :
: Nella implementazione Borland (c)
: di object-Pascal, usata ad esempio
: come linguaggio in Delphi7, esiste gia'
: una funzione che implementa quanto richiesto:
: StringOfChar(ch:char; len:integer):string;
: Es.:
: s := StringOfChar('0',5); //s = '00000'
:----------------------------------------
: Ecco comunque una implementazione
: in Pascal. Per short e long string
:----------------------------------------

 
{ Versione per long string (capacita' > 255 chars) }
FUNCTION Replicate(cha:char; qv:integer): String;
VAR i:Integer;
sRes:string;
BEGIN
sRes := ''; FOR i:=1 TO qv DO BEGIN
sRes := sRes + cha;
END;
Replicate:=sRes;
END;


{ Versione per short string (capacita' max 255 chars)
e len corrente nel primo byte. }
FUNCTION Replicate(cha:Char; qv:Integer):string;
VAR ss:string;
BEGIN
FillChar(ss[1],qv,cha);
ss[0]:=chr(qv);
replicate:=ss;
END;




Linguaggio: Assembler 80286

 
Parametri : ch = carattere da ripetere
: qc = quante volte va ripetuto 'cha'
Ritorna : Una stringa composta da 'qc' caratteri 'ch'
:
Commenti : Questa versione assembler, e' scritta
: con le convenzioni
: usate nell'object pascal di Borland (c),
: per interfacciare
: codice Pascal con codice Assembler.
: N.B. In piu' presuppone che la stringa
: sia SHORT; max 255 caratteri
: e nel primo byte
: la lunghezza corrente
: della stringa stessa.
:

 
;function Replicate(ch:Char; Qc:Integer):String;
;
RepRes EQU DWORD PTR [BP+10]
RepChar EQU BYTE PTR [BP+8]
RepQc EQU WORD PTR [BP+6]
;
Replicate PROC FAR
;
PUSH BP
MOV BP,SP
PUSH DS
LES DI,RepRes
CLD
MOV AX,RepQc
CMP AX,0
JG REPOK
XOR AL,AL
MOV BYTE PTR ES:[DI],AL
JMP REPOUT
REPOK:
STOSB
MOV CX,AX ; in CX quanti byte
MOV AL,RepChar ; in AL il char da STOrare
PARI: REP STOSB
REPOUT: POP DS
MOV SP,BP
POP BP
RET 4
Replicate ENDP


Linguaggio: C#

 
Parametri : cha = carattere da ripetere
: qv = quante volte va ripetuto 'cha'
Ritorna : Una stringa composta da 'qv' caratteri 'cha'
: Commenti : Ci sono modi piu' furbi e
: piu' veloci per implementare
: il metodo, ad esempio
: usare StringBuilder che e'
: molto piu' veloce.
: Questa implementazione e'
: diciamo 'classica'
: e riportabile con facilita'
: in altri linguaggi.
:
:

 
public string replicate(char cha, int qv)
{
string sRes = ""; // buffer risultato

for (int j = 0; j < qv; j++) sRes += cha;

return (sRes);

}


N.B. Borland e Delphi7, DotNet e Microsoft sono marchi registrati ed appartengono ai leggittimi proprietari.



Made by Formule Development Team








  Metti la scheda negli appunti    Click per visualizzare il blocco appunti Visualizza appunti    Click x svuotare blocco appunti Azzera appunti



UTILITY
FormuLe-MATEMATICALC

TROVA FORMULE

UTILITY
FormuLe-FISICALC


TROVA FORMULE

UTILITY
FormuLe-STATISTICALC

UTILITY
Formule-MATFINCALC

ARGOMENTI
Matematica

Frattali di Mandelbrot
Benoit Mandelbrot e la Geometria Frattale. Introduzione e immagini.

Statistica e giochi

Lotto e superEnalotto
Una sintetica comparazione statistica e finanziaria dei due giochi.

Ultimo aggiornamento - Last update:  27/10/2018
Privacy and cookies
© www.gobnf.com 2008-2024 - Tutto il materiale contenuto nel sito PUO' essere liberamente usato per scopi personali (studio, creazione di relazioni e tesine etc). Non e' consentito qualsiasi altro tipo di utilizzo o riproduzione. - The entire content of this site may be freely used ONLY for personal purposes (study, creation of reports etc.). It is not allowed any other use or reproduction.