mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.pascal
Titolo: "set of...."

qualcuno ha qualche idea su come implmentare in C/C++ il tipo "set of" di
Pascal?????
Se potete, rispondetemi via email, oltre che sul ng. Grazie
--
===========================
Carlo Fabris
standard mail: 
cle...@iol.it
alternate mail: 
carlo....@iol.it
ICQ: #31974405
phone: 
+39-329-2251004
===========================

Pascal?????
In C non si puo' fare, mentre in C++ si' (tramite i template), ma per
maggiori informazioni chiedi su it.comp.lang.c++.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

Pascal?????
In C non si puo' fare, mentre in C++ si', tramite i template, ma per


 Se potete, rispondetemi via email, oltre che sul ng. Grazie
In e-mail e su TRE ng in cross-post...?  Boh... avrai proprio
una fretta indiavolata...?-)
C++ ti offre varie possibilita`, come std::vector<bool> (che
normalmente e` ottimizzato come specializzazione, e quindi
diventa equivalente alla tipica implementazione Pascal di
set-of), il template std::set<T> (piu` generale, e quindi meno
ottimizzato), e vari modi di riprodurre tu stesso le loro
funzioni.
Tutto questo non si applica al C, dove la cosa piu` semplice
e` senza dubbio usare gli operatori di shift e booleani per
implementare le funzionalita` del set come bit-vector (con
limiti analoghi a quelli del set-of Pascal, tipo, non piu` di 256
elementi nel tipo-base del set).  Ad esempio, fissando il
numero di elementi del tipo-base a _esattamente_ 256 (i
numeri, o unsigned char, da 0 a 255), e usando le macro
di preprocessore per ragioni di velocita`, ecco myset.h:
typedef unsigned char[32] myset;
// svuota un myset
#define ms_empty(ms) memset(ms, 0, sizeof(ms))
// due macro per uso interno
#define _ms_index(i) (31 & (((unsigned)i)>>3))
#define _ms_mask(i) (1<<((i)&7))
// le tre macro-chiave (aggiunta, rimozione, test di appartenenza)
#define ms_addelem(ms,i) ((ms)[_ms_index(i)] |= _ms_mask(i))
#define ms_remelem(ms,i) ((ms)[_ms_index(i)] &= ~_ms_mask(i))
#define ms_haselem(ms,i) ((ms)[_ms_index(i)] & _ms_mask(i))
// una macro di utility
#define ms_foreach(ms,i) for((i)=0; (i)<256; ++(i)) if(ms_haselem(ms,i))
Ed ecco un tipico esempio-giocattolo d'uso -- emette su
standard output tutte e sole le lettere presenti su standard
input:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "myset.h"
int main()
{
    int c;
    myset ms;
    ms_empty(ms);
    while( (c=getchar()) != EOF)
        if(isalpha(c))
            ms_addelem(ms, c);
    foreach(ms,c)
        putchar(c);
    putchar('\n');
    return 0;
}
Alex

 maggiori informazioni chiedi su it.comp.lang.c++.
Informazione gratuita: *siamo* su it.comp.lang.c++

you wrote:


veramente siamo su 3 ng diversi !!! osserva il crosspost !


Grazie a tutti quelli che mi hanno dato una mano!
Spero solo di non aver ifranto regole di netiquette, inviando il messaggio
contemporaneamente a tre ng!!!

Newsgroup: it.comp.lang.pascal
Titolo: File tpu

Ciao a tutti,
vorrei creare un file tpu, ma non so da dove cominciare...
sapete indicarmi qualche sito che tratta quest'argomento?
Grazie.


wrote:

Guarda nel help come creare una unit.... è facile... basta dichiarare
una Interface (Cioè una parte publica) e una Implementation (cioè
limplementazione della parte publica ma contiene anche la parte
privata)....
in pratica
Unit Nome;
Interface
  Function Max(A, B) : Integer;
  Function Min(A, B) : Integer;
Implementation
 
  Function Max(A, B) : Integer;
  Begin
    If A > B
      Then Max:= A
      Else Max:= B;
  End;
  Function Min(A, B) : Integer;
  Begin
    If A < B
      Then Min:= A
      Else Min:= B;
  End;
End.
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596

Grazie.

Newsgroup: it.comp.lang.pascal
Titolo: [UD] Cerco Turbo Pascal ORIGINALE

Come da oggetto, possibilmente con manuali.
La licenza d'uso é esseniale.
No versioni studenti.
Possibilmente per Windows NT o 95, valuto anche altro.
Io abito a Codroipo (UD)
Prezzo inclusa spedizione o recapito.
Grazie molte per l'attenzione
Saluti
Enos
RISPONDERE IN EMAIL A QUESTO INDIRIZZO: 
enos_7ap...@tin.it
NB: PRIMA DI RISPONDERE, TOGLIERE L'APPENDICE.
... che umorismo del cavolo ...





 ha scritto nel messaggio
news:8b22dk$jbg$1...@nslave2.tin.it...


http://www.consist.it
Hanno tp7 a 199.000 paghi anche on cartadicredito


 Prezzo inclusa spedizione o recapito.
Visto che è fuori commercio da un bel po', penso che l'unica possibilità
sia di mandare un'e-mail a borland(imprise), magari te ne forniscono una
copia, altrimenti c'è l'ottimo e più evoluto, freepascal
(
www.freepascal.org
).
Ciao,
	Lorenzo
Newsgroup: it.comp.lang.pascal
Titolo: gpl

ho ricevuto da poco una versione di gpl rigorosamente craccata!! ma
purtoppo non  riesco a farlo partire perche non riesce a caricare i
percorsi. Qualcuno può aiutarmi???
--------------------------------
Inviato via 
http://usenet.iol.it


gli unici gpl che conosco sono il gas delle auto e la General Public
License... c'entra qualcosa con uno dei due???
neon...
/
| Siamo macchie di olio pensanti,
| trasportate lungo corridoi d'ombra.
\

Hihihhi :)
Ph.


Newsgroup: it.comp.lang.pascal
Titolo: Olimpiadi di informatica

Qualcuno mi saprebbe dire dove posso trovare i problemi delle olimpiadi di
informatica degli anni passati (fase nazionale) in linguaggio Pascal?
Grazie ... CIAO

www.olimpiadi-informatica.it
Gira in edizioni precedenti!!!
-- 
Sito delle olimpiadi della matematica:
http://olimpiadi.ing.unipi.it
Il mio sito:
http://it.geocities.com/songokussj3_ssj4
Per aiutare la ricerca contro le malattie grazie al vostro computer:
www.grid.org
http://www.stanford.edu/group/pandegroup/folding/
sito interessante di informatica:
www.lithium.it

Newsgroup: it.comp.lang.pascal
Titolo: Richiesta di aiuto per programma PASCAL

sono uno studente di prima liceo e  vorei una mano per  fare questo
programma in PASCAL:
Scrivi un programma in LP e successivamnete in TP che generi e stampi i
prima 50 numeri pari.
--
Automatic posted from [194.243.109.99]
via Mailgate Server - 
http://www.mailgate.org

 prima 50 numeri pari.
program pari;
var i : integer;
begin
	i:=2;
	while i<=50 do begin
		if i mod 2 = 0 then
			writeln i; i:=i+1;
		else
			i:=i+1;
	end;
	writeln ('Evander is magic');
	readln;
end.
Dovrebbe funzionare. Forse č un po'lento.
Evander
ma...@zuzzurello.com

leggi la risposta di Evander ... il programma va bene, ma la condizione
dev'essere:
while i<=100 do
infatti tu devi stampare i primi 50 numeri pari .. cioe' quelli compresi
tra 2 e 100
ciao
Fabio


----------
ATTENZIONE! rimuovere NOSPAM per rispondere in e-mail
WARNING! remove NOSPAM to answer by e-mail
-------------

prima 50 numeri pari.
Non so in LP, ma in TP e' semplice: 
Program Pari;
var i:byte;
begin
for i:=1 to 50 do writeln(2*i);
end.
Ciao!
Andrea C (uno dei tanti)
-----------
ATTENZIONE! Rimuovere NOSPAM dall'indirizzo email
(serve per evitare pubblicita' indesiderata)!

Un dě
Fabio scrisse per queste lande digitali:

Hai perfettamente ragione, non avevo fatto attenzione a questo
particolare.
Grazie.
Evander
ma...@zuzzurello.com



Newsgroup: it.comp.lang.pascal
Titolo: Ripetizione istruzioni





ciao a tutti..io ho questo problema..nel mio 
programma sono
giunto ad un punto in cui c'e' un CASE nel quale vi e' 
la 
possibilita' di scegliere tra varie operazioni..tra
queste vi e' un "goto 
start" dove start e' una label 
dichiarata all'inizio..cosi':


 


Program cicciopasticcio;
label start
var 
scelta : char;
begin
...
repeat
....
until scelta>='0' and 
scelta<='2'
case SCELTA of
  '0' : goto start;
  '1' : 
;
  '2' : ;
 end;


 


il problema qual e' ?..che giunti al menu' dove 
devo scegliere, se
premo 0 anzike' ricominciare il programma dalla 
label
mi dice INVALID CODE ADDRESS....perche'?!?!?!?!?!?..ad un mio 
amico
funziona..xche' a me no?..



until scelta>=3D'0' and scelta<=3D'2'






no...uso l'IRIE 
PASCAL....

Newsgroup: it.comp.lang.pascal
Titolo: C'è nessunoooooo

E' un mese che nessuno scrive niente.
Se avete bisogno di aiuto, non esitate a chiedere, e cercherņ entro il 
limite delle mie possibilitą, ad aiutarvi.
Il Pascal viene sottovalutato, offre molte applicazioni e possibilitą.
Scrivete. 

 Il Pascal viene sottovalutato, offre molte applicazioni e possibilità.
Il pascal è un linguaggio stupendo, purtroppo con la successiva 
evoluzione di delphi, l'impatto con altri linguaggi di programmazione 
più potenti o comunque con sintassi più semplici (vedi il c che ha 
pochissime keywords), la programmazione ad oggetti e comunque 
l'evoluzione "informatica", hanno eclissato questo linguaggio...e tutto 
ciò che lo circonda, come anche questo niuggi
Spero che comunque negli istituti tecnici usino ancora il pascal per 
insegnare la programmazione, anche perchè è nato per questo.
-- 
______________________________
  Omega
 
http://gnammo.altervista.org
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 

 
Il pascal è un linguaggio stupendo perché si puo' fare di tutto. Anche 
un sistema operativo volendo. Il problema e che l'informatica ( in 
generale ) si è andata imbastardendo con il Java ( il problema non è 
tando del C/C++ ). Io lo vedo con la mia università ( Ingeneria 
Informatica ) dove insegnado Java... beh la gente che esce non capisce 
un H di quello che fanno... sono troppo abbituato a disegnare scatole 
nere e a disengare scatole tra di esse. Con il Java un applicativo ( 
anche abbastanza grosso ) lo scrivno ( male ) due ragazzini che hanno 
imparato a programmare l'altro ieri. Mentre il pascal ( o il C o 
qualunque altro linguaggio serio ) si constringeva le persone a più 
lavoro ( non c'erano le migliardi di scatole nere ) ma almeno le persone 
sapevano programmare e anche bene ( vedasi Dreadnaut... chissà se l'ho 
scritto giusto... )
-- 
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net
ICQ   : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com

 ha scritto nel messaggio 
news:47a202ec$0$37205$4faf...@reader3.news.tin.it...

Newsgroup: it.comp.lang.pascal
Titolo: Stampare schedine SuperEnalotto e Totosei

Ciao a tutti,
 sono un modesto programmatore di Pascal, ma proprio non riesco a capire
come se è possibile Stampare schedine SuperEnalotto e Totosei in modalità
grafica in Turbo Pascal.
 Grazie e... alla prossima!
		Luigi Nodari
 
Noda...@promo.it
--
Posted from 
grus.promo.it
 [194.243.49.2]
via Mailgate.ORG Server - 
http://www.mailgate.org


Un sistema semplicissimo e' lanciare graphics dal dos e poi stampare
il video dal programma con il tasto Stamp.
Bye,   Fabio.
fabi...@rocketmail.com

Newsgroup: it.comp.lang.pascal
Titolo: R: Hai un negozio di computer?

 Per informazioni contattami privatamente.

NNTP-Posting-Host: 
a-fi10-45.tin.it
X-Newsreader: THOR 2.5 (Amiga;TCP/IP) *UNREGISTERED*
Magari guardiamo di registrarlo, che ne dici?
Sei di Firenze vedo.....
Forse che forse ti conosco anche.


Newsgroup: it.comp.lang.pascal
Titolo: Procedure!

Ho un piccolo problema...
Devo fare un programma che mi calcoli l'area di una figura geometrica
composta da un rettangolo su cui sono costruiti due triangoli, uno sulla
base maggiore ed uno su una base minore.
Io ho fatto 3 procedure, 1 per ogni figura.
Il programma mi da le tre aree.
Ma ora come faccio a sommare i risultati??
Grazie per l'aiuto!

Ma ora come faccio a sommare i risultati??
memorizzi i risultati delle tre procedure e li sommi in una terza
variabile.,... ho capito male?
--
Rhymes (
rhymes_...@myself.com
)
http://www26.brinkster.com/rhymes
http://bw-crema.blogspot.com


Come facevano gli antichi...
Dichiari una variabile SommaTreAree nella parte GLOBALE del programma.
La azzeri all'inizio e nelle tre procedure scrivi:
SommaTreAree:=SommaTreAree+A1;
SommaTreAree:=SommaTreAree+A2;
SommaTreAree:=SommaTreAree+A3;
Una per ogni procedura ovviamente.
Come fanno i moderni...
Usi funzioni anzichč procedure facendogli restituire un real per ognuna
(Cioč Per Le Tre Aree) e nel programma principale scrivi:
SommaTreAree:=Area1+Area2+Area3;
Dove Area1 Area2 e Area3 sono i nomi delle tre funzioni.
Ok?
Ciao

Esiste anche un altro metodo..Perņ nn so se lo usavano gli antichi o lo
usano i moderni..
Si dichiara una variabile nn GLOBALE e la si passa a tutte le procedure by
reference..Poi,in ogni procedura,si modifica il valore di questa variabile..
Ok??
Ciao
Davide


Si era la terza soluzione... ma mi č venuta in mente gią a messaggio spedito
e poi credo che due soluzioni bastino e avanzino.
ciao

Secondo me la migliore soluzione resta quella di utilizzare le funzioni..Mi
sembra la più 'pulita'..
Ciao
Davide
Newsgroup: it.comp.lang.pascal
Titolo: Scusate veramente

so che sarà stato chiesto migliaia di volte.
ma sareste così gentili da dirmi dove posso scaricare turbo pascal?

 ha scritto nel messaggio
news:FbAl6.34837$k55.7...@news.infostrada.it...



AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!

 ma sareste così gentili da dirmi dove posso scaricare turbo pascal?
prova 
www.crackstore.it
 sezione toolz.
prima era lì.

ma sareste così gentili da dirmi dove posso scaricare turbo pascal?
Borland ha aperto la sezione "Museum" sul suo sito : 
www.borland.com
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

http://community.borland.com
Andrea
ReDiCuori <redicu...@NOSPAMlibero.it> wrote in message
NfNl6.40848$k55.8...@news.infostrada.it...


Newsgroup: it.comp.lang.pascal
Titolo: come si convertisce in .exe

Qualcuno di voi sa dirmi come convertire il file da .pas a .exe
Io non sono capace di farlo

 wrote in message
IXwx4.12199$i%1.13...@news.infostrada.it...


 implora:
| Qualcuno di voi sa dirmi come convertire il file da .pas a .exe
| Io non sono capace di farlo
non devi far altro che compilare il tuo programma.
se usi il TurboPascal, questo e' settato per compilare in memoria, quindi se
vuoi il tuo eseguibile devi prima andare nel menu Compile e selezionare
Destination memory: a questo punto la destinazione switchera' su Destination
disk (se riapri il menu Compile te ne accorgerai!). Se ora compili
(Compile->Make) avrai il tuo bel file exe
--
Ciao, ciao
E-mail: 
pi....@bigfoot.com
        (se 'rispondi al mittente', togli NO_SPAM)
HomePage: 
http://web.tiscalinet.it/pavelo
ICQ #37941259
"Quella sparizione segnava per sempre la
fine dell'Eternità. E il principio dell'Infinito."
   Isaac Asimov

Controlla i verbi prima di scrivere ;))
Comunquen nel menu Compile seleziona Destination Disk e poi compila, e
come per magia nella directory che contienet tuofile.pas apparirņ
tuofile.exe, il mago TP ha colpito ancora...


 | Io non sono capace di farlo

