QUICK BASIC

IlaCrazy
CIAO!!! :-D :-D
IN questo momento in informatica stiamo facendo il Quick Basic,però vorrei avere delle informazioni più chiare sulla programmazione e i comandi..
Qualcuno mi sa consigliare un sito chiaro??
Oppure ha del materiale da passarmi??
Grazie tante!! :lol: :lol:

Risposte
IlaCrazy
Uh!Uh!!che poeta!!!!! ;-)
Cmq grazie mille...il giorno della verifica fatale è l'8 maggio..prevedo ke qst settimana ti tormenterò da matti!!
:shock:

se ogni tanto ti va (perifrasi per dirti: HELP ME AGAIN!!!! :twisted: )ti va di scrivermi qualche es da fare su qst cose,io provo e poi te lo posto?!?!
:oops: :oops: :oops:
Ohi,non sentirti obbligato,eh!!!Solo se vuoi!!
:!:

eugenio.amitrano
Esempi su le istruzioni che abbiamo visto in precedenza ?

IlaCrazy
Beh,qualke es...ti posso postare l'elenco di comandi che ci sarà nella verifica??così semmai quando hai un pò di tempo mi chiedi qualche esercizio...

IlaCrazy
Argomenti della verifica di linguaggio BASIC.
Variabili.
• Numeriche
• Interi
• Decimali
• Alfabetiche

Manipolazione stringhe.
• Estrazione sottostringhe
• LEFT$
• RIGTH$
• MID$
• LTRIM$
• RTRIM$
• Ricerca
• INSTR
• UCASE$
• Modifica sottostringhe
• MID$
• Conversione
• STR$
• VAL
• Altre
• SPACE$
• STRING$
• LEN
• ASC
• CHR
• CLS
Comandi strutturati.
• Per eseguire cicli (loop)
• FOR…NEXT
• WHILE…WEND
• Per prendere decisioni
• IF…THEN…ELSE
Comandi di input / output.
• Per leggere dalla tastiera
• INPUT
• INPUT$
• INKEY$
• Per scrivere a video
• PRINT
• PRINT USING
Grafica.
• SCREEN
• PSET
• LINE
• CIRCLE
Suoni.
• BEEP
• SOUND
• PLAY

eugenio.amitrano
Ciao Ila,
fammi pensare come posso renderti la vita difficile.
Hehehehe....

Esercizio 1: (FRASE)
Discutere una frase inserita dall'utente.
Contare il numero di lettere, parole e punteggiatura.

Esercizio 2: (PIANOLA)
Rendere la tastiera del pc una sorta di strumento musicale tipo pianola con le seguenti caratteristiche:
tasto A 100Hz
tasto B 200Hz
...
tasto Z 2600Hz
ogni volta che premo un tasto da A a Z deve emettere un suono di 0,3 secondi della frequenza indicata sopra. con il tasto ESC esce dal programma.

Esercizio 3: (CAOS)
Stampare caualmente circonferenze e linee di vari colori e lunghezze all'interno dello schermo 640x480
finche' non e' premuto il tasto INVIO

Esercizio 4: (CENTRO)
Stampare al centro dello schermo una parola inserita dall'utente.

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

Se ci rifletti bene, non sono molto piu' difficili degli esempi che abbiamo visto in passato, sono solo un po' piu' lunghi.
Comunque non ti lascio sola in questa impresa, chiedimi tutto cio' che ti occorre.

In bocca al lupo,
EugenioA

stellacometa
Eugenio forse non ho capito molto bene il tuo esempio..però..sbaglio oppure anche se viene estratto un numero casuale due volte uguale questo viene comunque memorizzato nel vettore?? Per il confronto avevo provato anche io però non voglio che due elementi uguali vengano memorizzata doppiamente nel vettore..
Me lo spiegheresti meglio?
Ti ringrazio infinitamente!

TomSawyer1
Con VB prova così:


dim V1(10) as integer, i as integer, j as integer, n as integer

Randomize

for i = 1 to 10

Nuovo_Random:
n=rnd*100

for j=1 to i 
if n=v1(j) then GoTo Nuovo_Random
next j

v1(i)=n

next i

IlaCrazy
AHHH!!!Eugenio!!!!!aiutoOOOO!!!
Ci provo,ma preparati ad una strage..o peggio!!!

IlaCrazy
Scusami ancora,ma...avrei STRANAMENTE bisogno di chiederti un aiuto su questi comandi,che ho appena scoperto (nonostante fossero inclusi nella lista delle cose x la verifica!!)...
Sono questi:
INSTR
UCASE$
CHR
PRINT USING
e per ultima SPACE$ anche se magari un'intuizione contorta mi dice che se STRING$ serve per ripetere n volte delle lettere,FORSE SPACE$ crea n volte degli spazi...può essere??
Grazie!!!!!!!!!!!!

eugenio.amitrano
x Ila
Non preoccuparti ho preparato il giubbotto antiproiettili e un manuale per disinnescare le bombe.

x Stllecometa:
infatti, viene prima memorizzato e se risulta doppiato viene rimpiazzato.

Comunque provo lo stesso a commentare l'esempio cheti ho proposto:

'' Con n indico gli elementi del vettore
'' Con min e max l'intervallo dei valori che deve contenere il vettore
CONST n = 10, min = 1, max = 100 

'' Dichiaro il vettore
DIM vett(n) AS INTEGER 
'' diachiaro gli indici che utilizzero' in seguito
DIM i, j AS INTEGER 
'' Ho dimenticato di dichiarare doppiato in precedenza
'' questa variabile mi serve per il controllo se l'elemento e' stato doppiato
DIM doppiato AS INTEGER

