Novità

Corso di programmazione ALTERNATIVO a Pagamento

  • Creatore Discussione Creatore Discussione Roby
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.
Luigi Ti ringrazio molto per le correzzioni ed il voto

anche se
diciciamo che sono stato un po superficiale o frettoloso in particolare al punto 3 (non avevo capito "bisognava esplicitamente fare cosi" ed ho approfittato scrivendo e testando ripromettondomi di correggere dopo. ed anche il punto 2 lo immagginavo ma non vi ho dato la giusta importanza.
mi impegnerò di piu
grazie
 
bhe i miei piu che altro sono consigli , non sono un vero professore eh .. ad ogni modo con un po' di pratica sei sicuramente sulla buona strada , un'altra cosa che avevo dimenticato di dirti , usa sempre l'indentazione del codice , in un blocco if non la hai usata, funziona lo stesso ma non prendere cattive abitudini ..ho visto certi listati per lottopiu scritti alla meglio mi sento ... noi dobbiamo imparare bene invece ...
Speriamo che pure qualcun'altro dei tuoi colleghi posti qualche lavoro
svolto ...
Ciao !
 
x luigi
non devi demordere, io e Ele siamo in ritardo.
Io ho avuto problemi con il Pc ed il lavoro, mentre Ele, non lo so, forse sta cercando la radice quadra su una calcolatrice cinese e non ci riesce ancora. a presto


claudio
 
eheh mi sa pure a me ..nel frattempo sta in sospeso pure il corso cosi aspettiamo i ritardatari :-)
 
x Luigi e Drop
Fate meno gli spiritosi che siamo a lavoro per far si che il tutto funzioni :D:D:D e si prosegua...
Caro Luigi, nel far funzionare la calcolatrice mi ero accorto che accodava i numeri dopo l'uguale e che bisognava cancellare con CE o C e quindi occorreva svuotare il display :):), avevo già previsto di darti un - - per questo errore sulla 5a lezione:D:D

x Ele e gli altri "muvit.v - Muvit.v" come diceva Fiorello [?][?]

claudio
 
X Luigi
Ho fatto la radice quadra, però mi da il risultato dopo che schiaccio il tasto 2 volte, oppure se schiaccio la radrice in presenza di una vecchia operazione.
Se antepongo il C o il CE alla radice, mi da il risultato al 2° colpo, invece se continuo a fare la radice mi da subito il risultato.

Devo ripassare per cui ritorno al VBA
 
X claudio
Usa il dubug e vedi dove è l'errore (cioè i passaggi che fa) ... ma sicuramente hai cercato la scorciatoia prendendo il sentiero...;) Luigi ha detto che la rad. quad. è assimilabbile (come concetto)alle altre operazioni... non uguale.
Mi permetto di dare con ,spero il beneplacido di Luigi , un consiglio
La radice quadrata non può essere semplicemente aggiunta agli altri segni di operazione , in quanto andrebbe come potete vedere dal dubug in conflitto (diciamo cosi) con "operazione in sospeso".
anche se a prima vista non sembra c'è un'altra strada che alla fine risulta piu veloce richiedendo meno codice.
Ho immagginato che questo sia lo scoglio piu difficile ed il motivo per cui ancora non pubblicate :D da qui il mio post precedente[:I]

Scusa luigi non per voler fare il saccente (e purtroppo non so neanche spiegare cio che so)... ma sono impaziente di continuare.. anche se ti vedo che te la ridi avvolto nella nuvoletta

P.s. Spero di aver indirizzato il ragionamento nella giusta direzione senza suggerire e rovinare il divertimento di Luigi altrimenti mi tocchera la sua punizione... sappiate però che questo cambio di passo lo a ragionato e fatto apposta ... è un valido insegnante dopo
 
x luca0202

Case "sqr"
curRisultatoTemp = gCurRisultato sqr (curNumeroDisplay)
oppure:
curRisultatoTemp = sqr (curNumeroDisplay)
che però, spero non ti porti al mio risultato...