Newsgroup: it.comp.lang.pascal
Titolo: How do I define a DWORD type?

Hi.
I am using Borland Turbo Pascal 7 and I would like to use a DWORD
integer type.
As far as I know, DWORD is only pre-defined in the built-in assembler.
I want to be able to define a 32-bit unsigned integer type. I have
tried the following:
type
   Dword : 0..4294967295;
... but it gives me "Error in integer constant" when I try to compile.
Can anyone help, please?
Thanks beforehand.
Clyde.
Sent via Deja.com 
http://www.deja.com/
Before you buy.




You can't, and beleive me, I tried.  If you are going to do 32-bit math,
then you are SOL.  If you are going to do logical operations, then you
can specifiy the hex equivilent and treat it as such.
Ex.
Var
 value: Longint;
Begin
 value := $FFFFFFFF;  { Twos Comp -1 }
 Value := Value Xor $ED89A31B;
End.
-- 
DR

Can anyone help, please?
TP does not have unsigned double word. You could turn off the error
checking and use the longings. They work at least for addition and
subtraction and probably also for multiplication but not for division.
Of course you would have to handle IO also yourself.
If you handle the data in ASM then it is not that relevant how it was
defined. 
You could also use COMP or any of the FP types but single. 
If course the problem again is that you did not explain why you think
you need it. Every message should start with "I am writing a program
for this and that purpose..." or something like that.
Following routines could be used for unsigned multiplication and division
on a 386+.
Function LWmul(x,y:longint):longint;
  inline(
          $66/$5B/             {POP     EBX}
          $66/$58/             {POP     EAX}
          $66/$F7/$E3/         {MUL     EBX}
          $66/$0F/$A4/$C2/$10  {SHLD    EDX,EAX,10h}
         );
