mercoledì 27 marzo 2019

Sostituzione di stringhe in C

Ho scritto in C una funzione simile alla String.Replace() di C#: purtroppo la libreria standard del linguaggio C non fornisce tale funzionalità che quindi va implementata in proprio.
Come prototipo ho deciso di utilizzare qualcosa del genere:

int StrReplace(char *str, int maxstr, char *pattern, char *replace);

dove str è la stringa da modificare, maxstr la dimensione allocata per tale stringa, pattern la stringa da ricercare e replace la stringa da utilizzare in sostituzione.
La String.Replace() di C# sostituisce tutte le occorrenze che trova mentre la mia funzione, per semplicità, si limita alla prima occorrenza. Per lavorare come la String.Replace() è possibile sfruttare il valore di ritorno che sarà 1 nel caso di sostituzione avvenuta o 0 se non c'è stata alcuna sostituzione (o <0 in caso di errore), permettendoci quindi di scrivere 

while( StrReplace(...) == 1 ) {};

Qui di seguito presento il codice completo e le spiegazioni.

mercoledì 6 marzo 2019

Potenze ricorsive in GW-BASIC

In questo post riporto un semplice esempio di programma GW-BASIC: si tratta del calcolo del potenza con il metodo delle potenze ricorsive.

Per maggiori informazioni sull'algoritmo potete partire dalla spiegazione che trovate qui.

L'implementazione è iterativa (non ricorsiva) e fa uso del solo costrutto IF (si poteva usare un WHILE/WEND, qui sostituito da un IF+GOTO).


sabato 2 marzo 2019

Python course

Da un vecchio post su Google+, riporto il link ad un sito con vari tutorial su Python: a me è stato molto utile la parte su Tkinter https://www.python-course.eu/