X DROP non è la scorciatoia che mi ha portato fuori bensì il fatto di non aver capito la lettura dello schema (la strada maestra).:D:D
 
Claudio usa il debugger con F5 (passo Passo) vedendo cosa fa ti fai un tuo schema piu chiaro per te. la traduzione del pensiero in passi per il pc è assai difficile. e poi guardare bene cosa contengono le variabili nelle dichiarazioni.
 
ragazzi riflettete bene , e prima di tutto guardate come funge la calc di windows , la radice quadrata viene svolta sul numero presente sul display e non svolge nessuna op in sospeso anche se questa dovesse esserci.
Provate con la calc di windows vedrete che fa proprio cosi.
quindi il flusso è questo

alla preassione del tasto sqr faccio la sqr del numero presente sul display e mostro subito il risultato , dovro ora impostare il giusto valore su alcune variabili che servono a garantire il corretto flusso del programma.
Non vi preoccupate ... vi do dutto il tempo che vi serve.

per Drop , visto che per ora sei l'allievo piu promettente ti do un altro compitino ..ehehhe prova ad inserire nella calc una label nella quale mostri una M se c'è qualcosa di memorizzato (esattamente come fa la calc di win) e poi inserisci pure il tasto MC ...

Ciao a tutti !
 
caro Drop tu sei la mia soddisfazione :-)
Un piccolo errore logico pero c'è , non devi consentire di richiamare la memoria se la memoria non c'è ,infatti mi è capitato di fare 3 * 2 = 6 poi premendo MR il display ha cambiato da 6 a 0 , puoi testare il contenuto della label che contien la M per sapere se alla pressioen del tasto MR deve succedere qualcosa oppure no.
Fammi un favore , aggiungi un post dove spieghi a parole come hai ragionato per implementare le funzioni di sqr , M , MR e se vuoi pure ste ultime 2.
Magari è utile agli altri come spunto.
Ciao !
 
ummm hai ragione l'ho dimenticato e pensare che l'ho fatto per "M" mi sono incartato con il time ( non ho trovato il controllo per la frequenza di aggiornamento ) e mi rimaneva fisso dopo l'inizializzazione... cose di poco conto cmq XD.

ora viene il difficile sono negato per spiegare le cose ... ora ragiono e poi edito.
---------------------------------------------------------
Allora io ho seguito questo ragionamento

1) il codice corpo del prograsmma è già scritto quindi mi debbo basare su quello
2) le varibili sono gia inserite ed inizializzate ed ulteriore facilitazione tutto spiegato e commentato
3) lo scoglio piu difficile è la radice perche ... bisogna trovare il punto di entrata nel codice ... e decidere se è corretto come viene subito da pensare che sia un operaziane come le altre e quindi assimilabile ed aggiungibile a quelle gia presenti, quindi ho guardato l' immagine dell'algoritmo
ed ho avuto la conferma
4) sicuramente la radice è un operazione e quindi
Inizio --> digito un tasto(1°num) ---> Domanda: è un numero? R :si ok proseguo fino a memorizzo numero e fine (tutto bene)
RiInizio --> digito un tasto (rad) ---> Domanda : è un operazione? R: si. ( Bene proseguo) D: è un operazione? ... arrivo a
D: vecchio tasto= operazione? (ummm) R: no (era un numero) quindi scendo a --> D: c'è un operazione in sospeso? R: no ( la sto facendo solo ora)
haiai ecco il problema
Faccio il debug passo passo con F8 ed ho la conferma digitata la radice mi trovo in
/code
ElseIf IsSimboloOperazione(sTasto) Then '' Si valorizza a True giustamente
If IsSimboloOperazione(gstrUltimoTastoDigitato) Then
questa invece è ancora valorizzata a false quindi non entriamo
gstrOpInSospeso = sTasto
code/
questo è un problema il programma per svolgere l'operazione deve avere 1)un numero inserito. 2)un operazione. 3) perche poi si aspetta un altro numero. quindi un operazione in sospeso o premuto il tasto =
-----
citazione by claudio8
X Luigi
Ho fatto la radice quadra, però mi da il risultato dopo che schiaccio il tasto 2 volte, oppure se schiaccio la radrice in presenza di una vecchia operazione.
Se antepongo il C o il CE alla radice, mi da il risultato al 2° colpo, invece se continuo a fare la radice mi da subito il risultato.
---
ecco perche succede questo... invece a noi invece serve che le uniche condizioni verificate siano ...
1) è stato digitato un numero?
2) èstata digitata sqrt?
quindi non posso usare la funzione " IsSimboloOperazione"
come faccio quindi ?
aggiungo un caso a se per "sqrt" come gli altri che rivela se ho premuto "sqrt" punto 2 risolto adesso debbo prendere il num
che avevo digitato e aplicare la sqr (numero) , dove è questo numero? in una variabile naturlmente (quando si fa il debug passando con il mouse sulle variabili si vede anche il valore che contengono e come cambia dopo che sono state evidenziate</u>)
quindi facile trovare quella che contiene il numero che ho sul display.

