Pascal… (La struttura If…Then…Else)

Posted in Guide, Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Codice sorgente
Program password;
Uses Crt;
Var parola:string[40];
begin
clrscr;
writeln(‘Immettere la password: ‘);
readln(parola);
if parola=’Pascal’ Then (*Se parola=Pascal, allora…*)
writeln(‘Bravo!’)
else (*Altrimenti, esegui questo:*)
begin
TextColor(5);
TextBackGround(15);
writeln(‘Sbagliato!’);
end;
readln
end.

Come si vede, il costrutto if…then…else, corrisponde all’italiano se…allora…altrimenti. Serve per far eseguire al programma un ‘controllo’: in questo caso, il programma deve ‘controllare’ se la parola immessa è uguale è ‘Pascal’ ed in quel caso, eseguire un blocco di istruzioni.
Il costrutto If è tipico di tutti i linguaggi di programmazione ed è molto utile: è quasi impossibile trovare un programma senza almeno un If. E’ la struttura di controllo per eccellenza.
In questo caso, dopo if va messa una espressione di comparazione. Le più frequenti sono:
= uguale >= maggiore o uguale <= minore o uguale diverso.
Dopo Then viene un ciclo di istruzioni, che, se composto da una solo funzione, non necessita di un begin…end (ossia la dichiarazione di un blocco di istruzioni). Prima di else, che si può anche tralasciare, non ci vuole mai il punto e virgola. Il ciclo di istruzioni dopo else ha la stessa composizione di quello che succede al Then, ma alla fine è di dovere un ;.
In questo esempio ho usato anche le istruzioni TextColor() e TextBackGround(), che servono, rispettivamente, per cambiare il colore al testo o allo sfondo del testo (5=rosso, 15=bianco).

If nidificati

Codice sorgente
Program password;
Uses Crt;
Var parola:string[40];
begin
clrscr;
writeln(‘Immettere una parola: ‘);
readln(parola);
if parola’Pascal’ Then
if parola=’Ciao’ Then
writeln(‘Ciao pure a te!’)
else
writeln(‘Non saluti?’)
else
begin
TextColor(5);
TextBackGround(15);
writeln(‘Giusto!’);
end;
readln
end.

Piccola osservazione prima di iniziare: il numero indicato fra parentesi quadre accanto alla parola string indica che le variabili stringa dichiarate con quel tipo non possono avere più di 40 caratteri. In genere, si usa questo procedimento per restringere il numero di bytes occupati per un programma, dato una stringa normale contiene fino a 255 caratteri.
Gli if cosiddetti nidificati sono solo delle strutture if dentro alter strutture if. Una struttura iterativa non ha bisogno della dichiarazione di un blocco di istruzioni (begin…end) e mantiene le stesse regole del punto e virgola. Nonostante ciò, non è assolutamente sbagliato scrivere:

Codice sorgente
if parola’Pascal’ Then
begin
if parola=’Ciao’ Then
writeln(‘Ciao pure a te!’)
else
writeln(‘Non saluti?’);
end
else
begin
TextColor(5);
TextBackGround(15);
writeln(‘Giusto!’);
end;

Connettivi logici

Con la struttura if…then…else, eì possibile usare i connettivi logici ‘e’, ‘o inclusivo’ e ‘o esclusivo’. Ogni condizione deve essere racchiusa tra parantesi. Se, per esempio, scriviamo:

Codice sorgente
if (a=b) and (b<c) then
… (*Blocco di istruzioni numero 1*)
else
begin
if (aa) then
… (*Blocco di istruzioni numero 2*)
if (c>a) xor (b=c) Then
… (*Blocco di istruzioni numero 3*)
end;

Il blocco di istruzioni 1 viene eseguito se e solo se a è uguale a b e b è minore di c, ossia quando entrambe le espressioni sono vere.
Il blocco di istruzioni 2 viene eseguito se a è minore di b o c è maggiore di a, ossia quando almeno una delle espressioni è vera.
Il blocco di istruzioni 3 viene eseguito quando una e una soltanto delle espressioni è vera: se entrambe sono vere, il ciclo di istruzioni non viene eseguito.

Altri operatori e connettivi logici

Esistono altri operatori rispetto a quelli visti prima, qui ce n’è un breve elenco:
not : preposto ad un valore booleano o ad un’espressione, restituisce come valore il contrario dell’espressione designata.

Codice sorgente
var t:boolean;

