Passare argomenti al programma

Documenti analoghi
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Lezione 6 programmazione in Java

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi

Funzioni, Stack e Visibilità delle Variabili in C

C: panoramica. Violetta Lonati

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

a.a Codice corso: 21012, HOMEWORKS

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Le funzioni. Fondamenti di programmazione

Capitolo 10 - Strutture

Indirizzi e tipi puntatore a

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Programmazione modulare

Le basi del linguaggio Java

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Preparazione allo Scritto di Programmazione

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -

Esercizio 1. Tavola ordinata in memoria centrale

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Liste a puntatori: un esercizio passo passo

Esercitazione 11. Liste semplici

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Dati aggregati. Violetta Lonati

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Corso di Reti di Calcolatori L-A

Debug di un programma

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VII.2017

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Corso sul linguaggio Java

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

Esercitazione n 2. Obiettivi

Introduzione alla programmazione in linguaggio C

Allocazione Dinamica. Allocazione Statica. malloc() La funzione malloc()

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Parametri by reference. Funzioni. Passaggio dei parametri. Parametri by reference. Soluzione. Problemi

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Impianti di Elaborazione (allievi Gestionali)

Programmazione (imperativa)

Lab 10 Passaggio per riferimento

Lezione 8 Struct e qsort

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

PROVA SCRITTA 23 MARZO 2010

Lab 01 Introduzione a Codelite

Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Metodi statici. Dichiarazione e chiamata di metodi statici

Fondamenti di Informatica T-1 Modulo 2

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

Fondamenti di Informatica

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

POINTERS. Una variabile pointer è una variabile che ha come valore un indirizzo di memoria.

Il blocco che costituisce il corpo di una funzione/procedura può contenere dichiarazioni di variabili. Esempio:

Oggetti Composti (1) Oggetti Composti (2)

Programmazione Procedurale in Linguaggio C++

I puntatori sono variabili, il cui contenuto è un indirizzo di memoria (di variabili, di funzioni, etc).

L Allocazione Dinamica della Memoria

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Allocazione dinamica di memoria

Fondamenti di Informatica T-1

Lettura da tastiera e scrittura su monitor

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

Indice. Prefazione. 3 Oggetti e Java 53

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Array. Anno Accademico 2010/2011 Francesco Tortorella

LABORATORIO di INFORMATICA

Programmazione con Java

Introduzione ai puntatori in C Definizione

Array multidimensionali e stringhe

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:

INTRODUZIONE ALLA PROGRAMMAZIONE

Implementazione dell albero binario in linguaggio C++

Allocazione dinamica della memoria: calloc() Se T è il nomed di un tipo, la chiamata calloc(n, sizeof(t)) è equivalente a malloc(n * sizeof(t))

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd)

Progetto II: Il linguaggio C e le chiamate di sistema sui processi

Java Native Interface Appunti

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Esercizi. La funzione swapint() primo tentativo

Esercizi su strutture dati

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Transcript:

Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di argomenti sarà contenuto in un array di array di char. Il programma deve poter leggere questi argomenti in modo da poterli gestire. 1. Settare la funzione main in modo tale da considerare gli argomenti passati. Per fare ciò il main deve prendere in ingresso due parametri nel seguente ordine: Un numero intero (n di argomenti + 1) -> int argc Un array di stringhe -> char *argv[]

Esercizio 1. Passaggio di argomenti Realizzare un programma C che dato come argomento il nome di un file (di testo), ne visualizzi il contenuto a pagine (20 righe alla volta). Ad ogni visualizzazione chiedere all utente se vuole visualizzare altre righe o fermarsi. Di seguito una traccia per iniziare: #include<stdio.h> //... main(int argc, char *argv[]) { } // codice

Esercizio 1. Testare il programma Per testare il programma bisogna passare il nome del file come argomento. Abbiamo due possibilità: 1. Eseguire da terminale il programma

Esercizio 1. Testare il programma Per testare il programma bisogna passare il nome del file come argomento. Abbiamo due possibilità: 1. Eseguire da terminale il programma 2. Settare l argomento in Visual Studio Click destro sul progetto, selezionare Proprietà. Aprire la tabella Proprietà di configurazione > Debug inserire gli argomenti nella righa Argomenti del comando

Esercizio 2. Funzioni come parametri Si realizzi un programma che calcola l integrale di una funzione f : R -> R in un intervallo dato [a,b]. Definire una funzione che restituisca il valore dell integrale, con la seguente interfaccia /* * func funzione integranda * a,b estremi intervallo, N numero sotto-intervalli */ double rettangoli(double (*func)(double), double a, double b, double N); Il main legge da input a, b, N; poi chiama rettangoli e calcola l integrale di funzioni reali. Definire alcune funzioni da passare a rettangoli, per esempio una funzione per calcolare il quadrato e una per calcolare il cubo di un numero reale Strutturare il programma su più file

Viene indicato di seguito come specificare il parametro formale di tipo funzione nella dichiarazione della funzione rettangoli : double (*func) (double) \/ \/ \/ (1) (2) (3) Esercizio 2. Nota (1) = tipo del parametro di ritorno della funzione func ; (2) = nome formale della funzione referenziata (puntatore) ; (3) = lista dei tipi di parametri di ingresso della funzione func ;

Esercizio 2. Metodo dei rettangoli f(x 1 ) h

Esercizio 3. Variabili globali Si realizzi un componente dotato di stato interno che rappresenta un contatore, con operazioni: void reset( void ) void inc( int k ) int getvalue( void ) Il main, che utilizza il contatore, deve in successione: resettarlo; acquisire da input una sequenza di interi positivi (terminata da 0) e usarli come incremento del contatore. stampare lo stato finale La variabile contatore deve essere globale, locale al file contenente le funzioni del contatore. Strutturare il programma su più file

Esercizio 4. Variabili statiche Si realizzi un componente dotato di stato interno che rappresenta un contatore (variabile globale con scope limitato), con operazioni: void reset( void ) void inc( int k ) int getvalue( void ) Il main, che utilizza il contatore, deve in successione: resettarlo; acquisire da input una sequenza di interi positivi (terminata da 0) e usarli come incremento del contatore. stampare lo stato finale La variabile contatore deve essere statica, locale al file contenente le funzioni del contatore. Strutturare il programma su più file

Esercizio 4. Variabili statiche Una volta concluso si può anche Verificare che lo scope della variabile sia solo il file contatore.c ( usare la variabile nel main -> errore di compilazione: variabile non definita)