Anteprima
Vedrai una selezione di 4 pagine su 15
Appunti esame informatica  Pag. 1 Appunti esame informatica  Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Appunti esame informatica  Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Appunti esame informatica  Pag. 11
1 su 15
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

L'IDE e i suoi vantaggi

L'IDE offre al programmatore un supporto per la scrittura del codice sorgente. Offre anche diversi vantaggi:

  • Ambiente grafico integrato, formato da vari pannelli che aiutano il programmatore ad avere sotto controllo i molteplici aspetti del progetto su cui sta lavorando;
  • Autocompletamento del codice durante la digitazione e aiuto contestuale. Questa funzione riduce notevolmente la presenza nel codice di errori di battitura;
  • Verifica sintattica automatica durante la scrittura del codice, con suggerimenti per la risoluzione degli errori sintattici più comuni;
  • Debugger visuale: un debugger è un programma utilizzato dal programmatore per eseguire il codice in modo controllato, con la possibilità di introdurre punti in interruzione in cui arrestare l'esecuzione del programma e ispezionare i valori delle variabili in uso;
  • Progettazione visuale degli elementi dell'interfaccia grafica;
  • Accesso rapido e ricerca degli oggetti.
su cui si sta lavorando:
  • Possibilità di generare file per l'installazione del programma binario su vari ambienti di esecuzione;
  • Refactoring automatico del codice sorgente: è l'attività con cui il codice sorgente viene adeguato, nella struttura e nella leggibilità, per rispondere al graduale e continuo mutamento dei requisiti del progetto.

Ciclo di vita e processo di sviluppo di un software:

Il processo di sviluppo è una parte del ciclo di vita del software. Il ciclo di vita del software (software lifecycle) rappresenta le varie fasi della vita di un software, dalla sua concezione al suo ritiro. Di solito il processo di sviluppo inizia dalla concezione e finisce con il rilascio finale e il successivo deployment.

Lo sviluppo di un software potrebbe avvenire sia in singolo che in un team, chiamato team di sviluppo. Sicuramente lo sviluppo in team è molto diverso dallo sviluppo "personale". Nel team ci sono persone con

esperienze diverse, che ricoprono diversi ruoli che hanno diverse abilità:
  • progettare il prodotto software (architetti),
  • costruire il prodotto sw (programmatori),
  • contestualizzare il prodotto sw (esperti di dominio),
  • sviluppare l'interfaccia utente (progettisti di interfaccia),
  • controllare la qualità del prodotto sw (test),
  • utilizzare le risorse di progetto (project manager),
  • riusare il software esistente (gestori delle configurazioni).
Un processo di sviluppo definisce chi fa cosa, quando, e come con lo scopo di conseguire un certo risultato. I sistemi software che costruiamo devono risultare affidabili e sicuri: il processo di sviluppo del software influenza tale controllo. Esistono parecchi modelli di processi software, adatti a prodotti, organizzazioni e mercati diversi. Alcuni strumenti software di sviluppo sono efficaci solo nell'ambito di processi specifici. Il processo di sviluppo del software impatta.

L'organizzazione che sviluppa. L'organizzazione che esegue lo sviluppo impatta la struttura del prodotto (legge di Conway).

Il processo di sviluppo agile tenta di ridurre il rischio di fallimento sviluppando il software in finestre di tempo limitate chiamate iterazioni che, in genere, durano qualche settimana. Ogni iterazione è un piccolo progetto a sé stante e deve contenere tutto ciò che è necessario per rilasciare un piccolo incremento nelle funzionalità del software: pianificazione (planning), analisi dei requisiti, progettazione, implementazione, test e documentazione.

Capitolo 5:

Il coding, o la programmazione, consiste nel dire al computer cosa deve fare, istruzioni che vengono date tramite numeri e parole, quando sono messe nell'ordine giusto il computer è in grado di comprendere quello che deve fare.

L'algoritmo è una descrizione che specifica una serie di operazioni tramite le quali è possibile risolvere un problema.

