PROBLEMA Programmi in c++

francescocerrato200

Nuovo Utente
98
8
Non credo che se una persona si metta a studiare il c++ per l'intero giorno sia di Natale che della vigilia lo faccia solo per il voto... Potevo anche semplicemente copiarli l'8 di Gennaio in classe..


Inviato dal mio iPhone utilizzando Tapatalk

Certo ho sicuramente molte lacune,ma sto cercando di studiare affinché io non le abbia...



Inviato dal mio iPhone utilizzando Tapatalk
 

francescocerrato200

Nuovo Utente
98
8
Lascia perdere i voti che non vogliono dire assolutamente nulla essendo relativi ed arbitrari, ovvero basta avere standard bassi e dare 10 a chi sa scrivere "int main(){ }" per avere una classe di geni, e paragonarsi agli altri alunni che hanno studiato in quello stesso ambiente con quegli standard bassi può dare soltanto un falso senso di competenza.
Io per esperienza personale avendo studiato il C++ da autodidatta partendo con una semplice playlist di circa 70 video su youtube (da 4-10 min l'uno) semplicemente guardando ed ascoltando, in una o 2 settimane di tempo ero molto piu avanti di così, il return 0 veniva praticamente spiegato nei primi 10 minuti con l' "Hello World"... percui magari suggerisco di studiare per conto tuo, se ti interessa la materia.

Come rodhellas ha mostrato ti serve '%' chiamato anche "modulus operator", percui ti consiglio di fare una ricerca su quello.

@rodhellas: è meglio se non gli davi la soluzione imo, ma solo un suggerimento di cosa studiare per arrivarci o una spiegazione del modulus operator, così che lui potesse trarre la conclusione di come usarlo per risolvere il problema, o fallire il test per mancanza di impegno :/
Anche fallire il test ha i suoi meriti imo, perchè il professore così si rende conto di star facendo un lavoro un pò scarso (sempre che questo sia davvero il caso) e quindi magari ri-spiega bene tutto all'intera classe.


Comunque il mio professore mi ha quasi assicurato la mia partecipazione alle olimpiadi di informatica 2018.. E per me anche una buona posizione a livello provinciale sarebbe molto anche se spero di andare avanti nonostante la difficoltà... Io quindi spero vivamente che il professore mi faccia arrivare alle olimpiadi con delle buone competenze, anche perchè lui è sempre stato un buon professore che ha sempre spiegato... Quindi in ogni caso volevo chiederti casomai di indicarmi delle buone playlist da vedere, o anche un buon libro sul c++ da acquistare, o anche qualsiasi altra cosa che potrebbe migliorare le mie conoscenze per la programmazione..

Grazie in anticipo


Inviato dal mio iPhone utilizzando Tapatalk
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
Comunque il mio professore mi ha quasi assicurato la mia partecipazione alle olimpiadi di informatica 2018.. E per me anche una buona posizione a livello provinciale sarebbe molto anche se spero di andare avanti nonostante la difficoltà... Io quindi spero vivamente che il professore mi faccia arrivare alle olimpiadi con delle buone competenze, anche perchè lui è sempre stato un buon professore che ha sempre spiegato... Quindi in ogni caso volevo chiederti casomai di indicarmi delle buone playlist da vedere, o anche un buon libro sul c++ da acquistare, o anche qualsiasi altra cosa che potrebbe migliorare le mie conoscenze per la programmazione..

Grazie in anticipo


Inviato dal mio iPhone utilizzando Tapatalk
Non metto in dubbio sia una brava persona, ma se ti ha dato esercizi su cose che non ha mai spiegato in classe imo sta facendo un lavoro terribile. E comunque non escludo che la realtà delle cose sia diversa.
Ecco la stessa playlist che ho usato io all'inizio, parti dal video numero 2 :)

https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83
 

francescocerrato200

Nuovo Utente
98
8

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,220
1,852
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Nuove generazioni... ormai solo video lezioni su YouTube. :D
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
Nuove generazioni... ormai solo video lezioni su YouTube. :D

Sono dell'idea che ogni scuola dovrebbe registrare le lezioni dei professori ed upparle online nel sito della scuola, non ha senso al giorno d'oggi limitare la diffusione delle informazioni avendo come requisito la presenza fisica dello studente in una certa struttura :P
Ed invece la situazione è che non puoi registrare quello che succede dentro una classe...brillante, ottimo modo per rallentare l'avanzamento dell'intera specie :|
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,220
1,852
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Su questo non posso che concordare. Ma esistono anche i libri per fortuna, e scritti da persone con una certa esperienza nel settore, e che forniscono basi anche più solide. Non penso sia strettamente necessaria una scuola per apprendere l'arte della programmazione (ed io potrei essere l'esempio, nel mio piccolo)... servono studio ed applicazione. Le lezioni su YT le terrei più come materiale integrativo.