Daltronde luigi scrive in SvolgiOperaszioneInSospeso()
'l'operazione da svolgere è quella contenuta nella routine
' gstrOpInSospeso ed i numeri sui quali opera sono : 1)il valore
' in memoria , e 2)quello appena digitato e visualizzato nel display

Io non uso la routine ... ma le variabili sono buone per me ? sicuramente almeno 1 si ci passo il mouse su e se c'è il valore(numerico) che ho digitato uso quella.
la copio e la uso per l'operazione
BENE COMPITO SVOLTO
A questo punto i tasti memoria sono uno scherzo debbo mettere in memoria un numero che ho sul display la variabile che lo contiene oramai la conosco
quindi mi serve solo una variabile mia dove immettere quel valore , quindi la dichiaro , gli assegno il valore della variabile
FATTO ANCHE QUESTO
ora con il tasto "rm" debbo solo richiamare la variabile che mi sono dichiarato e valorizzato e visualizzarla nella variabile del disp
 
Spero di essere riuscito a chiarire il concetto ... è tutta questione di logica e pratica io trovo interessante ed ho imparato a pormi il problema in questa maniera.
prendo carta e penna
1) cosa fa questo programma/codice?
2)con il debug quali sono i passaggi che fa quando gli dico di fare una cosa? (me li scrivo)
3) quali sono le condizioni/variabili che verifica per qulla cosa? (me li scrivo)
4) quali sono giuste e quali invece mi bloccano? (me le scrivo)
5) domandona finale Come posso risolvere il problema usando ciò che già c'è, stravolgendolo il meno possibile e digitando meno codice possibile? (leggendo la carta di solito la soluzione viene da se)
di solito ... saltando/aggirando ciò che è inutile o mi blocca ed usando quello che gia fa le cose giuste e contiene i valori utili.

Queto il succo del discorso
Il debug su programmi gia fatti ci fa vedere come HA RAGIONATO il programmatore, e se proviamo a rifarlo, IL PERCHE. cosi si impara a programmare.

Caro luigi spero di esser riuscito a fare ciò che intendevi.
aspettiamo che ci diano un segno/giudizio [xx(]
 
X DROP e Luigi,... cari professori:D:D:D
Scusatemi ma io continuo a trovare difficoltà perchè non riesco a leggere lo scritto che deriva dal disegno.. sul disegno, tra la riga DIGITO UN TASTO E la successiva non occorrerebbe ragionare con un "se" ? Per esempio: se tasto è Virgola-Numero, quindi.. altrimenti... per ciu, praticamente, se non leggo queste istruzioni, non riesco ad andare oltre.
Sto provando a sostituire i termini e le variabili senza i prefissi di identificazione, perchè ho molta difficoltà a concentrarmi sulla procedura, mi salta facilmente la concentrazione nell'incontrare durante la lettura l'insieme di termini abbreviati inglesi e dei relativi valori e funzioni, il tutto cercando di razionalizzare il percorso che salta giustamente da un punto ad un'altro.
Il linguaggio tecnico inglese, non mi è molto cofacente a questa età.
In conclusione, o mi date una mano... in italiano :D:D:D o mi serve ancora tempo per aggirare gli ostacoli.....
tank you very much .


claudio
 
Claudio8
Scusa come ho detto prima ... perche con foglio, penna e dubug facendo F8 non ti fai un tuo schemino? ti scrivi a MODO TUO vedrai che le cose migliorano.
Per i nomi variabili puoi cambiarli ma la sintassi proposta da Luigi è quella standard che troverai sempre, questione solo di abitudine perche non prenderla ora e per sempre?

cmq come la vedi te sarebbero tutte SE ... vedila cosi ... DiGITO UN TASTO è un operazione (ma quale?) E' LA VIRGOLA / E' UN NUMRO tutti casi di operazioni che potresti aver compiuto ... e poi vasutati ad esempio con DIGVIRGOLA=TRUE . ossia avvolte conviene valutare dopo l'azione quale questa è stata.

Spero di esserti stato di aiuto Notte
 
Ciao Claudio pure io ti consiglio di non focalizzarti i nomi delle variabili per due ragioni : la prima quella che ha detto Drop , la seconda è che se gia ti è difficile cosi se cambi i nomi poi non ti corrispondono piu al video e non potrai confrontare facilmente il codice perche prima dovrai ritradurre le variabili.

Dammi retta ... per ora fai cosi ..copia letterlamente il codice del video poi appena vedi che funziona giocaci un po , successivamente parti dalla prima riga di codice ed inizia ad analizzare a mente ciascuna riga chiedendoti a che serve , fai cosi per tutte le linee di codice che hai scritto.
Il punto è entrare nell'ottica del programma
che puo riassumersi cosi :
ci sono un gruppo di variabili globali che servono per gestire il flusso , ad ogni pressione di qualsiasi tasto viene richiamata sempre la stessa sub ProcessaTasto , è al suo interno che vanno gestite le funzionalita dei tasti cliccati.


un saluto !
 
X Luigi e Drop
Ho già cercato di rispondervi ieri ma il collegamento con Lottoced non mi dava l'inserimento nella "login" per cui non vi ho potuto spedire il messaggio.
Ho gia trsformato il listato senza i prefissi e tutto funziona correttamente, questo mi serve a leggere più chiaramente il percorso del programma e spero di riuscire a stamparlo per averlo a disposizione nelle lettura. Vi ringrazio dei suggerimenti, sono ben accetti, ma credo che troppa carne italo-inglese mi faccia male al pancino e quindi vi viene il mal di testa :D:D:D .. a presto.
X Ele. meno male che ti sei fatto sentire, ho pensato che (facciamo le corna) ti fossi annegato nella vasca nuova, quella da 10.000. euro. Saluti alla nipotina ciao. :D:D..

PS: In più da qualche giorno ci sono queste "pupazze" nello spazio pubblicitario di apertura pagina che per noi "non secchioni" fanno un certo effetto distrattivo.. [:X][:X][:X]


claudio
 
Stato
Chiusa ad ulteriori risposte.

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 24 dicembre 2024
    Bari
    26
    50
    16
    58
    61
    Cagliari
    72
    43
    48
    79
    90
    Firenze
    10
    14
    24
    76
    89
    Genova
    17
    86
    39
    15
    48
    Milano
    69
    84
    06
    78
    60
    Napoli
    12
    59
    69
    11
    77
    Palermo
    63
    44
    57
    21
    16
    Roma
    55
    83
    07
    67
    66
    Torino
    31
    59
    43
    76
    06
    Venezia
    02
    84
    10
    50
    88
    Nazionale
    63
    88
    55
    29
    22
    Estrazione Simbolotto
    Venezia
    44
    23
    06
    30
    10
Indietro
Alto