Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-03-2008, 19:36   #1
Matte_487
Senior Member
 
L'Avatar di Matte_487
 
Iscritto dal: Mar 2007
Città: Zena
Messaggi: 1914
Linguaggio C

Ciao a tutti sono uno studente del primo anno di ingegneria e ho tra gli esami quello di informatica 1...il prof ci fa programmare con il linguaggio C usando visual studio! Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
__________________
PC:CM690~Intel COREi7 920 cooled by BlackSun~Corsair HX620~ASUS P6T Deluxe OCPalm~GAINWARD GTX275 cooled by A.C.S.~CORSAIR Dominator 3Gb 1600Mhz~2 x WD 320Gb RE3 + WD Caviar 500Gb + WD MyBook 500Gb~BluRay SONY~Samsung 23" Rose Black~Joypad Xbox 360 wireless~MOBILE:MacBook Pro 2017~iPhone6S~REFLEX:Nikon D3100~CONSOLE: PS4~
Matte_487 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 00:43   #2
xblitz
Senior Member
 
L'Avatar di xblitz
 
Iscritto dal: Mar 2007
Messaggi: 384
Per programmare serve il cervello e non è che ci siano molte dritte da dare... per scrivere buon codice ed evitare sbattimenti inutili invece:

inizializza SEMPRE le variabili specie quando le usi come indice o per navigare nella memoria allocata dinamicamente ()
usa in maniera massiccia i commenti
usa l''indentazione