La realtà è che a mio parere molti ragazzini - è un discorso generale - cercano lezioni su YT di qualche minuto per non mettersi a studiare/leggere, pensando forse di ottenere risultati più immediati.
È comunque innegabile che esistano altrettante persone che tramite video lezioni comunichino molto (docenti rinomati e non). Credo sia sempre questione di equilibrio, di bilanciamento. ;)
 
  • Mi piace
Reazioni: Marcus Aseth

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Salve,
sono al secondo anno di itis informatico e sto imparando a programmare in c++...
Il professore per queste vacanze di natale ha assegnato qualche esercizio da fare per casa. Per i primi 10 non ho problemi poichè sono in grado di codificarli,rispetto agli ultimi 3,i quali non mi sono stati spiegati dal professore. Le traccie sono le seguenti:

1) Stampare i numeri da 1 ad n.

2) Stampare la somma dei numeri da 1 ad n.

3) Dato n, leggere n numeri interi e calcolare la somma dei numeri pari e la somma dei numeri dispari.

Non ho capito cosa sta a significare "n"...
Potreste aiutarmi?

Grazie in anticipo.
Se questi sono quelli difficili non oso pensare ai primi 10... "Premere il pulsante per accendere il computer?"

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

francescocerrato200

Nuovo Utente
98
8
Se questi sono quelli difficili non oso pensare ai primi 10... "Premere il pulsante per accendere il computer?"

Inviato dal mio Nexus 5 utilizzando Tapatalk

No sono quelli che lui aveva già spiegato..
Tipo Trovare l'elemento medio tra 3 numeri oppure il numero più grande tra 4 numeri o anche calcola l'area di un quadrato dal perimetro(che era quello più stupido)..


Inviato dal mio iPhone utilizzando Tapatalk
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
No sono quelli che lui aveva già spiegato..
Tipo Trovare l'elemento medio tra 3 numeri oppure il numero più grande tra 4 numeri o anche calcola l'area di un quadrato dal perimetro(che era quello più stupido)..


Inviato dal mio iPhone utilizzando Tapatalk
Dai, qual'è l'area del quadrato dato il perimetro!...

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

francescocerrato200

Nuovo Utente
98
8
Nuove generazioni... ormai solo video lezioni su YouTube. :D
Sono dell'idea che ogni scuola dovrebbe registrare le lezioni dei professori ed upparle online nel sito della scuola, non ha senso al giorno d'oggi limitare la diffusione delle informazioni avendo come requisito la presenza fisica dello studente in una certa struttura :P
Ed invece la situazione è che non puoi registrare quello che succede dentro una classe...brillante, ottimo modo per rallentare l'avanzamento dell'intera specie :|

Alla fine grazie ai video e alle vostre risposte,specie quella di @rodhellas dopo 3 ore sono riuscito a risorverlo e a capirlo....
Infatti dopo aver scritto il codice ho anche scritto diciamo la "spiegazione" per non dimenticarmela.. Leggetela così mi dite anche se è giusta...