Function LWDiv(x,y:longint):longint;
  inline(
          $66/$5B/             {POP     EBX}
          $66/$58/             {POP     EAX}
          $66/$31/$D2/         {XOR     EDX,EDX}
          $66/$F7/$F3/         {DIV     EBX}
          $66/$0F/$A4/$C2/$10  {SHLD    EDX,EAX,10h}
         );
Function LWMod(x,y:longint):longint;
  inline(
          $66/$5B/             {POP     EBX}
          $66/$58/             {POP     EAX}
          $66/$31/$D2/         {XOR     EDX,EDX}
          $66/$F7/$F3/         {DIV     EBX}
          $66/$89/$D0/         {MOV     EAX,EDX}
          $66/$0F/$A4/$C2/$10  {SHLD    EDX,EAX,10h}
         );
Or you could also use inline ASM, like 
Function LWMod(x,y:longint):longint; assembler;
         asm
         db $66; mov ax,word ptr x
         db $66; xor dx,dx
         db $66; div word ptr y
         db $66; mov ax,dx
         db $66; shr dx,16
         end;
Osmo

Newsgroup: it.comp.lang.pascal
Titolo: XMatteoM

Dove sei, ti devo parlare !!!
Dove sei finito ?
Fatti vivo in mirc o in e-mail.
My e-mail is : 
Bri...@cybergal.com
             oppure
 
dan...@argo-web.it


Newsgroup: it.comp.lang.pascal
Titolo: a ReDiCuori su overflow

l'errore di qui prima ti chiedevo era 'RUNETIME ERROR 202 AT 0000:06DA'
--
PIERLUIGI
email:
Pierlui...@libero.it

l'errore di qui prima ti chiedevo era 'RUNETIME ERROR 202 AT 0000:06DA'
Riapri il programma... rilancialo e prendi l'inderizzo (in questo caso
0000:06DA) e inseriscilo nel form fild error ti portera direttamente
al codice incriminato
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : 
razzi...@usa.net
 (Primary),
 