nel fatto che una soluzione informale è una descrizione generale e non precisa di come risolvere un problema, mentre una soluzione formale è una descrizione precisa e dettagliata di come risolvere un problema utilizzando un algoritmo. Un algoritmo è una sequenza di passi ben definiti che permette di risolvere un problema in modo deterministico. Ogni passo dell'algoritmo deve essere preciso, non ambiguo e deve essere eseguibile in un tempo finito. Un algoritmo può essere espresso in diversi linguaggi di programmazione, come ad esempio C++, Java o Python. La codifica di un algoritmo consiste nella scrittura di un programma utilizzando un linguaggio di programmazione. Un programma è un testo scritto in accordo alla sintassi e alla semantica del linguaggio di programmazione scelto. La scrittura del programma avviene attraverso un insieme ordinato di frasi o istruzioni che specificano quali azioni devono essere compiute per risolvere il problema. Un programma può essere un algoritmo se la sequenza di istruzioni ha una fine, ovvero se eseguendo tutte le istruzioni si ottengono i risultati finali a partire dai dati di ingresso. Tuttavia, un programma può anche non essere un algoritmo se la sequenza di istruzioni non ha una fine, ad esempio quando si tratta di programmi che svolgono una funzione ma non calcolano un risultato. Un esempio di programma che non è un algoritmo sono i semafori. I semafori svolgono una funzione, ovvero regolano il traffico stradale, ma non calcolano un risultato. Pertanto, non è possibile esprimere un algoritmo per i semafori, ma comunque sono molto utili per gestire il traffico stradale in modo efficiente.generica con input (rettangolo con angoli arrotondati)• Blocco di azione generica con output (rettangolo con angoli arrotondati)• Blocco di decisione (rombo)• Blocco di connessione (linea)
  1. I/O (parallelogramma)
  2. Blocco di decisione binaria (rombo)
  3. Blocco di connessione

I flow chart strutturati seguono le regole della programmazione strutturata. Hanno diversi vantaggi:

  • Maggiore formalizzazione del problema
  • Riusabilità del codice
  • Maggiore leggibilità

Un diagramma di flusso è strutturato quando contiene solo un insieme predefinito delle seguenti strutture elementari:

  • Uno ed uno solo blocco START
  • Uno ed uno solo blocco STOP
  • Blocchi di azione e/o di input/output
  • Blocchi di tipo IF - THEN - (ELSE)
  • Blocchi di tipo WHILE - DO
  • Blocchi di tipo REPEAT - UNTIL

Il Teorema di Böhm - Jacopini dice che qualsiasi diagramma di flusso è trasformabile in un diagramma di flusso strutturato equivalente a quello dato. In altre parole, qualunque flusso logico può essere realizzato utilizzando solamente le due strutture di controllo:

  • Meccanismo di decisione

binaria (if– then – else)• meccanismo di ripetizione (loop) (do – while / repeat – until)

Insieme ai blocchi di azione e di input/output.

For: Una derivazione interessante del costrutto DO WHILE è il ciclo a contatore che ha la forma: FOR variabile FROM valore_iniz TO valore_fin DO (Sequenza di operazioni). Alla variabile si attribuiscono tutti i valori compresi tra valore_iniz e valore_fin e, per ogni attribuzione, si esegue la sequenza di istruzioni. Se all'inizio valore_iniz è maggiore di valore_fin, la sequenza di operazioni non viene eseguita.

Lo pseudocodice è un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio "parlato". Detto anche metalinguaggio. L'algoritmo scritto tramite metalinguaggio viene chiamato pseudocodice. Si può passare facilmente da diagramma di flusso a pseudocodice, e viceversa. In sostanza, uno pseudocodice appare come una sequenza di

istruzioniscritte in linguaggio parlato che specificano le operazioni da svolgere per poter eseguire l'algoritmo.

Le espressioni aritmetiche sono sequenze di variabili e costanti combinate tra loro tramite operatori, che possono essere:

  • Aritmetici: come somma (+), sottrazione (-) o divisione (/);
  • Espressioni reazionali: danno come risultato vero o falso, possono essere maggiore (>), minore (<), uguale (==) o diverso (!=);
  • Espressioni: and, or, not e anch'esse restituiscono vero o falso.