t:=not true; (*t=false*)
if not (a>b) then (*if (ab then*)

if (a>b) and not (b=c) (*if (a>b) and (bc) then*)

shr e shl: sono chiamati shift. Operano, cioè uno spostamento verso destra o verso sinistra di x bit (vedi appendice 1).

2 shr 1 = 4
2 shl 1 = 1
8 shl 2 = 2

Pascal… (Il primo programma)

Posted in Guide, Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Codice sorgente
Program PrimoProgramma;
Uses Crt;
Var a,b,c:integer;

begin
clrscr;
write(‘Inserire un numero intero: ‘);
readln(a);
write(‘Inserire un altro numero intero: ‘);
readln(b);
c:=a+b; (*Somma dei numeri*)
writeln(‘La soma di ‘,a,’ e ‘,b,’ è : ’,c);
readln
end.

Non è difficile, specialmente se si conosce l’inglese, ma vediamo di vedere nel dettaglio cosa significa:

Program PrimoProgramma; : è un’istruzione che serve al compilatore per determinare il tipo di file prodotto dalla compilazione (in questo caso un eseguibile, *.exe). Il nome che viene dopo non ha nessuna importanza, ma ci aiuta solo a ricordare a cosa serve quel programma.

Uses Crt; : la parola riservata Uses, indica al compilatore quale librerie si devono usare per la compilazione. In pratica, una libreria, come suggerisce il nome, è un insieme di metodi, procedure e funzioni che vengono usate per scrivere il programma (come write o read). Per la scrittura di una libreria, vedi oltre. In questo caso, si usa la libreria Crt, essenziale.

Var a,b,c:integer; : la parola riservata Var serve per dichiarare le variabili. Dopo di essa va inserito uno spazio e poi il nome della variabile (va bene qualsiasi nome, senza restrizioni sulla lunghezza; può contenere caratteri, numeri o underscore; non può iniziare con un numero). Dopo il nome della stessa, viene posto un ‘:’ e poi il tipo di dato (in questo caso integer, ma avremmo potuto mettere anche real o word, per esempio). E’ possibile dichiarare più variabili insieme, sempre dello stesso tipo, semplicemente separandole con una virgola.

begin : va sempre messo dopo le variabili (o la dichiarazione di procedure o funzioni, ma vedremo in seguito) ed indica l’inizio del programma (per chi conosca il C, equivarrebbe ad una ‘{’).

clrscr; : pulisce lo schermo da qualsiasi carattere.

write(‘Inserire un numero intero: ‘); : scrive sullo schermo la frase indicata fra gli apici. Quindi, quando avrete bisogno di scrivere qualcosa userete write() o writeln(), mettendo tra le parentesi la frase che volete scrivere, racchiudendola fra apici.

readln(a); : aspetta che l’utente digiti un input da tastiera, seguito da un invio. Tutto ciò che si preme, viene memorizzato nello spazio di memoria indicato dalla variabile a, mediante una semplice pressione del pulsante invio. Quindi, quando vorrete memorizzare un dato da tastiera, utilizzerete read() o readln(), mettendo tra le parentesi il nome di una variabile.
A differenza di read, readln manda il cursore a capo.

c:=a+b; : esegue l’operazione aritmetica di somma fra a e b e assegna alla variabile c il valore risultante. Bisogna notare che l’operatore di assegnamento è ‘:=’. Si possono eseguire tutte le operazioni matematiche:
+ somma * moltiplicazione
- sottrazione mod modulo
/ divisione div divisione intera

(*Somma dei numeri*) : questa non è un istruzione, ma viene definito ‘commento’. E’ esclusivamente facoltativo, non influisce in nessun modo sul programma, serve solo a rendere più chiaro il codice sorgente.

writeln(‘La somma di ‘,a,’ e ‘,b,’ è : ‘,c); : una normale istruzione writeln, ma è da notare che è possibile scrivere a video anche il contenuto delle variabili, semplicemente chiudendo gli apici e racchiudendo fra due virgole il nome della variabile.

readln : ferma il programma in attesa della pressione del pulsante invio (senza ; ).

end. : indica al compilatore che il programma è terminato.

Come avrete certamente notato, dopo ogni istruzione è presente un ‘;’, che serve per separare le stessa l’una dall’altra. Volendo si potrebbero scrivere anche più istruzioni sulla stessa riga.

Fonte: pierotofy.it

Pascal… (Dare istruzioni le procedure e le funzioni)

Posted in Guide, Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Una procedura è un insieme di istruzioni che il computer esegue. Per funzionare può avere dei parametri oppure no. Un esempio di procedura:
Writeln(x,y,z…) : è una procedura che accetta un numero qualsiasi di parametri;
OutText(s:string) : è una procedura che accetta un parametro di tipo stringa;
Nosound : è una procedura che non accetta nessun parametro.

Una funzione è una procedura che restituisce un valore:

Sqrt(x:real):real : è una funzione che accetta un parametro di tipo real e restituisce un valore dello stesso tipo;
Eof(t:text):boolean : è una funzione che acceta un parametro text e restituisce un valore booleano.

Ora, le procedure e le funzioni sono il mezzo mediante il quale viene scritto un programma. Per scrivere messaggi sullo schermo, per leggere un file o per cncellare dei dati, per calcolare la radice quadrata, il logaritmo o il coseno di un numero si useranno delle procedure o delle funzioni.

Fonte: pierotofy.it

Pascal… (La struttura principale di un programma Pascal)

Posted in Guide, Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Intestazione
Un programma scritto in Pascal deve avere delle parti essenziali per il suo funzionamento. Ognuna di queste parti contiene istruzioni particolari. L’intestazione, in particolare è una delle parti più importanti.
Vediamo un esempio dell’intestazione di un programma in Pascal:

Codice sorgente
program MioProgramma;

Allora: la parola program è una parola riservata che indica al compilatore il tipo di file prodotto in output. In particolare indica che una volta compilato, il sorgente dovrà essere un programma eseguibile. La parola ‘MioProgramma’ non è importante, ma ha un fine puramente descrittivo: infatti ha la funzione di ricordare al programmatore di che programma si tratta fornendone il titolo. Benchè non essenziale, dopo ‘program’ deve sempre essere dichiarato il nome del programma.

Codice sorgente
unit MiaUnita;

La parola riservata unit indica al compilatore che il prodotto in output sarà una libreria. Per ulteriori informazioni vedere la parte dedicata alla scrittura delle librerie.

Dichiarazione
In questa parte vengono definite le librerie, le variabili ed eventualmente le procedure e le funzioni.
La libreria essenziale e più usata si chiama crt.

Le variabili sono aree di memoria in cui sono posti valori numerici o di parole (stringhe). Esistono parecchi tipi di dati, qui c’è l’elenco completo dei più conosciuti:
Byte = occupa 1 byte e può assumere valori da 0 a 255;
Shortint = occupa 2 bytes e può assumere valori da -128 a 127;
Word = occupa 2 bytes e può assumere valori da 0 a 65535;
Integer = occupa 2 bytes e può assumere valori da -32768 a 32767;
Longint = occupa 4 bytes e può assumere valori da -2147483648 a 2147483647;
Real = occupa 6 bytes e può assumere valori da -2,9e+39 a 1,7e+38 (11-12 cifre decimali);
Boolean = occupa 1 bit e può assumere due valori, true o false;
Char = occupa 1 byte e può assumere il valore di un carattere;
String = occupa un numero variabile di bytes (minimo 10), che varia a seconda della sua lunghezza. Può contenere sequenze di caratteri (frasi);
Text = serve per modificare i file (assume valori solo tramite la procedura assign).

Un esempio di dichiarazione:
Codice sorgente
uses crt;
var carattere:char;
numero:integer;

La parola riservata uses indica al compilatore quali libreria includere, mentre la prola riservata var indica al compilatore che dopo di essa si comincerà a dichiarare delle variabili, quindi di tenersi pronto per allocare della memoria (ossia disporre un pezzo della memoria RAM per le variabili).

Esecuzione
In questa parte viene definito il programma principale, usando istruzioni ed operazioni particolari.

Fonte: pierotofy.it

Guida Pascal (Introduzione alla programmazione)

Posted in Guide, Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Linguaggio di programmazione
Noi usiamo un linguaggio per comunicare: l’italiano, l’inglese, il francese, il tedesco ecc… Lo sfruttiamo per esprimere i nostri pensieri ad altri esseri umani che lo comprendono, cioè comunichiamo con loro. Il linguaggio di programmazione non è altro che la ‘lingua’ con cui il programmatore comunica con il computer e gli da istruzioni. Come ogni altra lingua, esso dispone di regole per la sintassi, di parole e di potenzialità che altri non possiedono. Vedremo di capire, con uno sguardo d’insieme la sintassi e le regole del linguaggio Pascal.

Termini specifici
Prima di iniziare la guida vera e propria è doveroso dare una piccola descrizione di alcuni termini usati nel suo corso che non tutti magari conoscono:

File: area di memoria contenente dati;

Estensione: è il tipo di file. Infatti un file di testo, non è la stessa cosa di un file musicale. L’estensione è la sigla che li contraddistingue, che di solito è formata da 3 lettere dopo un punto alla fine del nome. Per visualizzare le estensioni dei file, puoi scaricare il software freeware xp-AntiSpy. Spesso, però, quando il computer non riconosce un tipo di file, appare la sua sigla sotto il nome. Per avere sottomano una tabella con le estensioni principali, puoi scaricare da questo sito ‘Guida alle estensioni’, nella sezione Appunti, sottosezione Pascal;

Codice sorgente o sorgente: è il file in cui viene scritto il programma con un linguaggio di programmazione;

Compilatore: è il software che converte le istruzioni contenute nel sorgente, sottoforma di testo, in un programma vero e proprio, un’applicazione in formato eseguibile (*.exe o altre volte anche *.com). Per compilare i tuoi programmi scritti in Pascal avrai bisogno di un compilatore adatto: puoi scarica da questo sito i compilatori Turbo Pascal 7.0 o Bloodshed DevPascal nella sezione Downloads, sottosezione Compilatori;

Parola riservata: di solito le parole riservate vengono evidenziate dal compilatore in modo differente rispetto alle altre. Infatti queste parola sono importanti perchè usate per definire delle istruzioni particolari. Pertanto il loro nome è inutilizzabile come variabile.

Libreria: insieme di metodi, istruzioni, operatori, variabili, costanti, classi, procedure o funczioni raccolte in un solo file, che può essere richiamato da un programma Pascal per usufruire delle operazioni che in esso sono descritte;

Implementazione: implementare una procedura o una funzione vuol dire definirne il corpo, ossia le istruzioni e le operazioni che la compongono e ne definiscono il funzionamento.

Per seguire questo corso
Siccome sarà utile che facciate degli esercizi su di ogni argomento è opportuno che scarichiate un compilatore Pascal. Potete scarice Turbo Pascal 7.0
Qui oppure Bloodshed DevPascal Qui.
Tutti i codici sorgenti descritti in questa guida sono compilati usando un compilatore Turbo Pascal 7.0 e potrebbero essere incompatibili con alcune librerie del Bloodshed DevPascal.

Fonte: pierotofy.it

Turbo Pascal – Download

Posted in Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Scaricate al link qui sotto il programma: Turbo Pascal…. Più in la vi metterò a disposizione delle guide…

Turbo Pascal Download

Turbo Pascal – Introduzione

Posted in Pascal con i tag , on Aprile 12, 2008 by michaelpiccolo

Il Turbo Pascal, prodotto dalla Borland e conosciuto anche come Borland Pascal, era in principio un semplice ed economico compilatore di listati Pascal dotato di una potente IDE per l’ambiente DOS.

Nato con il solo supporto Pascal, derivava dal compilatore Blue Label Pascal originariamente scritto per il sistema operativo NasSys basato sull’impiego di cassette per il microcomputer Nascom nel 1981 da Anders Hejlsberg. La prima riscrittura fu denominata Compass Pascal, e consisteva in un compilatore per il sistema operativo CP/M e poi in seguito Turbo Pascal compiler per DOS e CP/M. Una versione di Turbo Pascal era disponibile per l’Apple Macintosh dal 1986 ma fu abbandonata intorno al 1992.

Quando la prima versione di Turbo Pascal fu lanciata nel 1983, il tipo di IDE utilizzato era relativamente nuovo e fu molto ben accetto dall’utente: l’editor integrato aveva comandi molto simili al diffusissimo WordStar e il compilatore integrato, il nome “Turbo” alludeva alla sua velocità di compilazione, era di ottima qualità, soprattutto in confronto ai prodotti disponibili, di costo senz’altro superiore. Al suo debutto sul mercato americano, il prezzo di vendita del Turbo Pascal era di 49.99 dollari.

Negli anni 1990 è stato utilizzato in diverse università per insegnare i fondamenti di programmazione.

Col passare del tempo si è evoluto in un compilatore più complesso in grado di compilare una versione ampliata dell’originale Pascal.

Tra le migliorie più rilevanti rispetto al linguaggio di Wirth spiccano la gestione di vettori e di matrici.

Nel corso degli anni, la Borland ha migliorato non soltanto l’IDE ma anche il linguaggio di programmazione, infatti a partire dalla versione 5.5 conteneva nuove caratteristiche orientate alla programmazione ad oggetti. L’ultima versione di Turbo Pascal è stata chiamata Borland Pascal 7 e conteneva un’IDE e compilatori per creare eseguibili in DOS, extended DOS e Windows 3.x.

Nel 1995, Borland ha abbandonato il Turbo Pascal e lo ha sostituito con l’ambiente di sviluppo RAD che va sotto il nome di Delphi, che include il linguaggio Object Pascal.

Guida sul Cracking

Posted in Guide con i tag , on Aprile 12, 2008 by michaelpiccolo

Scaricate a questo link una delle migliori guide sul CRACKING!!!

DOWNLOAD

L’Internet superveloce

Posted in Internet con i tag on Aprile 12, 2008 by michaelpiccolo

Che ne direste se Internet diventasse 10.000 volte più veloce di quella attuale? Ebbene, non si tratta di fantasia, ma di un reale progetto denominato LHC Computing Grid (LCG), in via di sviluppo presso il CERN di Ginevra. Lo stesso istituto che ha visto nascere il Web grazie a Tim Berners-Lee.
Ma ora la nuova sfida é la velocità delle informazioni. Si vuole creare una nuova rete che sia 10.000 volte più veloce di quella attuale. Per far questo si useranno le fibre ottiche connettendo circa 55 mila server in tutto il mondo che diventeranno prestissimo 200 mila.

La Grid é una rete telematica dotata di prestazioni molto superiori a quelle del web. Quest’ultimo infatti consente essenzialmente solo di scambiare in rete testi, immagini o filmati già esistenti. La Grid invece, permetterà di condividere grandi risorse di calcolo e di accedere a banche dati di ogni tipo e di dimensioni ingenti, consentendo così anche di creare e rendere continuamente disponibili nuovi prodotti e nuove conoscenze.

Al momento la rete é sfruttata a fini scientifici, ma se verrà messa a disposizione di tutti gli utenti assisteremo ad una nuova era Internet.

Nokia, nuovi telefoni per i mercati emergenti

Posted in Telefonia con i tag , on Aprile 12, 2008 by michaelpiccolo

Nokia ha presentato quattro nuovi modelli di telefoni cellulari a basso costo indirizzati prevalentemente ai mercati emergenti, pur senza dimenticare di incentivare la sostituzione dei vecchi apparecchi con l'inclusione di intriganti funzioni multimediali.

I mercati emergenti rappresentati da Asia e Africa si confermano ancora una volta fonte preziosa di guadagni per Nokia, la quale ha presentato alcuni modelli di cellulari pensati prevalentemente per tale segmento di mercato allo scopo di controbattere le offerte di Motorola e Samsung. Gli apparecchi, dal costo compreso tra i 50 e i 90 euro, sono attesi per il secondo/terzo trimestre 2008.

I mercati emergenti rappresentano oramai da tempo una solida base per le vendite nel campo della telefonia mobile, soprattutto per quanto riguarda i “first buyers”, ovvero coloro i quali acquistano per la prima volta tale tipologia di apparecchi. Il 2008 secondo alcune previsioni segnerà l’inizio di una nuova tendenza, con un notevole e costante aumento di persone alla ricerca di un telefono in grado di rimpiazzare l’attuale, si esso un semplice sostituto o un modello più nuovo e avanzato. La Global System for Mobile Communication Association stima 330 milioni di persone dotate di telefono cellulare in Africa entro la fine del 2008 contro gli attuali 270 milioni.

In accordo con quanto dichiarato da Dorothy Ooko, la compagnia di comunicazione per l’Africa, il nuovo Nokia 5000 offrirà suonerie MP3, fotocamera digitale da 1,3 megapixel, display QVGA , supporto per email, connettività Bluetooth e GPRS, e radio FM mentre il Nokia 2680 offrirà numerose funzionalità legate all’intrattenimento. Il modello Nokia 1680 Classic disporrà di una fotocamera in grado di registrare sia immagini che video, mentre il Nokia 7070 sarà indirizzato a coloro i quali desiderano esprimere la loro personalità attraverso il loro compagno mobile, includendo temi, wallpaper e suonerie mp3. Il prezzo del Nokia 5000 si attesterà sui 90 euro mentre il 2680 sarà posto in vendita a 75 euro. Il Nokia 7070 avrà invece un prezzo di circa 50 euro.