Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Arrivato sul mercato italiano a fine marzo, la serie Boox Go 10.3 (Gen II) offre Android 15, penna da 4096 livelli e retroilluminazione opzionale (nel modello da noi provato, Lumi, presente). La serie si compone di due tablet ePaper che fanno da e-reader, blocco note digitale e persino browser, tutto a un prezzo che fa dimenticare i prodotti di brand più blasonati
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-03-2006, 22:20   #1
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
[C++]tutorial su liste, a livello di informatica 1

ciao a tutti!
tra qualche giorno ho l'esame di fondamenti di informatica 1, ed ho un grosso problema perchè ho lasciato il manualone di c++ a casa di un mio amico e non posso andarlo a riprendere (firenze, ed io sono ad aq...).

siccome ho qualche problemino per le liste volevo chiedere se qualcuno di voi conosce un qualche tutorial livello base per queste: so che in rete se digito liste c++ trovo sto mondo e quell'altro, ma io sto preparando informatica 1, quindi di template, classi e altra roba non so niente, e la sintassi del c++ che conosco è davvero limitata (primo esame di informatica...).

potete aiutarmi? le cose che devo riuscire a fare sono le classiche: saltare un elemento, aggiungere un elemento in testa/coda, stampare una lista al contrario o solo elementi con determinati paramentri....


grassie a chiunque mi aiuterà
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2006, 23:20   #2
mr_hyde
Senior Member
 
Iscritto dal: Oct 2005
Città: Genova
Messaggi: 937
Scusami, forse sarebbe utile una piccola chiarificazione su cosa intendi per "liste":
1) utilizzo delle STL std::list
2) devi creare tu le funzioni per l'allocazioe/de-allocazione degli elementi, gestire i singoli nodi della lista


Questo giusto per capire se ti serve un tutorial sull'uso delle STL (Standard Template Library) oppure un qualcosa di piu' generico sulle strutture dati in generale.

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 00:36   #3
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
mmm direi la seconda...metto un esempio di programma del tipo carica lista stampa lista

Quote:
#include<iostream>
#include<stdlib.h>
using namespace std;

struct elemento {
int valore;
elemento *succ;
};

int main ()
{
elemento *p;
elemento *p1;
int dim;

p=new elemento;
p1=p;

cout<<"inserisci la grandezza della lista ";
cin>>dim;
cout<<"inserisci il valore dell'elemento 0 ";
cin>>p1->valore;
for (int i=1; i<dim; i++)
{
p1->succ=new elemento;
p1=p1->succ;
cout<<"inserisci il valore dell'elemento "<<i<<" ";
cin>>p1->valore;
}

p1->succ=NULL;
p1=p;

cout<<"gli elementi inseriti sono: "<<endl;
while (p1!=NULL)
{
cout<<p1->valore<<" ";
p1=p1->succ;
}
system ("pause");
return 0;
}
per lista intendo uno struct del quale il primo campo è un campo qualsiasi (char, string, int, un altro struct, insomma qualsiasi cosa) ed il secondo campo è un puntatore del tipo elemento, dove elemento è proprio lo struct che ho creato.

il puntatore p è il puntatore che mi serve per memorizzare il primo oggetto (lo chiamo così perchè le parola "elemento", seppur adatta, porterebbe alla confusione col nome della struct) della lista, mentre il puntatore p è il puntatore che, di volta in volta, punta ad i vari oggetti della lista...

sono riuscito a spiegarmi?

ps le stl non so neanche cosa siano... ma è sicuro qualcosa che, al momento, non devo studiare (e questo mi basta )
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 00:57   #4
mr_hyde
Senior Member
 
Iscritto dal: Oct 2005
Città: Genova
Messaggi: 937
OK, capito. Guardo se nei miei bookmark c'e' qualcosa che ti puo' essere utile (ma ahime' non credo)

Per le STL: sono una libreria di contenitori vari (tra cui le liste) che fanno uso dei template.

In pratica hai gia' le liste belle e pronte (e non solo le liste) con tutte le loro funzioncine per "maneggiarle".

Ad esempio, supponi di avere fatto la classe CPersona che contiene come attributi i dati anagrafici: sedevi creare una dista di persone ti bastera' dichiarare

std::list<CPersona> listaPersone;

e ovviamente hai tutti i metodi per aggiungere/togliere elementi dalla lista.
Altra cosa utilissima sono gli iteratori che ti permettono di "scorrere" tutti gli elementi della lista (ma esistono anche per tutti gli altri contenitori messi a disposizione dalle STL) e di operare su questi.

E ancora STL mettono a disposizione metodi per eseguire una determinata operazione su tutti gli elementi di una lista, evitandoti cosi' di scrivere il solito ciclo di scorrimento e di richiamo dell'operazione sul singolo elemento.

Insomma: nella programmazione "seria" SONO DA USARE. Capisco che ora tu abbia solo interessi "studenteschi" (leggi: superare l'esame) ma mi sembrava comunque giusto dirti della loro esistenza (anche se trovo grave che un corso sul C++ non affronti l'argomento... Oppure hai saltato qualche lezione? :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 01:29   #5
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nono, guarda io voglio approfondire ed imparare per bene...ma ora l'obbiettivo è l'esame
stl e classi ancora non le affronto...ma perchè non sono in programma!
sto facendo ingegneria informatica, primo anno, e questo è il primo esame di infromatica che c'è, quindi ce ne sarà di tempo per fare il resto...

ps se vuoi renderti conto di quale sia il programma per capire le mie "esigenze" ti posto il programma del corso

Quote:


Fondamenti di informatica I (corso di laurea in Ingegneria Informatica - Automatica)

Docenti: Eliseo Clementini

Collegamenti culturali e finalità del corso

Il corso è finalizzato all'acquisizione dei concetti fondamentali dell'informatica, senza trascurare gli aspetti sperimentali della disciplina e la sua applicazione immediata. Si inizia con una descrizione del sistema informatico nella sua interezza, dalla rappresentazione dell'informazione ai software applicativi, per poi concentrarsi sulle tecniche di programmazione ad alto livello, con lo scopo di far maturare negli studenti l'abilità a progettare programmi e metterli in grado allo stesso tempo di utilizzare in maniera attenta e consapevole il software già esistente. Il linguaggio di riferimento sarà il C++, anche se i concetti presentati nel corso sono indipendenti dal linguaggio e facilmente applicabili in qualsiasi linguaggio imperativo come C o Pascal. Il corso è propedeutico per seguire il corso di Fondamenti di Informatica II.
Programma

1. Architettura dei sistemi informatici ([1], cap. 1-2).
Processi e processori. Problemi, algoritmi e programmi. Linguaggi di programmazione. Hardware e software: descrizione e classificazione. Architettura del calcolatore. Modello di von Neumann. Sistemi numerici posizionali a base fissa. Conversioni di base. Rappresentazione di numeri negativi in modulo e segno e in complemento a due. Rappresentazione di numeri reali in virgola mobile normalizzata. Codice ASCII. Algebra di Boole e principali funzioni logiche. Ambienti di programmazione Dev-C++ e Borland C++ Builder.

2. Elementi di programmazione ([1], cap. 1-2).
Sviluppo di algoritmi. Concetto di variabile. Operazioni elementari: lettura, scrittura, assegnazione e confronto. Diagrammi di flusso. Pseudo-codice. Struttura di controllo se-allora-altrimenti. Cicli con pre-condizione e post-condizione. Strutture di controllo finché-esegui e esegui-finché. Progettazione di algoritmi con cicli. Controllo sui dati di input. Traduzione in C++. Costrutti base del C++. Struttura di un programma. Parte dichiarazioni e parte istruzioni. Dichiarazione di variabili. Classificazione dei tipi. Tipi semplici, rappresentazione interna e operazioni. Espressioni numeriche e condizionali. Istruzione di assegnazione. Istruzione composta. Selezione binaria. Funzioni standard di ingresso/uscita. Istruzioni cicliche (WHILE, DO-WHILE, FOR). Costruzione di cicli annidati. Selezione n-aria.

3. Programmazione con tipi strutturati ([1], cap. 3, escluso 3.5 e 3.6; cap. 6; cap. 7, fino a 7.4).
Tipo array: definizione e rappresentazione in memoria. Dichiarazioni di tipo con typedef. Programmi su vettori. Array bidimensionali. Programmi su matrici. Tipo string. Tipo struct. Tipo file. Primitive per la gestione sequenziale dei files.

4. Aspetti avanzati di programmazione ([1], cap. 4, escluso 4.3.4; cap. 8, escluso 8.4 e 8.6; cap. 9, fino a 9.2.4).
Sottoprogrammi. Progettazione top-down. Parametricità. Dichiarazione di funzioni. Variabili globali. Variabili locali. Parametri formali e attuali. Passaggio di parametri per riferimento e per valore. Uso della memoria. Ciclo di vita delle variabili. Visibilità delle variabili. Mascheramento di variabili. Ricorsione. Gestione statica e gestione dinamica della memoria. Tipo puntatore. Operazioni con puntatori: assegnazione, new, delete, riferimento, dereferenziazione. Costante null. Uso dei puntatori. Creazione dinamica di array. Similitudine tra array e puntatori. Creazione dinamica di matrici. Strutture collegate in memoria dinamica. Liste collegate con puntatori. Programmi su liste collegate.
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 18:50   #6
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nessuno mi aiuta?

l'esame è mercoledì... e lunedì ho pure fisica
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 20:55   #7
mr_hyde
Senior Member
 
Iscritto dal: Oct 2005
Città: Genova
Messaggi: 937
Visto quello che hai scritto direi che ti servono 2 tipi di corsi/guide:
1) sulla sola sintassi C++ (insomma, il C++ di base)
2) su algoritmi e strutture dati.

Per il primo tipo ho trovato

http://www.math.unipd.it/~sperduti/C...orso%20C++.htm

(occhio pero': mi sembrava di aver visto esempi con una versione di C++ "datata")

Per il secondo tipo:
http://www.alessioluffarelli.it/guid...eri_binari.php (per gli alberi binari, nel caso prima o poi ne avessi bisogno)

Un po' di tutto:
http://programmiamo.blogspirit.com/a...ammazione.html

Questi li ho semplicemente trovati con google cercando "tutorial strutture dati".
Non voglio bacchettarti: capisco che nel tuo caso forse non sai ancora quali sono i termini da usare per le ricerche.
Spero comunque che 'sta roba ti possa essere utile (certo che anche tu dare fisica attaccato a fondamenti... :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 09:07   #8
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
eheh... purtroppo non sono io che decido, nella sessione di marzo ci sono due appelli per tre esami, ed analisi ho bisogno di un pò + di tempo per studiarmela


cmq grazie mille per le info, questa sera mi spulcio un pò sti link e ti faccio sapere

ps gli alberi binari credo siano di informatica due...
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Isar Aerospace rinvia ancora il lancio d...
La nomina di Luca Parmitano per la missi...
Controaccusa di Netgear a TP-Link: 'non ...
GoldenEye 007: dopo oltre 20 anni, &egra...
Snowflake arricchisce le funzionalit&agr...
American Express pronta ad acquisire The...
Batterie liquide senza metalli: scoperto...
FRITZ!, devolo, LANCOM e TDT danno vita ...
Quanto tempo passiamo online? In Italia ...
Fox Corporation si compra Roku per 22 mi...
AMD resuscita Zen+: due nuovi processori...
Debutto cinematografico per HONOR Robot ...
Copilot+ PC, ogni PC con una GPU dedicat...
Dreame taglia i prezzi: come orientarsi ...
L'Italia entra nell'era dei 2 nanometri!...
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: 21:55.


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