Nella valutazione di una espressione, si sostituisce ad ogni variabile il suo valore attuale e si eseguono le operazioni secondo un ordine prestabilito da regole di precedenza (possono comparire parentesi). A tutte le variabili che compaiono nell'espressione deve essere stato associato un valore prima della valutazione dell'espressione.

Pseudocodice:

  • Per la creazione di variabili si utilizza il comando: var;
  • Ingresso (inserire informazioni) si utilizza,
come nel diagramma di flusso il comando: <input> (ricevere informazioni) si utilizza, come nel diagramma di flusso il comando: <output> (stampa).

Assegnamento: si calcola il valore alla destra del simbolo e lo si assegna alla variabile indicata, alla sinistra del simbolo.

Istruzioni condizionali: Esecuzione dell'istruzione: Si valuta la condizione specificata all'interno delle parentesi tonde: se è verificata, si prosegue le istruzioni immediatamente successive (ramo then) racchiuse nella parentesi graffe, altrimenti (se non è verificata) si prosegue con le istruzioni tra parentesi graffe dopo l'istruzione "altrimenti" (ramo else).

1. Iterazione o Ripetizione: Esprime la ripetizione di una sequenza di istruzioni. Nel caso più generale (ripetizione enumerativa), è costituita da:

2. Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo (viene eseguita una sola volta);

3. Controllo: determina, inmata da regole sintattiche e semantiche che permette di scrivere programmi. Un programma, invece, è una sequenza di istruzioni scritte in un linguaggio di programmazione che viene eseguita da un computer. Capitolo 7: I tipi di dati sono fondamentali in un linguaggio di programmazione. Essi definiscono il tipo di valore che una variabile può contenere e le operazioni che possono essere eseguite su di esso. I tipi di dati più comuni sono: interi, decimali, stringhe, booleani, array e oggetti. Capitolo 8: Le strutture di controllo sono utilizzate per controllare il flusso di esecuzione di un programma. Le strutture di controllo più comuni sono: l'if-else, il ciclo for, il ciclo while e il ciclo do-while. Queste strutture permettono di eseguire determinate istruzioni solo se una condizione è vera o di ripetere un blocco di istruzioni fino a quando una condizione è vera. Capitolo 9: Le funzioni sono blocchi di codice che possono essere richiamati più volte all'interno di un programma. Le funzioni permettono di organizzare il codice in modo modulare e riutilizzabile. Esse possono avere parametri di input e restituire un valore di output. Capitolo 10: La programmazione orientata agli oggetti è un paradigma di programmazione che si basa sulla creazione di oggetti che interagiscono tra loro. Gli oggetti sono istanze di classi e contengono dati e metodi. La programmazione orientata agli oggetti permette di organizzare il codice in modo più strutturato e di creare programmi più complessi. Capitolo 11: La gestione degli errori è un aspetto importante nella programmazione. Gli errori possono essere di diversi tipi, come errori di sintassi, errori di runtime o errori logici. È possibile gestire gli errori utilizzando try-catch blocks o lanciando eccezioni. Capitolo 12: La programmazione web è un campo molto vasto che comprende lo sviluppo di siti web, applicazioni web e servizi web. Le tecnologie più comuni utilizzate nella programmazione web sono HTML, CSS, JavaScript, PHP e SQL. La programmazione web richiede conoscenze sia di frontend che di backend development. Capitolo 13: La programmazione mobile è lo sviluppo di applicazioni per dispositivi mobili, come smartphone e tablet. Le piattaforme più comuni per lo sviluppo di app mobile sono iOS (utilizzando il linguaggio Swift) e Android (utilizzando il linguaggio Java o Kotlin). La programmazione mobile richiede conoscenze specifiche delle piattaforme e delle API disponibili. Capitolo 14: La programmazione di giochi è un settore molto creativo e stimolante. Lo sviluppo di giochi richiede conoscenze di programmazione, grafica, fisica e matematica. Le tecnologie più comuni utilizzate nello sviluppo di giochi sono Unity (utilizzando il linguaggio C#) e Unreal Engine (utilizzando il linguaggio C++).
Dettagli
Publisher
A.A. 2022-2023
15 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher edoref03 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Macerata o del prof Romeo Luca.