Visualizzazione post con etichetta 3AS. Mostra tutti i post
Visualizzazione post con etichetta 3AS. Mostra tutti i post

mercoledì 5 febbraio 2014

Strutture e Record

Concetto di struttura come 
contenitore di dati di tipo differente
Struttura dati complessa

Regole per la dichiarazione di una struttura

Regole di accesso ai campi di una struttura

Introduzione agli array di strutture:
Caricamento
Visualizzazione

Introduzione alle strutture di strutture

venerdì 17 gennaio 2014

Laboratorio

Argomento

Matrici numeriche

Viene richiesta la scrittura di un programma che svolga:

Caricamento
Visualizzazione
Conteggio pari dispari nulli
Implementazione con le tre strutture iterative
 For
 While
 Do While

Per casa

Media dei valori presenti nelle singole righe
Media dei valori presenti nelle singole colonne
Memorizzazione dei risultati in due array

venerdì 10 gennaio 2014

Verifica


Esercizio 1
A) Caricare un Vettore di 10 elementi interi, utilizzando la funzione rand. I valori devono essere  
     compresi tra 20 e 50. ( 3 - punti)
B) Visualizzare i valori presenti nelle posizioni pari. ( 1- punto)
C) Modificare i valori presenti nelle posizioni dispari incrementando li di 1 e di 3 in maniera alternata
    ( 3 - punti)

Esercizio 2
A) Modificare il punto1 dell'esercizio precedente cercando da tastiera i valori e rispettando il vincolo 
    che questi siano compresi tra 20 e 50 ( 2-punti)

Svolgere i punti B e C del precedente esercizio

Attività per casa

Si richiede di scrivere un programma che fornisca la possibilità all'utente di selezionare il metodo di inserimento dei dati del vettore ( punti a dei due esercizi). La soluzione dovrà prevedere
Commento del codice
Compilazione
Valutazione 6

Se il programma viene sviluppato con le funzioni
Menù
Inserisci
Visualizza
Modifica
La valutazione sarà 8

Le soluzioni proposte dovranno essere inviate via mail in allegato entro lunedì 13/01/14. Il materiale inviato verrà considerata utile per la valutazione delle attività di laboratorio. 

mercoledì 8 gennaio 2014

Interrogazione Esercitazione

Vista la Grande quantità di Assenti la verifica verrà spostata a data da destinarsi

Interrogazione
Esercitazione Array

martedì 7 gennaio 2014

InterrogazioneEsercitazione

Interrogazione
Esercitazione sugli Array

Viste le continue assenze di gran parte della classe si comunica che non verrà fornita la data della Verifica ma soltanto la settimana in cui verrà proposta

domenica 15 dicembre 2013

Riflessioni sulla Verifica Proposta

Considerazioni sulla traccia proposta

Prima Considerazione
La Verifica proposta il 13/12/2013, richiedeva due tipi di attività:

  1. Lettura attenta della traccia e relativa analisi delle specifiche
  2. Identificazione delle richieste
La prima attività avrebbe dovuto portare a comprendere che per operazioni tra frazioni, si intendeva il coinvolgimento di tre frazioni:
  • operando 1
  • operando 2
  • risultato
questo avrebbe portato ad avere a disposizione almeno 6 variabili di tipo intero: due per ogni frazione e questo in considerazione del fatto che una frazione è composta dalle due parti: numeratore e denominatore. Appare evidente che ogni risultato che avrebbe portato all'utilizzo di un'unica variabile di tipo float è da considerarsi non corretto.

Seconda Considerazione
La traccia richiedeva la realizzazione di una semplice calcolatrice. Questo presupponeva che l'utente avrebbe dovuto avere la possibilità di scegliere sia gli operatori che l'operazione da eseguire. Appare evidente che ogni soluzione che prevede la produzione di 4 risultati, uno per ogni operazione non soddisfa la richiesta della traccia.

Terza Considerazione
Si sarebbe dovuto tenere conto del bisogno dell'utente di poter scegliere tra il voler continuare ad eseguire altri calcoli ed il voler interrompere l'esecuzione del programma.

Quarta Considerazione
La matematica ci dice che il denominatore di una frazione non può essere nullo. Questo avrebbe dovuto portare al controllo dei denominatori delle frazioni utilizzati e prevedere una risposta per l'utente

venerdì 13 dicembre 2013

Traccia Verifica 13_12_2013