IlRazz...@netscape.net
 (for Attachent)
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596

Newsgroup: it.comp.lang.pascal
Titolo: Auguri!

Buona Pasqua!!
-- 
E-mail: catanko[at]
email.it
MSN Messenger: catanko[at]
hotmail.com
"THE TRUTH IS OUT THERE"

 Buona Pasqua!!
Anche a te :)
--
=Omega============
Hands On
gnammo.altervista.org
==================

Newsgroup: it.comp.lang.pascal
Titolo: RIPRODURRE I FILE .WAV

Esiste un modo (una funzione) che permetta di riprodurre in pascal (versione
7.0) i file .wav con le casse e non con l'altoparlante del PC?
E di visualizzare immagini .gif?
Grazie a tutti coloro che risponderanno.
DG

DG ha scritto nel messaggio ...

Certo ,
vieni a visitare il mio sito
http://members.xoom.it/lollo_1/
troverai entrambe le due soluzioni !!!
Ciao
lorenzo....@libero.it

Newsgroup: it.comp.lang.pascal
Titolo: come funziona la codifica RLE??

Dovrei fare una procedura di decodifica di un immagine pcx...la quale usa la
codifica RLE ....
Qualcuno sa spiegarmi precisamente come funziona tale codifica?
Grazie
--
ICQ#17330720
IRCNet:KiNg[G]hZ »»» #mp3.ita
s...@gem.it

Qualcuno sa spiegarmi precisamente come funziona tale codifica?
beh, io posso spiegarti come funziona la codifica RLE in generale ma non so se
puo' esserti d'aiuto ! (dato che non ne esiste una sola possibile).
In pratica si tratta di comprimere "stringhe" di byte di una certa lunghezza in
sequenze piu' corte, ma che possano ricondurre alla sequenza originale.
Un esempio banale potrebbe essere la compressione di
AAAAAAAAAAABBBBBBBCCCCCCCCCEEEEE 
in
A11B7C9E5
in cui ad ogni simbolo segue il numero di volte con cui compare.
Andrea, mica uno qualunque...
--------------------------------------------------
"Ho cambiato signature, si vede ?" 
--
Posted from 
itaca.ulysse.it
 [195.223.254.1]
via Mailgate.ORG Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.pascal
Titolo: Messaggi di errore in fase di esecuzione

Facendo eseguire programmi, anche molto semplici, in Turbo Pascal 7, su un
computer su cui è installato Windows98, compare il messaggio di errore 200
(divisione per zero), anche se nei programmi non è presente alcuna
divisione.
Qualcuno mi sa spiegare perché succede questo e come posso fare per
evitarlo.
Grazie

divisione.
Il problema e' legato all'incompatibilita' della funzione delay()
della unit CRT con i nuovi processori (PentiumII ecc...ecc...).
Esistono in rete delle patch per la risoluzione.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

divisione.





Borland (ora Inprise) aveva messo a disposizione una patch....se proprio non
la trovi, fai un salto sul mio sito : 
web.tiscalinet.it/drfalken
Ciao!
Simo.
Newsgroup: it.comp.lang.pascal
Titolo: Perché mi loopa?

Devo scrivere un listato che mi calcoli - col metodo di
bisezione - l'intersezione tra 2 curve f(x) e g(x),
l'una algebrica e l'altra trascendente, il cui dominio è
tutto l'asse reale. L'approssimazione deve essere a meno
di 10^-n, con n introdotto dall'utente. Pongo a sistema
le 2 equazioni
  y=f(x)
  y=g(x)
ed ottengo f(x)=g(x) ==>f(x)-g(x)=0. Devo in sostanza
trovare gli zeri di questa somma di funzioni.
All'atto pratico, scrivo una function y che mi calcoli
l'immagine di f(x)-g(x).
Ora, poiché l'intervallo in cui debbo ricercare gli
eventuali zeri è [-1.7E38,1.7E38], rifacendomi al
teorema dell'esistenza degli zeri, e ricordando che se
considero quali estremi dell'intervallo chiuso 2
variabili indipendenti le cui immagini sono concordi
potrei comunque avere degli zeri all'interno
dell'intervallo stesso -andamento della curva a mo' di
sinusoide-, scrivo quanto segue:
Function radici(a,b:real):double;
var c,c1,result:double;
begin
  if y(a)*y(b)>0
    then
      begin
        repeat
          begin
            c1:=(a+b)/2;
            result:=radici(a,c1);
            result:=radici(c1,b);
          end;
        until  ((b-a)<=(exp(-n*ln(10))))
      end;
  if y(a)*y(b)=0
    then
      if y(a)=0 then writeln('RADICE= ',a:(n+8))
                    else writeln('RADICE= ',b:(n+8));
  if y(a)*y(b)<0 then
     if not ((b-a)<(exp(-n*ln(10))))
       then
         begin
           c:=(a+b)/2;
           if not ((y(a)*y(c))>0)
              then radici:=radici(a,c)
              else radici:=radici(c,b);
         end
       else writeln('RADICE= ',a:(n+8));
end;
Nel richiamare la funzione dal programma principale, non
me ne servirò per calcolare le radci nel senso
x1:=soluzione(-i,i), ma sfrutterò la visualizzazione di
stringhe esplicative e valori numerici già inclusi nella
funzione stessa. Analogo discorso vale per la variabile
result, che mi serve semplicemente per richiamare in
modo ricorsivo la funzione stessa su intervalli in cui
apparentemente non vale il teorema dell'esistenza degli
zeri. Il problema è che proprio in questi intervalli il
programma mi loopa per via del repeat...until, eppure
studiando le varie coppie di curve in input, queste
risultano avere intersezione in più punti, tra cui
proprio in quelli che causano il loop, restringendo
l'intervallo assegnato...
Ringrazio chiunque volesse darmi qualche dritta,
Tonino.

Mi sarebbe utile sapere quali funzioni sono esattamente (dopodiche' vedo
di mandarti il listato).
Ricordo che bisezione, se converge, converge ad una soluzione (cioe' non
le becca tutte!).
Ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.pascal
Titolo: Fileexists non funziona

   end;
Fine sorgente.
-- 
Antispam: togli la "carrucola"
Sito: 
www.tagp.too.it
FAQ di ICGAG: 
www.tagp.faq.too.it
Gruppo: 
http://it.groups.yahoo.com/group/emporioAG

>    esiste:=chk;


Grazie e scusate se non mi sono presentato prima:
Maledetto Windows Millennium! Era colpa sua... la function era giusta!
Grrr! Scusate per lo spreco di banda!
Newsgroup: it.comp.lang.pascal
Titolo: Complicato II