'' No comment
RANDOMIZE TIMER 

'' Un vettore di n elementi ha indici da 0 a n-1
'' Eseguo un ciclo per quanti sono gli elementi
FOR i = 0 TO n-1 
   DO 
      '' inizialmente considero l'elemento non doppiato
      doppiato = 0
      '' assegno il numero casuale a vett(i)
      vett(i) = min + (max - min + 1) * RND 
      '' se i vale 0 non entra in questo controllo ed esce dal DO-WHILE ed incrementa
      '' in quanto non occorre confrontarlo perche' ' unico
      '' altrimenti verifica se l'elemento e' gia' stato scelto
      IF i > 0 THEN 
         for j = 0 TO i-1 
            '' confrontandolo con tutti gli elementi gia' assegnati
            '' se trova un elemento uguale la variabile doppiato assume il valore 1
            '' in modo tale da non uscire dal ciclo DO-WHILE e non incrementare i
            '' se i non e' incrementata il valore sara' rimpiazzato e ricontrollato
            IF vett(j) = vett(i) THEN doppiato = 1 
         NEXT j 
      END IF 
   WHILE(doppiato = 1) 
   '' stampa l'elemento assegnato definitivamente
   PRINT "L'elemento"; i+1; "del vettore e'";vett(i) 
NEXT i 


esistono metodi piu' veloci per risolvere l'esercizio.
Pero' ti consiglio di osservare sempre una buona tecnica d'implementazione (utilizzo delle costanti; evitare i goto; indentazione e molta chiarezza).

x Crook
la mia non vuole essere una critica al tuo esempio molto intuitivo ed efficace, mi rendo conto di due cose che oltre ad essere bravo, riesci meglio di me a trasmettere il senso dell'esercizio.

Un saluto,
EugenioA

stellacometa
Ehy grazie Eugenio..ora è molto più chiaro!!! Ora lo provo subito e ti faccio sapere..

@ crook
Crook..il tuo codice mi da questo errore:


eugenio.amitrano
"IlaCrazy":

e per ultima SPACE\$ anche se magari un'intuizione contorta mi dice che se STRING\$ serve per ripetere n volte delle lettere,FORSE SPACE\$ crea n volte degli spazi...può essere??

Hai visto che diventi sempre piu' brava....ma ormai non mi stupisco piu' delle tue brillanti intuizioni.

Ora controllo le altre istruzioni.

A tra pochissimo

P.S.
Prima di scrivere il dollaro "\$" utilizza il backslash "" altrimenti vede il resto della riga come Mathml.

IlaCrazy
GRAZIE!!!...allora a dopo!!!
1 solo giubbotto???ammazza,vai a farti la scorta con me!!!

stellacometa
Eugenio l'ho provato apportando alcuni cambiamente..dagli un'occhiata perchè mi stampa lo stesso i numeri già estratti..Dove sbaglio??

Const n = 90, min = 1, max = 90
Dim vett(n) As Integer
Dim i, j As Integer
Private Sub Command1_Click()
Randomize
For i = 0 To n - 1
doppiato = 0
vett(i) = Int((90 * Rnd) + 1)
If i > 0 Then
For j = 0 To i - 1
If vett(j) = vett(i) Then
doppiato = 1
End If
Next j
End If
Text1.Text = vett(i)
Next i
End Sub

IlaCrazy
Poverino..tra me e te lo stiamo sommergendo di lavoro..prima o poi ci scappa l'attentato...

eugenio.amitrano
xStellacometa:
Credo che devifare queste modifiche poi crook confermera' o correggera':

1) Dim v(10) as Integer
2) For i = 0 To 9
3) For j = 0 To i-1

per l'esempio mio hai mancato il DO-WHILE

x Ila:
altrettanto STRANAMENTE ti rispondo iniziando con UCASE\$

Oltre ad UCASE\$ esiste anche LCASE\$.

UCASE\$ sta per UPPER CASE o meglio STRING TO UPPER e serve per rendere tutti MAIUSCOLI i caratteri di una stringa
analogamente
LCASE\$ sta per LOWER CASE o meglio STRING TO LOWER e serve per rendere tutti minuscoli i caratteri di una stringa

to be continued...

stellacometa
sss..sss Non lo dire a nessuno. Era una cosa segreta l'attentato!! Specialmente ora che vedendo la sua foto vedo che assomiglia molto al prof mio di Info che mi ha lasciato sto benedetto esercizio solo per far passare un'ora ma che non essendo riuscita a farla ora una curiosità pazzesca di venirne a capo!! :-D

Eugeniooooo..pendiamo tutte e due dalle tue labbra!!!

IlaCrazy
inizio già a ringraziarti....
quindi alla fine la sintassi di UCASE\$ penso sia:
ESEMPIO:

DIM name as STRING
name= ciao ciao a tutti..come va!?! (frasi al limite della coglioneria!)
UCASE\$ (name)
END

può esistere una roba simile???

IlaCrazy
"stellacometa2003":
sss..sss Non lo dire a nessuno. Era una cosa segreta l'attentato!! Specialmente ora che vedendo la sua foto vedo che assomiglia molto al prof mio di Info che mi ha lasciato sto benedetto esercizio solo per far passare un'ora ma che non essendo riuscita a farla ora una curiosità pazzesca di venirne a capo!! :-D

Eugeniooooo..pendiamo tutte e due dalle tue labbra!!!


:twisted: :twisted: :twisted: giusto...ssst!!! :twisted: :twisted:

stellacometa
UFFAAAA..ora piango..L'ho capiato paro paro al tuo ma nell'incrementare la i mi dice che fa un ciclo senza for..

Mi sto perdendo!! :-(

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.