Esercizio 1 (Punti 8)
Considerando le seguenti operazioni algebriche tra frazioni:
·         Somma                               ((a/b)+(c/d)=((a*d)+(c*d))/(b*d))                                        (punti 2)
·         Sottrazione                       ((a/b)-(c/d)=((a*d)-(c*d))/(b*d))                                          (punti 2)
·         Moltiplicazione              ((a/b)*(c/d)=((a*c)/(b*d))                                                       (punti 2)
·         Divisione                           ((a/b)/(c/d)=((a*d)/(b*c))                                                        (punti 2)
Si scriva un programma che ne implementi una calcolatrice.
Esercizio 2 (Punti 7)


Considerando le precedenti operazioni algebriche tra frazioni
  1. Si realizzi il diagramma di flusso che implementi la calcolatrice                            (punti 4)
2.       Si crei una tabella con                                                                                                                (punti 3)
a.       l’elenco delle variabili utilizzate
b.      lo scopo delle variabili
c.       la distinzione tra
                                                              i.      variabili di input
                                                            ii.      variabili di output
                                                          iii.      variabili di lavoro

Durata della prova h 1,30
Gli studenti potranno scegliere fra le seguenti opzioni:
  1. Risolvere un solo esercizio
  2. Risolvere 2 esercizi. In tal caso vi saranno due valutazioni una per lo scritto e l’altra per il laboratorio
Tutti gli studenti che risolveranno un solo esercizio dovranno risolvere l’esercizio non svolto e consegnarlo entro martedì per e-mail inviandolo all’indirizzo: studenti.alemanno@gmail.com . Il punteggio massimo previsto sarà decrementato di 1 rispetto al punteggio indicato nella traccia. La soluzione verrà considerata attività di laboratorio.



mercoledì 11 dicembre 2013

Lezione Laboratorio

Promemoria:  venerdì 13 dicembre verifica scritta

Array

È' stato introdotto il concetto di array o vettore. Il vettore e' stato definito come struttura di dati omogenei o come raccolta di dati omogenea (informale).

Sono state definite le caratteristiche:

  • Dimensione pre-fissata e non modificabile durante l'esecuzione
  • Memorizzazione degli elementi che la compongono in aree di memoria contigue
  • Numerazione degli elementi ( per il C la numerazioni inizia da 0)
Operazioni principali:

  • Caricamento 
    • Da tastiera
    • Random
    • Inizializzazione diretta nella dichiarazione dell'Array
  • Visualizzazione
  • Ricerca
Strumenti utilizzati prevalentemente nella gestione degli array

  •  Indice
  •  Costrutti iterativi con particolare riferimento al ciclo for
Laboratorio ed esercizi per casa

  •   Caricare un array, contare pari dispari ed elementi nulli
  •   Visualizzare gli elementi solo in posizione pari e solo in posizione dispari
  •   Calcolare la media
  •   Cercare Massimo/Minimo
  •   Gestire array con costrutti: while e do while

Prossimo Argomento

  •  Passare array monodimensionale come parametro di funzione

mercoledì 13 novembre 2013

Lezione

Costanti

#include<stdio.h>
using namespace std;


int main() {
const int a=5;
int b=7;
b=4;
return 0;
}

Funzioni

#include<stdio.h>
using namespace std;

int f(int);//il prototipo di una funzione può non avere il nome del parametro
// Ma deve avere il tipo
int main() {
int par=5;
int ris;
ris=f(par);
printf("%d",f(par));
//printf("%d",a); errore perchè a non è stata dichiarata nel main non nel main

return 0;
}

int f(int a)// parametro formale
{
++a;
return a;
}

Esempio

#include<stdio.h>
using namespace std;

int f(int);//il prototipo di una funzione può non avere il nome del parametro
// Ma deve avere il tipo
void g(int a);
int main() {
int par=5;
int ris;
ris=f(par);
printf("%d",f(par));
//printf("%d",a); errore perchè a non è stata dichiarata nel main non nel main
return 0;
}

int f(int a)// parametro formale
{
++a;
g(a);
return a;
}

void g(int a)
{
printf("%d",a++);
printf("%d",a);
}

Pseudo Codice Per l'Algoritmo di Risoluzione delle Equazioni di Secondo Grado

PROG main
    IN a
    IN b
    IN c
    ASSIGN delta=((b^2)-(4*a*c))
    IF delta>0
        ASSIGN x1=((-b+sqrt(delta)/2a)
        ASSIGN x2=((-b-sqrt(delta)/(2*a))
        OUT x1
        OUT x2
    ELSE //if delta>0
        IF delta==0
            ASSIGN x1=(-b/(2*a))
            ASSIGN x2=(-b/(2*a))
            OUT x1
            OUT x2
        ELSE //if delta==0
            OUT Delta < 0:impossibile
        END IF //delta==0
    END IF //delta>0
END PROG //main


Diagramma di Flusso per la Risoluzione delle Equazioni di Secondo Grado
Esercizio per casa:

  1. TRASFORMARE L'ALGORITMO DA PSEUDO CODICE IN UN PROGRAMMA IN LINGUAGGIO C
  2. CREARE LA FUNZIONE CHE CALCOLI IL DELTA ALLA QUALE FORNIRE COME PARAMETRI:
    1. a
    2. b
    3. c
e che fornirà in uscita il risultato finale
N.B. Utilizzare la libreria math.h e le funzioni 

  1. pow() 
  2. sqrt() 
cercare in internet 



  1. la libreria math.h e le funzioni che la compongono 
  2. i prototipi delle due funzioni e descriverle in un posto del vostro Blog

martedì 12 novembre 2013

Verifica 3AS


Esercizio 1 (Punti 1)
Elencare le fasi necessarie per passare dal file Sorgente scritto in linguaggio C al file  eseguibile


Esercizio 2 (Punti 1)

Indicare le principali differenze presenti tra compilatore ed interprete

Esercizio 3 (Punti 4)
Scrivere prototipo e definizione di una funzione alla quale passare 2 parametri interi che svolga:
1.       Visualizzi contemporaneamente somma e prodotto tra i due parametri
2.       Restituisca il primo parametro decrementato di uno

Esercizio 4 (Punti 3)

Scrivere il main che richiami la funzione del precedente esercizio e ne visualizzi i due parametri ed il risultato restituito dalla funzione .

venerdì 8 novembre 2013

Lezione Laboratorio

Viene richiesto di:

  1. Accedere al Compilatore onLine Ideone e compilare on line i propri programmi
  2. Scaricare il programma  AlgoBuild 0.73 per la creazione di FlowChart
  3. Accedere al Manuale di AlgoBuil 0.73
  1. Viene mostrato l'utilizzo di AlgoBuild creando ed eseguendo FlowChart
  2. Viene introdotto il costrutto di Selezione nelle sue varianti:
    1. IF (condizione) THEN
    2. IF  (condizione) THEN ELSE
    3. L'ERRORE RICORRENTE:  IF (condizione) ELSE senza ramo THEN
  3. Viene interpretato lo pseudo codice prodotto da AlgoBuild e viene adattato al Linguaggio C
  4. Viene richiesto di Codificare lo pseudo codice prodotto in un programma C e di compilarlo

Per Casa viene richiesto di Realizzare una calcolatrice utilizzando i costrutti di selezione nelle due versioni:
  1. senza funzioni ma con la procedura menu;
  2. con funzioni:
    1. somma
    2. sottrazione
    3. moltiplicazione
    4. divisione
    5. modulo
    6. menu


martedì 5 novembre 2013

Lezione Laboratorio

Funzioni

Continua la trattazione sulle funzioni e sulla dichiarazione di variabili.

  1. Si parte con il concetto di stringa e con la dichiarazione delle stringhe. Gli aspetti che interessano sono legati alla lettura ed alla visualizzazione delle stringhe attraverso l'utilizzo delle funzioni printf e scanf.
  2. Si introduce il concetto di parametro di una funzione, classificandoli in:
    1. formale
    2. attuale
  3. dichiarandoli e fornendo degli esempi tipo da provare in laboratorio
In laboratorio viene richiesto alla classe di collegarsi ai propri Blog e produrre il post delle attività svolte in laboratorio. Viene detto inoltre di salvare i propri lavori su drive e di inviare una mail con allegato all'insegnante.

venerdì 1 novembre 2013

Lezione Esercitazione

Esempi di utilizzo dei sottoprogrammi: Funzioni e Procedure

E' stato proposta una esercitazione con funzioni e procedure senza l'uso di parametri. La funzione richiesta comprendeva l'acquisizione di dati da tastiera.
Sottoprogrammi richiesti:

  1. Costruzione Menu
  2. Visualizzazione dati studenti attraverso una scheda


Ad alcuni studenti è stato proposto l'aggiunta della dichiarazione di stringhe, l'acquisizione e la visualizzazione di queste.

Scopo dell'esercitazione:

  1. acquisire, distinguere e riconoscere i concetti di:
    1. prototipo
    2. chiamata
    3. definizione
  2. acquisire, distinguere e riconoscere i concetti di:
    1. funzione
    2. procedura
Programmata la verifica per la prossima settimana

mercoledì 30 ottobre 2013

Lezione Laboratorio

E' stato introdotto il concetto di SOTTOPROGRAMMA, inteso come un programma RICHIAMABILE da altri programmi. I sottoprogrammi sono stati classificati in: Funzioni e Procedure, sottolineando che le funzioni forniscono un risultato e quindi necessitano di una variabile, all'atto della chiamata,  che intercetti tale risultato attraverso una assegnazione, al contrario delle procedure che non necessitano di altre variabili di supporto.
E' stata proposto un programma da verificare, analizzare ed integrare in laboratorio, salvandolo e pubblicandolo sul proprio blog.

venerdì 4 ottobre 2013

Linguaggi e Paradigmi di programmazione
Classificazione del SW

  • di Base o di Sistema
  • Applicativo
Il sistema operativo

  • Scopo
  • Classificazione