• Non ci sono risultati.

Moreno Marzolla

N/A
N/A
Protected

Academic year: 2021

Condividi "Moreno Marzolla"

Copied!
3
0
0

Testo completo

(1)

Introduzione alla Programmazione

in C++

parte seconda

Moreno Marzolla

moreno.marzolla@pd.infn.it

Moreno Marzolla Fondamenti di Informatica 2

Copyright © 2006 Moreno Marzolla

This work is licensed under the Creative Commons Attribution- Noncommercial-Share Alike 2.5 Italy License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc- sa/2.5/it/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Moreno Marzolla Fondamenti di Informatica 3

Array Array



Un array rappresenta una collezione di elementi dello stesso tipo:



Nella dichiarazione sopra:



abbiamo dichiarato 10 variabili di tipo intero, i cui nomi sono A[0], A[1], ... A[9]



abbiamo dichiarato 5 variabili di tipo double, i cui nomi sono B[0], B[1], ... B[4];

int A[10];

float B[5];

Moreno Marzolla Fondamenti di Informatica 4

Esempio Esempio



Inizializziamo i valori di un array A di 10 interi, leggendoli da tastiera

#include <iostream>

using namespace std;

int main( void ) {

int A[10]; // dichiarazione array A

int i=0; // indice usato per scorrere l'array while ( i<10 ) {

cout << “Digita il valore “ << i << endl;

cin >> A[i];

i = i+1;

}

return 0;

}

(2)

Moreno Marzolla Fondamenti di Informatica 5

Esempio Esempio



I valori memorizzati in un array possono anche essere specificati all'atto dell'inizializzazione:



Crea un array A di 5 elementi, e assegna ad A[0] il valore 13, ad A[1] il valore 12 e così via.

int A[5] = {13, 12, 9, -1, 8};

Moreno Marzolla Fondamenti di Informatica 6

Ciclo “for”

Ciclo “for”

test iniz

vera falsa

int i;

for ( i=0; i<5; i=i+1 ) { cout << “i=” << i << endl;

}

for ( iniz; test; incremento ) { // Corpo

}

In C++

Stampa gli interi tra 0 e 4 (estremi inclusi)

corpo

incremento

Moreno Marzolla Fondamenti di Informatica 7

Esempio Esempio



Supponiamo di avere un array A[10] già

inizializzato (contiene già dei valori). Vogliamo calcolare la somma degli elementi di A che sono minori o uguali a 5

int A[10];

// A viene inizializzato in qualche modo...

int i = 0;

int somma = 0;

for ( i=0; i<10; i=i+1 ) { if ( A[i] <= 5 ) {

somma = somma + A[i];

} }

cout << “La somma vale “ << somma << endl;

Moreno Marzolla Fondamenti di Informatica 8

Esempio Esempio



Leggiamo un array di 10 elementi da tastiera.

L'utente può inserire in qualunque momento -1 per terminare l'inserimento

int A[10];

int i = 0; int elem;

bool terminato = false;

for ( i=0; i<10 && !terminato; i=i+1 ) {

cout << “Inserisci l'elemento “ << i << endl;

cin >> elem;

if ( elem == -1 ) { terminato = true;

} else { A[i] = elem;

} }

(3)

Moreno Marzolla Fondamenti di Informatica 9

Esercizi per giovedì prossimo / 1 Esercizi per giovedì prossimo / 1



Scrivere un programma che, richiesto all'utente un intero positivo N, stampa su video tutti i numeri pari compresi tra 1 e N (estremi inclusi), utilizzando un ciclo “for”



Come l'esercizio precedente, ma stampare tutti i numeri dispari



Scrivere un programma che, dati due array di float A e B di 10 elementi ciascuno (A[10], B[10]), calcola l'array C di double i cui elementi sono la somma degli elementi corrispondenti di A e B, usando un ciclo “for”



Ossia, C[i] = A[i] + B[i] per i=0..9

Moreno Marzolla Fondamenti di Informatica 10

Esercizi per giovedi' prossimo / 2 Esercizi per giovedi' prossimo / 2



Cosa stampa il seguente frammento di codice?

#include <iostream>

using namespace std;

int main( void ) {

int A[10] = {1,5,3,2,4,9,-1,4,2,9};

int s = 0;

int i;

for ( i=7; i>2; i=i-2 ) { s = s+A[i];

}

cout << s << endl;

return 0;

}

Riferimenti

Documenti correlati

 “Prendi il contenuto della cella sulla colonna A, stessa riga (1), sommaci 1 e inserisci il risultato nella cella corrente”.  Se copio la cella B1 in D4, il contenuto di D4

To view a copy of this license, visit http://creativecommons.org/licenses/by-nc- sa/2.5/it/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San

cin &gt;&gt; n; // chiede all'utente di inserire n cin &gt;&gt; m; // chiede all'utente di inserire m cout &lt;&lt; massimo( n, m ) &lt;&lt; endl;.

 Scrivere una funzione inverti() che accetta come parametro un vettore di interi a[] e la sua dimensione dim_a; la funzione inverte gli. elementi di a[] (cioè scambia il

relazioni commerciali attraverso tecnologie di trasferimento elettronico di fondi e dati. Moreno Marzolla Tecnologie

Rete privata, basata sulle tecnologie WEB, che ospita le applicazioni Internet su una rete locale E' sostanzialmente una versione “chiusa” di Internet, messa in piedi per agevolare

Le prestazioni di alcuni server degradano pauro- samente all'aumentare del numero di accessi Vi sono tipi di pagine (pagine dinamiche) che vengono gestite meno efficientemente da

Tutti i valori degli attributi vanno racchiusi tra virgolette (“) I tag di apertura e chiusura devono essere bilanciati Elementi di markup (&lt;, ]]&gt; ecc) non possono apparire