Il seguente codice, all'execuzione genera errore (in una finestrella di
windows c'è scritto di riavviare il pc, nessun interrupt attivo):
program Batch;
{$M 10000, 0, 0}
uses Dos;
var
F :Text;
Ch : string;
begin
Assign(F,'cvd.bat');
Rewrite(F);
writeln(F, 'aaaaaaaaaaaaa');
writeln(F, 'aaaaaaaaaaaaa');
writeln(F, 'aaaaaaaaaaaaa');
writeln(F, 'aaaaaaaaaaaaa');
writeln(F, 'aaaaaaaaaaaaa');
close(f);
SwapVectors;
exec('cvd.bat', '');
SwapVectors;
end.
Le aaa sono solo un esempio, ovviamente :-)
-=Azathoth=-

 
probabilmente Windows si accorge che il prog. e` per DOS, e vuole
riavviarti in modalita` MS-DOS.
Crea un collegamento al programma, cliccaci col dx e seleziona le
proprieta`. In "programma", scegli "Avanzate..." e seleziona "Impedisce
al programma di rilevare Windows".
Dovrebbe funzionare...
bye!
-- 
Emanuele Cesena                  
http://www.penguinpowered.com/~ecesena
ece...@penguinpowered.com
 - Attenzione antispam: ROT13 per rispondermi 
Legge di Panzini:
	L'abitudine di vedere sempre una faccia ha per effetto
	di farla sembrare bella.

 exec('cvd.bat', '');
Cambia questa riga con:
    exec('
command.com
', '/C cvd.bat');

exec('cvd.bat', '');
non puoi eseguire un file batch in questo modo.
il comando exec esegue qualsiasi file come se fosse un eseguibile (exe
o com, in base all'intestazione) senza tenere conto dell'estensione.
quindi:
exec(getenv('comspec'),'tuobat.bat');
attenzione: il 
command.com
 vuole anche  qualche altro parametro che
non ricordo. vedi l'help del command (command /?).
ciao
giuseppe

Newsgroup: it.comp.lang.pascal
Titolo: Semantica:qual'è la soluzione??

Mi sapete dire come si trova la soluzione di un esercizio di questo genere??
Sia (E, --> (freccia)) il sistema di transizione dove
*E è l'insieme delle stringhe sui naturali, dunque E=U per iche appartiene a
N,N elevato alla i (N è l'insieme dei naturali).
--> è definito induttivamente dalle seguenti regole
(1) k x h-->j (se k+h=j)
(2)       e-->e'
     ----------------------
     e x e''-->e' x e''
(3)      e-->e'
   ------------------------
 e'' x e-->e'' x e'
(a) Scrivere tutte le computazioni , dimostrando ogni transizione, dello
stato 12 x 15 x27 x 32
(b) Dimostrare che se e1-->e2-->.......en-->k con k appartenente a N, allore
e1 x 0 -->* k
Più che altro vorrei sapere come si trovano tutte le computazini di uno
stato , quando ho le regole del sistema.
ciao dani

ciao dani
Questo esercizio interessa anche a me.
Se qualcuno č in grado di risolverlo puo' postare la soluzione?
Grazie.
______________________________
e-mail:  
Aur...@hotmail.com
ICQ:     16005054

Scommetto che pure tu fai informatica a Bologna.
Giusto?
CIAOoooo....

Newsgroup: it.comp.lang.pascal
Titolo: Tp 7.0 32 bit

Cosa cambia tra Turbo Pascal 7.0 e Turbo Pascal 7.0 32 bit?
Ciao Marcomix.

 Cosa cambia tra Turbo Pascal 7.0 e Turbo Pascal 7.0 32 bit?
 
 ...che il primo esiste, il secondo no.
 Dove hai letto di una versione a 32bit del tp7?

anche tu qui? quanto e' piccola usenet...
--
davser - 
dav...@libero.it
 - Wapsite:
http://space.tin.it/io/anserro/index.wml
ICQ 19930061

 anche tu qui? quanto e' piccola usenet...
 
 gia`! :-)))

 ha scritto nel messaggio
news:8v8vbp$or5$1...@nslave2.tin.it...


 ha scritto nel messaggio
news:o29S5.405$FV2....@news.infostrada.it...


In tal caso comuqnue non si tratta di turbo pascal a 32bit
turbo pascal è proprietà della borland inprise



tutto meno che TP e comunque anche il freepascal č 32bit

Ehm non sono molto daccordo quando mi dici che Delphi è l'evoluzione a
32 bit del Pascal perchè....non lo è!
Delphi è un RAD che si basa sul linguaggio Object Pascal, non è
un'evoluzione del pascal stesso...
rhymes
rhy...@tiscalinet.it


 >


Newsgroup: it.comp.lang.pascal
Titolo: aiuto per porta parallela

Innanzi tutto: W il PASCAL 
vorrei una comferma da qualcuno sul fatto che la porta parallela del PC
(anche e soprattutto quella normale non epp/ecp) è bidirezionale.
Nel caso di conferma per leggere un valore dalla porta basterebbe....
 valore:= port[porta_LPTx];
oppure:
 
 mod DX, porta_LPTx
 in AL,DX
Inoltre:
Io sapevo che l'integrato parallelo (PPI) può gestire 24 bit di dati
I/O  (quindi nella presa ci sarebbero 24 + 1 di massa = 25 pin come la
presa parallela) e che può essere gestito da quattro registri di
input/output ma in tutta la documentazione che trovato non c'è traccia
del quarto registro, e i primi tre sono spiegati come se fossero già
riprogrammati tramite il quarto!!!! (il quarto infatti serve per
stabilire chi è in input e chi in output...)
chi mi da una mano per favore!!!
grazie
rispondetemi anche alla mia email per favore

, il giorno Tue, 29 Jul 1997
14:08:06 +0200 hai scritto:
#Innanzi tutto: W il PASCAL 
#
#vorrei una comferma da qualcuno sul fatto che la porta parallela del
PC
#(anche e soprattutto quella normale non epp/ecp) è bidirezionale.
#
#Nel caso di conferma per leggere un valore dalla porta basterebbe....
#
# valore:= port[porta_LPTx];
#
Confermo, e' bidirezionale e per mandare in output fai port[...]=x e
per ricevere in input x=port[...], per il resto, sorry non lo so.
Ciao.
REMO FRANCESCHELLI - ITIAV 4a Info.
http://www.geocities.com/SiliconValley/Lakes/7668
(Programmazione in Pascal)
** Concentrazione = Forza **

 in AL,DX
Non ne ho la più pallida idea. Inizio quest'anno a fare Assembly 8086.
A scuola avevamo provato a fare delle comunicazioni tramite parallela
in Pascal (come programma aggiuntivo, quinidi non molto approfondito).
Appena trovo gli appunti te li posso inviare tranquillamente.
Bye Bye!!!
Alessandro Bondi
Studente di ITIS Informatica
u.b...@ra.nettuno.it

> in AL,DX
Si l'istruzione e' giusta tranne che deve essere "mov" e non "mod" eh
eh 
puoi usare l'assembler built-in del TP
Andrea
Newsgroup: it.comp.lang.pascal
Titolo: file