Codice:
#include<iostream>

using namespace std;

main()

{

int x,som_pari=0,som_dispari=0,num;

do{cout<<"Inserire un numero maggiore di 0:"<<endl;

cin>>x;

}while(x<=0);



cout<<"Adesso scrivi "<<x<<" numeri"<<endl;



for(int i=1;i<=x;i++){

cin>>num;

if(num%2==0) som_pari+=num;

else som_dispari+=i;

}

cout<<som_pari<<endl;

cout<<som_dispari<<endl;



}
 

francescocerrato200

Nuovo Utente
98
8
Alla fine grazie ai video e alle vostre risposte,specie quella di @rodhellas dopo 3 ore sono riuscito a risorverlo e a capirlo....
Infatti dopo aver scritto il codice ho anche scritto diciamo la "spiegazione" per non dimenticarmela.. Leggetela così mi dite anche se è giusta...

Codice:
#include<iostream>

using namespace std;

main()

{

int x,som_pari=0,som_dispari=0,num;

do{cout<<"Inserire un numero maggiore di 0:"<<endl;

cin>>x;

}while(x<=0);



cout<<"Adesso scrivi "<<x<<" numeri"<<endl;



for(int i=1;i<=x;i++){

cin>>num;

if(num%2==0) som_pari+=num;

else som_dispari+=i;

}

cout<<som_pari<<endl;

cout<<som_dispari<<endl;



}




Ho scritto "som_pari+=num" poichè stando in un ciclo l'operazione si ripete... Di conseguenza inzialmente som_pari è uguale a 0,però appena il compilatore trova un numero pari fa l'operazione quindi som_pari=0+num...

Arrivato al secondo numero il compilatore svolge la stessa operazione però questa volta som_pari è uguale al numero precedente quindi fa la normale operazione ovvero som_pari+num=som_pari...

E vabbe lo stesso con som_dispari..





Quindi facciamo un esempio. (num=5)



Scrivo i 5 numeri:



3 som_dispari=som_dispari+num=0+3=3

7 som_dispari=3+7=10

8 som_pari=0+8=8

2 som_pari=2+8=10

4 som_pari=10+4=14



som_pari=14

som_dispari=10
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,220
1,852
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Sono ancora fa telefono quindi mi risulta scomodo, comunque... un giorno capirete il mio intervento precedente. ;)

Tornando al topic, vedo che sommi la variabile i e non num, quindi dovrebbe essere un errore.

Un altro consiglio è di iniziare i cicli da 0 e non da 1; in primis non sussistono motivi per non farlo, in secundis quando inizierai ad usare array rischi di commettere errori (la posizione iniziale è 0).

In ultimo, non è il compilatore, ma è determinato durante l'esecuzione stessa. ;)
 

francescocerrato200

Nuovo Utente
98
8
Sono ancora fa telefono quindi mi risulta scomodo, comunque... un giorno capirete il mio intervento precedente. ;)

Tornando al topic, vedo che sommi la variabile i e non num, quindi dovrebbe essere un errore.

Un altro consiglio è di iniziare i cicli da 0 e non da 1; in primis non sussistono motivi per non farlo, in secundis quando inizierai ad usare array rischi di commettere errori (la posizione iniziale è 0).

In ultimo, non è il compilatore, ma è determinato durante l'esecuzione stessa. ;)

Ah tu indendi al som_dispari? Sisi l'ho appena modificato.
 

Lugio

Utente Attivo
845
225
CPU
i5 6600k
Dissipatore
enermax liqmax 240
Scheda Madre
msi z170 gaming m3
HDD
seagate barracuda 1tb
RAM
hyperx fury 16gb cl14 2133hz
GPU
rx 480 8gb reference
Monitor
TV HD 32"
PSU
cx750m corsair
Case
cooler master mastercase 5
OS
windows 10 64bit

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili