Forum Informatica Libera

Versione completa: ragionare da programmatore
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Ciao a tutti.
Sono solo appassionato di informatica e pongo questa domanda.
Mi acquistai molto tempo fa un libro di C++ però non riusci ad imparare nulla perchè le stringhe erano solo codici: imparai le basi di come è strutturato il C++, ma finita lì.
Successivamente seguii molte videoguide del C++, python, ma tutte le videoguide si basano su concetti di base e non di ragionamento e i codici di C++ mi sembrano solo codici senza che io riesca a capire il loro significato.
Di mio principio non sono mentalmente formato per sapere cosa possa svolgere un esercizio con un linguaggio, in quanto non ho gli studi e formazione di base solida e pratica.
Vi chiedo se abbiate un libro in cui non mi cimenti sul linguaggio, ma che mi plasmi il cervello sul "pezzo" e che mi aiuti ad affrontare la programmazione, allo scopo di pensare ad un progetto che sia fattibile in un linguaggio.
Se penso cosa progettare, all'infuori di quello che vedo e ho esperienza di informatica, non mi viene in mente nulla e non saprei come fare, se non cercare i semplici esempi di programmazione come una calcolatrice, copiando e incollando i codici.
Non so consigliarti libri perché non ne ho mai usati, ho imparato da autodidatta sul mitico Commodore 64 e poi per esigenze di lavoro sono passato al QB, Fortran, VBA ed una volta in pensione al VB6 e VB.net.
Io inizierei a programmare in VBA su Excel partendo da questa guida https://www.excelvba.it/corso/ fatta per principianti, quindi con i concetti principali ed esempi. Il VBA ha il vantaggio di essere semplice, intuitivo e già orientato agli OGGETTI, un buon trampolino di lancio verso i linguaggi più moderni, inoltre non necessita di compilazione quindi il risultato è immediato.
Un'altra buona guida è http://mikevba.altervista.org/
Dipende su che cosa vuoi ragionare, ossia su che piattaforma ti basi (Windows, MacOS, Linux), che tipo di sviluppo vuoi intraprendere (mobile, desktop, iot) e che tipo di aspirazioni hai (sviluppo basic, medio, avanzato, etc).
Risolta la questione vedrai che la scelta del linguaggio viene quasi da sè.

Se vuoi iniziare a entrare nel meccanismo puoi tentare con il mondo degli script di Bash (Bash Scripting) che non è un linguaggio vero e proprio, ma come i loro ha le sue regole e può essere concatenato con i linguaggi veri e propri (Python e Java in primis). Questo richiede però che tu sia un utente Linux, anche se di livello base.
Successivamente poi puoi passare ad un linguaggio vero e proprio come Python e Java, ottimo quello suggerito sopra da Blackstar.
Il linguaggio più semplice per cominciare è Python
Il modo migliore è avere un insegnante umano, segui questo corso, è alla portata di tutti: Corso di Python Videolezioni

Sono le videolezioni del modulo di programmazione Python fatte a Ingegneria Informatica nel 2014, i prerequisiti del corso sono ZERO!
Nel senso che è un corso strutturato e spiegato per persono che non hanno mai messo un dito sulla tastiera per programmare.
Segui le lezioni e soprattutto fai gli esercizi proposti dal professore altrimenti NON impari.
Naturalmente dal 2014 le versioni di Python si sono evolute ma QUELLI sono i principi base di programmazione indipendentemente dal linguaggio usato.

Per la teoria, questo è il sub-modulo separato tenuto nello stesso anno: a parte le cose molto teoriche ti consiglio di guardarlo:
Modelli dell'Informatica
Io non so programmare in un linguaggio specifico e chiedo che mi faceste questo esercizio che mi invento.
Porto solo un progetto che me lo sto inventando, pensando all'automobile e vorrei che mi faceste l'esempio in pratica per capire come voi programmatori sviluppate l'idea e come scegliete le funzionalità del linguaggio nel semplice senza complessità.
Chiedo: un auto deve rallentare al semaforo per prevenzione e se il semaforo è verde, l'auto può passare, mentre se il semaforo è rosso l'auto deve fermarsi.
Se il semaforo è giallo, l'auto deve rallentare la sua velocità per fermarsi, oppure liberare la corsia se fosse sotto il semaforo: in questo caso, voi come la svolgereste l'esercizio ?
Chiedo a voi di svolgermi questa idea del momento: come fate a rendere automatizzato il semaforo, allo scopo che diventi di colore diverso ?
Grazie.
avevi iniziato bene con
Citazione:un auto deve rallentare al semaforo per prevenzione e se il semaforo è verde, l'auto può passare, mentre se il semaforo è rosso l'auto deve fermarsi.
Se il semaforo è giallo, l'auto deve rallentare la sua velocità per fermarsi, oppure liberare la corsia se fosse sotto il semaforo
 poi il finale mi ha spiazzato, è l'auto che si adegua al semaforo o il semaforo che si deve adeguare all'auto ?
Comunque io inizierei da problemi più semplici, per esempio matematici.
(07/11/2020, 00:22)marco91 Ha scritto: [ -> ]Ciao a tutti.
Sono solo appassionato di informatica e pongo questa domanda.
Mi acquistai molto tempo fa un libro di C++ però non riusci ad imparare nulla perchè le stringhe erano solo codici: imparai le basi di come è strutturato il C++, ma finita lì.
Successivamente seguii molte videoguide del C++, python, ma tutte le videoguide si basano su concetti di base e non di ragionamento e i codici di C++ mi sembrano solo codici senza che io riesca a capire il loro significato.
Di mio principio non sono mentalmente formato per sapere cosa possa svolgere un esercizio con un linguaggio, in quanto non ho gli studi e formazione di base solida e pratica.
Vi chiedo se abbiate un libro in cui non mi cimenti sul linguaggio, ma che mi plasmi il cervello sul "pezzo" e che mi aiuti ad affrontare la programmazione, allo scopo di pensare ad un progetto che sia fattibile in un linguaggio.
Se penso cosa progettare, all'infuori di quello che vedo e ho esperienza di informatica, non mi viene in mente nulla e non saprei come fare, se non cercare i semplici esempi di programmazione come una calcolatrice, copiando e incollando i codici.
 
Buongiorno, mi ha incuriosito il tuo post e provo a risponderti da tuo pari avendo avuto anche io in passato lo stesso problema.
Premetto che in questo ambito sono stato quasi sempre autodidatta, per alcuni anni mi sono occupato di assistenza hardware e piccole reti, ma adesso faccio tutt'altro da diverso tempo, pur rimanendo la passione per questo mondo.
Dunque, partecipai anni addietro ad un corso regionale come tecnico di reti, tra i vari moduli formativi, ve n'era uno chiamato 'informatica di base', in cui tra le altre cose si introduceva la programmazione attraverso lo studio degli algoritmi. Ebbi alcune difficoltà non nel comprendere la sintassi del linguaggio che adoperavamo (forse il pascal ) , ma proprio nella stesura della struttura logica, intesa come sequenza di operazioni, che il programma avrebbe dovuto eseguire...
Come mi spiegò un amico perito informatico (io venivo da un liceo) loro studiavano una parte dei fondamenti di informatica chiamata 'analisi', che serve esattamente a fare quello che dici tu, a capire come ragionare sul problema da risolvere e trasformarlo in una sequenza razionale e funzionale di operazioni logiche, l'algoritmo.
Fatto questo puoi usare poi il lunguaggio che preferisci.
Spero di essere stato utile, magari qualche esperto ti potrà suggerire una guida in tal senso.