Lavorando con i files di testo mo sono accorto di alcune incongruenze.
Ad esempio, ho notato che dopo EOLN ci sono sempre altri due caratteri (che 
non 
si vedono in un text editor) che sono #13 e #10 e che il compilatore va
a capo effettivamente solo dopo aver letto questi  due caratteri. Inoltre 
durante le lettura di questi caratteri eoln(nome_file)=true.
Faccio un esempio:
{file text1.pas}
{scopo: conta i caratteri contenuti in un file di testo}
program contacaratteri;
var fileinput:text;
    ch       :char;
    i        :integer;
begin
assign(fileinput,'text1.txt');
reset(fileinput);
i:=0;
while not eof(fileinput) do
  begin
  read(fileinput,ch);
  i:=i+1;
  if eoln(fileinput) then{N.B.: se non ci fosse questa istruzione condiz.}             
     readln(fileinput);  {leggerebbe altri 2 caratteri, che non so xchč, }
  end;                   {stanno dopo ogni eoln}
close(fileinput);
writeln('Il numero di caratteri nel file di testo e'' ',i);
end.
il mio compilatore č il turbo pascal 7.
Vorrei sapere se dipende dal mio compilatore o da qualche impostazione 
sbagliata del mio ambiente.grazie a tutti.

 a capo effettivamente solo dopo aver letto questi  due caratteri. Inoltre
quello che ti so dire è che questi due caratteteri che nel codice ascii
hanno la posizione #13 e #10 sono CR (carriage return) ed LF (line feed),
insieme vengono ricosciuti da un text-editor come end-of-line cioè andare a
capo.
ciao
Newsgroup: it.comp.lang.pascal
Titolo: domanda da novellino :P

che differenza c'è tra l'istruzione read e readln relativamente
alla lettura di dati da input ?
il libro che sto studiando sembra usarli in maniera indiscriminata .
grazie :)
claudio

 ha scritto nel messaggio
news:53fe2dba.02091...@posting.google.com...


 ha scritto nel messaggio
news:53fe2dba.02091...@posting.google.com...


Sorry ho sbagliato post
--
L'informatica è un arte
---------------------------------------------------------
 
www.pascallike.too.it
 
http://utenti.lycos.it/pascallike
 il sito sulla programmazione pascal e non solo
---------------------------------------------------------
"ReDiCuori" <redicu...@NOSPAMinwind.it> ha scritto nel messaggio
news:3vrh9.117609$pX1.4...@news2.tin.it...


Prova a eseguire questo programmino:
program Van_der_Graf_Generator;
var blabla:string;
begin
read(blabla);
write('Sono qui -> ',blabla);
readln(blabla);
write('Sono qui -> ',blabla);
end.
-- 
Omega e' omega e basta
ma per le cose buone ci sia sempre posto.

...


Il , claudio typed:

se non sbaglio readln dovrebbe portarti a capo dopo l'acquisizine...
inoltre, so che conviene utilizzare sempre readln per acquisire delle
stringhe, perche' quando noi apriamo un programma, lo chiudiamo e lo
riapriamo, utilizzando read, la stringa viene memorizzata nello stesso punto
in cui e' stata memorizzata con la precedente apertura del programma. se le
stringhe acquisite dopo la riapertura sono piu' corte di quelle acquisite
precedentemente, succede che si sovrappongono a quelle precedenti. per
spiegarmi meglio faccio un esempio
prima acquisizione: CASETTA
seconda acquisizione: CASA
risultato: CASATTA
come noti nella seconda acquisizione viene riportata anche la parte restante
della stringa acquisita precedentemente. spero di non aver detto una
cavolata, anche perche' queste cose le ha dette il mio prof di informatica.
quindi in definitiva per acquisire le stringhe utilizza readln
-- 
Ciao
Gianfranco Marchese
e-mail dgruma@NOPUBBLICITA'
tin.it
 (Da togliere NOPUBBLICITA' se vuoi
rispondermi in privato) sito internet personale:
http://www.turbo-pascal.cjb.net
  Tutto sul Turbo Pascal  1.5

 wrote in message
53fe2dba.02091...@posting.google.com...

Praticamente, con read ti legge la variabile e basta, con readln ti legge la
variabile e và a capo di una riga.
La stessa differenza che passa tra write e writeln.
Ciao,
Alessandro
Newsgroup: it.comp.lang.pascal
Titolo: Dopo il Pascal?

Salve a tutti conosco il pascal più da auto didatta che a livello scolastico
e ora vorrei passare ad un linguaggio più evoluto che supporti pienamente la
OOP...
Sarei propenso a scegliere il C++ ma, come naturale seguito del pascal mi
attira anche il Delphi...
Voi cosa mi consigliate? Accetto qualsiasi suggerimento anche riguardante
altri linguaggi

altri linguaggi
Adesso l'attenzione e' maggiormente rivolta all'AMBIENTE di
programmazione, piu' che al linguaggio. Io utilizzo per lavoro C++
Builder 4.0 e ti posso assicurare che e' davvero potente.
C++ e Delphi (forse ancora piu' potente) sono i linguaggi piu' adatti,
a mio avviso, per la programmazione cosiddetta "seria".
Io ti consiglio di evitare il Visual Basic.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------


io farei ic C++ in Dos perchè è molto simile al Pascal

io farei ic C++ in Dos perchč č molto simile al Pascal
Temo che il DOS sia ormai fuori da ogni considerazione...





 dipende anche che tipo di programmi devi fare
Spesso in alcune aziende vengono usati programmi per DOS,
perchè possono essere più veloci a parità di compuer.
Phones
Newsgroup: it.comp.lang.pascal
Titolo: Cerco programma!!

Ciao ragazzi...potreste aiutarmi? Dove posso trovare il Borland Pascal 7.0 x
windows?? grazie a tutti ciao!

 a écrit dans le message news:
99sosi$7vk$1...@pegasus.tiscalinet.it...


Newsgroup: it.comp.lang.pascal
Titolo: Numero Parametri variabili

Ciao a tutti,
vorrei sapere come fare, se si puo', a definire funzioni/procedure con un
numero variabile di parametri.
Grazie
							Massimo

 
Please let me answer in English, my Italian is too poor.
Pascal standard does not support procedure overloading, but Delphi 4
and FPC (free Pascal compiler) have some capabilities.
With Turbo Pascal a few exceptions are available, like the Init
constructor in dynamic objects and of course the famous Write(...)
procedure. But this are specialties.
http://www.geocities.com/SiliconValley/2926/tpf.html
chapter "compilers" for FPC, GNU and more...
FAQ, articles 1QA has a procedure to use (misuse) the Write
procedure to put the result in a string.
:-) Franz Glaser

Newsgroup: it.comp.lang.pascal
Titolo: Cosa segliere ....

Vorrei imparare un nuovo linguaggio di programmazione, conosco solo RPG,
cosa mi potete consigliare tra Visual Basic 6 e Pascal Delphi ?
Potete consigliarmi qualche corso adeguato?