le solite cose insomma
xblitz è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 12:10   #3
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matte_487 Guarda i messaggi
Ciao a tutti sono uno studente del primo anno di ingegneria e ho tra gli esami quello di informatica 1...il prof ci fa programmare con il linguaggio C usando visual studio! Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
Beh, intanto parti già con il piede giusto, studiando un linguaggio di largo utilizzo nella vita reale ( a me capitò di studiare il Pascal procedurale secco e il QuickBASIC ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 13:56   #4
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Matte_487 Guarda i messaggi
Ciao a tutti sono uno studente del primo anno di ingegneria e ho tra gli esami quello di informatica 1...il prof ci fa programmare con il linguaggio C usando visual studio! Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
dimenticare tutto quello che impari programmando in C
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 13:59   #5
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Beh, intanto parti già con il piede giusto, studiando un linguaggio di largo utilizzo nella vita reale ( a me capitò di studiare il Pascal procedurale secco e il QuickBASIC ).
Bene, parti gia' con il piede sbagliato studiando un lingaggio ormai di nicchia. Per imparare a programmare dovrai dimenticarti tutto quello che impari in C e imparare a programmare. Ringrazia il tuo professore oppure togliti l'esame di torno il prima impossibile.

Nel frattempo impara per conto tuo un linguaggio utile fra:
- Java
- C#
- Python (urgh)
- Ruby

Parte di cio' che imparerai potra' essere riutilizzato durante l'esame di C.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 15:46   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da fek Guarda i messaggi
Bene, parti gia' con il piede sbagliato studiando un lingaggio ormai di nicchia. Per imparare a programmare dovrai dimenticarti tutto quello che impari in C e imparare a programmare. Ringrazia il tuo professore oppure togliti l'esame di torno il prima impossibile.

Nel frattempo impara per conto tuo un linguaggio utile fra:
- Java
- C#
- Python (urgh)
- Ruby

Parte di cio' che imparerai potra' essere riutilizzato durante l'esame di C.
Non ho capito perchè hai risposto a me...
A parte che è un pezzo che i linguaggi me li studio da solo, ma la domanda sull'esame non l'ho fatta io...
Il C sarà anche "di nicchia", ma vogliamo mettere il QuickBasic ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 17:34   #7
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
io ritengo che per un ingegnere informatico sia fondamentale avere buone conoscenze anche di linguaggi non di alto livello: lo scopo didattico del corso è quello di mostrarti TUTTO, da come sono fatti i transistor a come si sviluppa una web app, passando per la progettazione delle singole porte logiche e di reti di esse, per il funzionamento di un processore all'interno di un elaboratore e per la programmazione dello stesso in assembler. il C/C++ rappresenta un ottimo anello di congiunzione tra la macchina e l'algoritmo astratto.
con tali conoscenze gli sbocchi lavorativi non saranno ridotti al solo sviluppo di programmi utente o alla realizzazione di siti web, ma faranno parte di un grosso ventaglio di possibilità, come la scrittura di driver o di sistemi operativi, o la progettazione di controlli automatici.

tornando al linguaggio , ti consiglio di scrivere codice leggibile, pulito e ben indentato; quindi evita l'eccesso di commenti, cerca piuttosto di renderlo autodescrittivo tramite l'uso di identificativi appropriati, costrutti semplici ed altre attenzioni.
dopo un po' di tempo ti accorgerai che ti sarai fatto un tuo "stile"; il metodo per rendersi conto se il proprio stile è più o meno corretto è rileggersi il proprio codice a distanza di tempo (settimane, mesi, anni...), se è difficile da interpretare chiediti cosa lo rende poco chiaro, ed in funzione di ciò cambia stile.
quando avrai un po' più di padronanza del linguaggio cura l'efficienza di quanto scrivi e chiediti sempre se c'è un modo di ottimizzarlo

chiaramente questi consigli saranno buoni anche quando ti dovrai avvicinare ad altri linguaggi più astratti e quindi, in certi casi, più produttivi.

Ultima modifica di Furla : 16-03-2008 alle 17:41.
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 17:40   #8
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
piu che altro il C non lo vedo adattissimo per un primo esame di informatica,io sarei più per java in quel senso,il C lo vedrei per per un esame di algoritmi,il fatto è che spesso la scelta dipende più dal background del docente che da scelte didattiche!
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 19:10   #9
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
invece secondo me è molto più semplice e meno ambiguo di tanti altri linguaggi... l'unica cosa un po' complicata e l'I/O, infatti noi abbiamo cominciato con cin e cout e a circa metà corso (quando avevamo ormai acquisito le nozioni per capirlo) abbiamo visto come sono fatte "dentro".
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 19:24   #10
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
invece secondo me è molto più semplice e meno ambiguo di tanti altri linguaggi
Qualche esempio?

Quote:
noi abbiamo cominciato con cin e cout e a circa metà corso
Ma non si parlava di linguaggio C?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 20:07   #11
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Qualche esempio?
personalmente tra i linguaggi procedurali oltre al c ho sperimentato solo il pascal, molto scomodo, pesante (odiavo begin-end ad ogni blocco, sia quando li dovevo scrivere che quando li dovevo leggere) e troppo rigido... comunque, tra i linguaggi di "non così alto" livello, suppongo che il C sia il migliore perché, dove si rendono necessari linguaggi di questo tipo, è il più usato (forse l'unico che sta ancora saldamente in piedi).

Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Ma non si parlava di linguaggio C?
sì, noi usavamo un compilatore C++ ma scrivevamo codice C in tutto e per tutto, tranne che per l'I/O. poi nella seconda metà del corso abbiamo fatto le classi e la parte "non C" del C++ (chiamiamola OO...), per cui siamo potuti andati a spulciare il funzionamento degli iostream. printf e scanf generano troppa confusione in un principiante (in effetti sono tra le poche cose del c che non apprezzo particolarmente), quindi secondo me è una soluzione didatticamente valida.

Ultima modifica di Furla : 16-03-2008 alle 20:18.
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 21:54   #12
Matte_487
Senior Member
 
L'Avatar di Matte_487
 
Iscritto dal: Mar 2007
Città: Zena
Messaggi: 1914
Io faccio ingegneria biomedica e tra gli esami c'è anche informatica...stiamo facendo linguaggio C, ma il mio problema è passare dalla soluzione degli esercizi "matematicamente" al linguaggio C...non so se mi sono spiegato bene...
__________________
PC:CM690~Intel COREi7 920 cooled by BlackSun~Corsair HX620~ASUS P6T Deluxe OCPalm~GAINWARD GTX275 cooled by A.C.S.~CORSAIR Dominator 3Gb 1600Mhz~2 x WD 320Gb RE3 + WD Caviar 500Gb + WD MyBook 500Gb~BluRay SONY~Samsung 23" Rose Black~Joypad Xbox 360 wireless~MOBILE:MacBook Pro 2017~iPhone6S~REFLEX:Nikon D3100~CONSOLE: PS4~
Matte_487 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2008, 22:34   #13
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Matte_487 Guarda i messaggi
Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
Non me ne volere ma fare una domanda del genere ormai non significa più nulla alle mie orecchie. E' come se io andassi in un monastero shaolin e chiedessi "ehi, sapreste darmi qualche dritta per il mio kung-fu? Vi ho visto spaccare mattoni con le mani e sembra figo!"

In sostanza la risposta è: "dai la cera, togli la cera".
Compra un libro per principianti con un sacco di esercizi e fanne più che puoi. Poi compra un libro di algoritmi e strutture dati e studia. Gli algoritmi sono l'ABC. Poi passa ad altri linguaggi con altri paradigmi (object oriented, funzionali, ecc) e ripeti. Fatto! Continua cosi per i prossimi 20 anni e programmerai discretamente bene.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 09:07   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Matte_487 Guarda i messaggi
Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
Primo consiglio: evita C & derivati (vedi sotto, nel link che posto a Furla )

Secondo: se vuoi IMPARARE a programmare, usa Python (qui http://www.python.it/doc/Howtothink/...l-it/index.htm un'ECCELLENTE guida).
Quote:
Originariamente inviato da Furla Guarda i messaggi
invece secondo me è molto più semplice e meno ambiguo di tanti altri linguaggi...
Non c'è dubbio: http://en.wikipedia.org/wiki/Interna...C_Code_Contest e http://en.wikipedia.org/wiki/Obfuscated_code
Obfuscated code is source code that is very hard to read and understand, often intentionally. Some languages are more prone to obfuscation than others. C, C++ and Perl are most often cited as easily obfuscatable languages. Macro preprocessors are often used to create hard-to-read code by masking the standard language syntax and grammar from the main body of code.

Quote:
Originariamente inviato da Furla Guarda i messaggi
personalmente tra i linguaggi procedurali oltre al c ho sperimentato solo il pascal, molto scomodo, pesante (odiavo begin-end ad ogni blocco, sia quando li dovevo scrivere che quando li dovevo leggere) e troppo rigido...
Permettimi, ma fra Pascal e C quanto a leggibilità del codice non c'è proprio paragone (a favore del primo).

Quanto alla pesantezza nella scrittura di begin/end, ecc., penso tu soffra del famigerato "crampo dello scrivano"...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys

Ultima modifica di cdimauro : 17-03-2008 alle 09:10.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 15:49   #15
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Quanto alla pesantezza nella scrittura di begin/end, ecc., penso tu soffra del famigerato "crampo dello scrivano"...
sì sono giusto un po' pigro

puoi fare programmi illeggibili con qualsiasi linguaggio, ma i confronti li devi fare tra programmi scritti bene.
io penso che una sintassi troppo esplicita e ricca di keywords, come quella del pascal e di altri linguaggi, appesantisca inutilmente la lettura e la comprensione del codice (oltre ad essere faticosa da scrivere )
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 17:50   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Io ho un'opinione diversa: penso che il cervello faccia meno fatica a leggere keyword, come se stesse leggendo delle frasi (in inglese), piuttosto che un'accozzaglia di simboli a cui deve cercare di dare un significato.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 18:43   #17
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Furla Guarda i messaggi
sì sono giusto un po' pigro

puoi fare programmi illeggibili con qualsiasi linguaggio, ma i confronti li devi fare tra programmi scritti bene.
io penso che una sintassi troppo esplicita e ricca di keywords, come quella del pascal e di altri linguaggi, appesantisca inutilmente la lettura e la comprensione del codice (oltre ad essere faticosa da scrivere )

Sono d'accordo con Cesare qui.

Esempio tratto da Diamonds.
Prima:

Codice:
    public void update(int crushCounter)
    {
        if (crushCounter >= 2 && crushCounter > this.crushCounter) 
        {
            if (!isPulsing()) 
            {
                show();
                startPulsation(new SinglePulsation(crushBoxPulsationLength, crushBoxSizeMultiplier));
            }
            this.crushCounter = crushCounter;            
            setTexture(getTexture(crushCounter));
        }

        if (!isHidden()) 
        {
            if (getPulsation() != null)
            {
                if (getPulsation().ended()) 
                {
                    stopPulsation();
                }
            }
            else if (!isOffScreen())
            {
                setPosition(getPosition().getX() + speed, getPosition().getY());
            } else 
            {
                hide();
                this.crushCounter = 1;
            }
        }
    }

Dopo il refactoring:

Codice:
    public void update(int newCrushCounter)
    {
        if (canUpdateCounter(newCrushCounter))
        {
            updateCounter(newCrushCounter);
        }

        if (isHidden())
        {
            return;
        }

        updatePosition();
        updatePulsation();
    }
Codice:
    private void updatePosition()
    {
        if (isPulsing())
        {
            return;
        }

        if (isOffScreen())
        {
            hide();
            resetCounter();
        }
        else
        {
            moveRight(speed);
        }
    }

Piccola nota: in tutto questo refactoring non ho mai lanciato il gioco, mai lanciato il debugger; ho solo lavorato attraverso i test.
Mi infastidiscono un po' le graffe, ma per il resto si legge come se fosse inglese.

Per il ragazzo che sta imparando a programmare: quando il tuo codice assomiglia al "dopo" e non piu' al "prima" sei sulla buona strada.

Ultima modifica di fek : 17-03-2008 alle 18:51.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 19:04   #18
dupa
Senior Member
 
L'Avatar di dupa
 
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
Quote:
Originariamente inviato da Matte_487 Guarda i messaggi
Ciao a tutti sono uno studente del primo anno di ingegneria e ho tra gli esami quello di informatica 1...il prof ci fa programmare con il linguaggio C usando visual studio! Sapete darmi delle dritte per imparare a programmare meglio possibile?? grazie
da programmatore Java, ma soprattutto da ingegnere, ti posso dire che C è il migliore linguaggio per imparare a programmare.
Ovviamente non bisogna "fermarsi" al C. Il C è solo l'inizio, ma è il miglior modo per iniziare.

Questa è la bibbia che ogni programmatore dovrebbe tenere sul comodino:

__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino.
dupa è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 19:15   #19
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da dupa Guarda i messaggi
da programmatore Java, ma soprattutto da ingegnere, ti posso dire che C è il migliore linguaggio per imparare a programmare.
Affermazione dimostrata falsa in lungo e in largo credo in almeno altri venti thread.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 20:09   #20
mindwings
Senior Member
 
L'Avatar di mindwings
 
Iscritto dal: Dec 2005
Messaggi: 1278
Quote:
Originariamente inviato da fek Guarda i messaggi
Affermazione dimostrata falsa in lungo e in largo credo in almeno altri venti thread.
suvvia non esiste *LA* verità
__________________
Non esistono grandi uomini, solo grandi ambizioni , realizzate da qualcuno che si è alzato dalla sedia per realizzarle!
mindwings è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Sono bastate solo 5 ore per insegnare a ...
Fastweb + Vodafone e TIM: un accordo per...
Scaleway apre una nuova cloud region a M...
Il PC non dà accesso al disco C:/...
Attenzione alle app IPTV: nascondono Per...
Controller Xbox in offerta su Amazon: co...
vivo X300 Pro 5G a 1.199€ su Amazon: il ...
"Portraits of Italians": la ca...
Roborock Qrevo Curv 2 Pro crolla di prez...
Uber ha trovato il partner per i robotax...
Sony pronta a dire addio al marchio PSN:...
ARCTIC Senza AI 370: il PC 'sotto la scr...
Corsair 3200D, il mid-tower sotto i 100€...
Esiste un SSD NVMe M.2 2280 da 16 TB, ma...
Speciale LEGO in sconto su Amazon: set d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v