cosa è RPG?
Il Pascal Delphi non esiste...semmai il Borland Delphi.
Ti consiglio vivamente il Borland Delphi.
rhymes
rhy...@tiscalinet.it


 cosa mi potete consigliare tra Visual Basic 6 e Pascal Delphi ?
Non so cosa sia RPG, ma se hai tempo, voglia e passione dovresti iniziare con il
Pascal, e dopo un po' di esperienza in un linguaggio per Dos, allora datti a
Delphi con il quale inizierai a sviluppare applicativi per Windows, ma
soprattutto entrerai nel mondo della OOP, Programmazione Orientata agli Oggetti,
cosa che reputo abbastanza difficoltoso da intraprendere cosě, su due piedi.
Ciao e spero di essere stato abbastanza esauriente, altrimenti, chiedi ancora!!

Newsgroup: it.comp.lang.pascal
Titolo: Traduzione di un programma in Pascal con uno in Visual Basic

Si può fare?
Se si scannerizzerò il programma che ho in Pascal!
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it


Ah????
Ciao ReDiCuori
--
L'informatica è un arte
---------------------------------------------------------
 
www.pascallike.too.it
 il sito sulla programmazione pascal e non solo
---------------------------------------------------------
Newsgroup: it.comp.lang.pascal
Titolo: Libreria grafica 3D online

http://members.xoom.it/BackTo3D/backto3d.zip
questo è l'indirizzo per scaricare la unit e una demo (per poter vedere
velocemente i risultati.
Per poter usare la demo è necessario:
- copiare la libreria (Lib3D.pas) e la demo (3D.pas)in una cartella vuota;
- inserire nella constante BGIPath il percorso del driver bgi (es c:\tp);
(momentaneamente questa costante si trova nella libreria e non nel prog)
- copilare tutto e far girare la demo.
Inoltre volevo rigraziare Andrea Laforgia per i sui consigli. Volevo
chiedergli anche se aveva ancora qualche idea per il poliedro, allora?
Infine mi scuso per la confusione con cui è scritto il programma, rimedierò
appena posso.
Leo.

chiedergli anche se aveva ancora qualche idea per il poliedro, allora?
Ciao Leo, ci sto ancora pensando.
E' una questione piuttosto incasinata.
Devo vedere se trovo del materiale che ne parli.
Andrea Laforgia

 Devo vedere se trovo del materiale che ne parli.
Si, ok. Cmq grazie per l'aiuto che mi hai dato fin ora. Conosci qualche link
dove poter prendere info al riguardo ( anche che riguardano solo la grafica
3D (la parte tecnica però, quella dei videogame la conosciamo tutti))?
Approposito hai visto la libreria?
So, che come stile è uno schifo, ma che te ne pare?
Già da quando l'ho messa in rete ho trovato un bel po' di errori col debug.
Gli sto dando una sistemata e poi ne mettero online prossimamente.
Ciao,
Leo.

Newsgroup: it.comp.lang.pascal
Titolo: Modem ... ????

Da qualche parte ho scaricato un programma (che allego) per gestire il modem
col TP ma eseguendolo mi da un errore di divisione per zero .... e non ho un
PII :-)
Se qualcuno saprebbe capire dov'è l'errore ne sarei grato.
Non ho nemmeno il recapito di chi l'ha fatto altrimenti scriveri
direttamente a lui....
GRAZIE
__________________________________________________________
E-Mail:
(
rena...@lycosmail.com
)
__________________________________________________________
I.C.Q.: 17079401
_________________________________________________________
Visita il mio sito in perenne costruzione
http://hophop.com/renato
_________________________________________________________
René
:-)

 wrote in message
7hmrd8$au2$2...@nslave1.tin.it...

Newsgroup: it.comp.lang.pascal
Titolo: numeri binari

Salve a tutti! qualcuno sa se esiste una procedura del TP, o comunque come
si fa, per convertire un numero intero (integer) in binario?
Grazie

 ha scritto nel messaggio
news:G0X18.6491$ly.1...@twister1.libero.it...


 ha scritto nel messaggio
news:G0X18.6491$ly.1...@twister1.libero.it...


Newsgroup: it.comp.lang.pascal
Titolo: Arc-coseno e logaritmi decimali

Salve gente.
Chi mi sa dire come posso ottenere
l'arc-coseno di un numero ed i logaritmi
decimali in Pascal (che di serie fornisce
solo arc-tangente e logaritmi neperiani).
Grazie anticipatamente.
Ciao, Carmelo.

solo arc-tangente e logaritmi neperiani).
function ArcCos{ ( InValue : real ) : real };
  { notes: 1) exceeding input range of -1 through +1 will cause
runtime error }
  {        2) only returns principal values }
  {             ( 0 through pi radians ) ( 0 through +180 degrees ) }
  var
    Result : real;
  begin
  if InValue = 0.0 then
    ArcCos := pi / 2.0
  else
    begin
    Result := arctan( sqrt( 1 - InValue * InValue ) / InValue );
    if InValue < 0.0 then
      ArcCos := Result + pi
    else
      ArcCos := Result;
    end;
  end;
function Log10{ ( InNumber : real ) : real };
const LnOf10 = 2.
3025850930
;
  begin
  Log10 := ln( InNumber ) / LnOf10;
  end;
In ArcCos manca il controllo sul valore in ingresso come specificato
nel commento in inglese.
Omega e' omega e basta.

Oddio,
una function per una funzione matematica?
Suggerirei di scrivere ArcCos, etc etc (anche quelle più complesse) in
funzione di seno e coseno.
In un prossimo post, appena trovo le formulette nel mio libro di
trigonometria ve le posto almeno per il caso in questione :-)
Cordialmente, Cooper.

   Log10 := ln( InNumber ) / LnOf10;
You are a wizard!!!!!!!!
Thank you very much indeed. :-)
Carmelo.

Newsgroup: it.comp.lang.pascal
Titolo: Da dove si può scaricare il FreePascal?

Salve a tutti, sono nuovo di questo NG e da poco ho iniziato a programmare
col linguaggio Pascal (uso il TP7). Vorrei sapere se il FreePascal è
disponibile freeware e se sì dove si può scaricare.
Grazie a tutti per l'attenzione e soprattutto a chi mi risponderà!
Ciao

 wrote in message
8eesmf$p61$1...@serv1.albacom.net...


Per tutti coloro che voglio scaricare il freepascal sarà disponibile per un
breve periodo la versione completa (17 mb)
all'indirizzo:
ftp://ftp.ngi.it/files/NGI_Cargo/solidsnake/dosw3209914full.zip
Ciao

Newsgroup: it.comp.lang.pascal
Titolo: propongo la mia candidatura per collaborare alle FAQ.

Ciao ragazzi mi presento , sono Carmageddon1 , č da poco che frequento
questo NG ma mi piacerebbe molto entrare qui attivamente , quindi vi
propongo il mio aiuto per scrivere le FAQ e anche per metterle sulla
rete.
Ciao a tutti.
http://www.programmare.vai.li

 - ICQ#91902715
http://www.matteomoro.com
 [.
cjb.net
]
"...i am immortal, i have inside me
blood of kings..." Šfm

 non so dirti chi sia)
Sono io, solo che a causa di molti impegni sto latitando già da un po' sul
newgroup, limitandomi a lurkare.
Ciao, Gianluca M.



Ciao Gianluca , se posso esserti utile fammi sapere.
Ciao

> Ciao Gianluca , se posso esserti utile fammi sapere.
OK
Newsgroup: it.comp.lang.pascal
Titolo: Problema Funzione

Scusate,ma una funzione può assumere il valore ricorsivo di se stessa?Faccio
un piccolo esempio...
Function bho(a:integer):integer;
    begin
            bho:=bho(a-1);
    end;
Una cosa di questo tipo si può fare?grazie a tutti!
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.311 / Virus Database: 172 - Release Date: 27/12/01


Hai provato a compilare questo codice? che sucede? nulla... lo compila
sensa problema... lo esegue... e bum StackOverfoll (si scrive cosi
boh...) in pratica tu gli dici di chiamare infinite funzioni Boh ma
non dici quando deve finire di chiamarla...
per esempio il fattoriale:
che cosa è il fattoriale di n? è il risultato che viene della
moltiplicazione n*(n-1)*(n-2) .... 1 ora  si noti che 
(n-1)*(n-2) ..... 1 non è altro che il fattoriali di n-1 percui il
fattoriale di n si puo' scrivere come n * fattoriale di n-1
allora facciamo l'analogo della tua funzione...
Function Fattoriale(N : Byte) : LongInt {il fattoriale cresce un
pochino...}
Begin
  { qui andra qualcosa }
     Fattoriale := N * Fattoriale(N-1);
End;
Tutto ok? bene... ma questo come ho detto fa all'infinito finche lo
stack ahi me finisce...
nelle funzioni ricorsive ci sono 2 parti inportanti
 la condizione d'uscita e la regola genreale...
la regola generale è appunto quella che ho scritto...
la condizione d'uscita... pensiamo un po'... quale è l'ultimo termine
della moltiplicazione? 1 (il fattoriale di n è la moltiplicazione dei
nummeri da n a 1) qundi la condizione di uscita e bella che pronta...
n = 1 mettiamo il tutto in zieme....
Function Fattoriale(N : Byte) : LongInt {il fattoriale cresce un
pochino...}
Begin
  If N = 1
    Then Fattoriale ;= N
    Else  Fattoriale := N * Fattoriale(N-1);
End;
si noti che si puo' anche mettere n = 2 visto che 1 e temine nullo
nella moltiplicazione, ma dopo tutto non cambia molto e cosi
rispecchia la definizione
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596

 ha scritto nel messaggio
news:3cc5b1fc...@razziatore.d2g.com...

Grazie 1000 x il tuo aiuto,era solo un mio dubbio!Ciao!


> sensa problema... lo esegue... e bum StackOverfoll (si scrive cosi...)
overflow...
bye Cereal
Newsgroup: it.comp.lang.pascal
Titolo: Operazione con le stringhe

Devo risolvere il seguente problema:
ho una variabile string con dentro una serie di caratteri. Devo tirar fuori
da questa stringa i caratteri compresi tra < e >. Come posso fare?
Grazie a chi mi aiuterą!!!
Pietro Ferrara

Butto giu' le righe un po' a occhio ma dovrebbe funzionare:
stringa1, stringa2: string[200].....
....
stringa2='':
for i:=1 to length(stringa1) do
  if ((stringa1[i]>='<') and (stringa1[i]<='>')) then
stringa2=stinga2+stringa1[i];
Ciao, Massimo.
Pietro Ferrara ha scritto:


da questa stringa i caratteri compresi tra < e >. Come posso fare?
StrTmp:=StringaConSerieDiCaratteri; 
Repeat
  Indice:=Pos('<',StrTmp);
  Indice2:=Pos('>',StrTmp);
  Count:=Indice-Indice2-1;
  SubStr:=Copy(StrTmp,Indice+1,Count);
  Delete(StrTmp,Indice,Count+2);
Until Indice=0;
 
Ciao
Andrea C

Newsgroup: it.comp.lang.pascal
Titolo: [Info] sito www.pascallike.cjb.net

Scusate per questo post ma volevo informarvi che abbiamo aperto un nuovo
sito dedicato a questo NG, 
www.pascallike.cjb.net
 il sito non è ancora al
100% ma è funzionate ed in contunuo aggiornamento, per chi volesse
collaborare come tutor può postare 
pasca...@supereva.it?Subject=Tutor
Grazie
ReDiCuori
------------------------------------------
pascal su IRC : #turbopascal
pascal sul web : 
www.pascallike.cjb.net
------------------------------------------

Ma che vi siete impazziti ? Mi sembra che c'era  un vecchio sito, perchè
diavolo ne avete aperto un altro ?
Io da parte mia avevo rallentato lo svilutto di pascalonline perchè nessuno
si era fatto più sentire, e non mi sembra affatto corretto aprire un nuova
sito senza prima avvertire che si era dato molto da fare per il sito
vecchio.
Inoltre il nuovo sito è veramente pessimo e per fortuna che non vi piacevano
le cose fatte con il flash ... ma andate pure a farvi f.......re. Re di
Cuori, sono veramente adirato, mi riprendo l'aspetto grafico del sito che
avevo realizzato per voi idioti e me ne vado disprezzandovi !!!
Cordiali saluti BriVidO.
"ReDiCuori" <redicu...@NOSPAMlibero.it> ha scritto nel messaggio
news:GjeE6.65780$s93.7...@news.infostrada.it...


Newsgroup: it.comp.lang.pascal
Titolo: Sito interessantissimo: chi vorrebbe aiutarmi a tradurlo?

http://www.latrobe.edu.au/philosophy/phimvt/s00bok.html
PV

 PV

> 
http://www.latrobe.edu.au/philosophy/phimvt/s00bok.html
un lavoro da nulla, eh...
fai prima ad impararti l'inglese....

fai prima ad impararti l'inglese....
I do know English... I had my PET only three weeks ago... but now I'm
too busy to do it all myself!
Bye!
PV, "le Loup-Garou"

Newsgroup: it.comp.lang.pascal
Titolo: librerie

Salve ragazzi,
sapete dove posso trovare un manuale che mi spieghi le funzioni di alcune
librerie.

 librerie.
giobe2000
-- 
Ciao
Gianfranco Marchese
e-mail dgruma@NOPUBBLICITA'
tin.it
 (Da togliere NOPUBBLICITA' se vuoi
rispondermi in privato) sito internet personale:
http://www.turbo-pascal.cjb.net
  Tutto sul Turbo Pascal  1.5