Linguaggi e concetti base di programmazione
Da Wikiversità, l'università aperta.
Questo modulo necessita di essere "wikificato", ovvero formattato secondo gli standard di Wikiversità (vedi l'elenco degli articoli da wikificare). Collabora anche tu a rendere questo articolo conforme alle linee guida (vedi anche qui) poi rimuovi questo avviso.
Questa lezione è incompleta
Tutti i contributi sono ben accetti perché sono state scritti pochi (o nessun) argomenti di questa lezione.
Indice |
[modifica] Linguaggi di programmazione
[modifica] Paradigmi
[modifica] Scelta del linguaggio
[modifica] Scelta degli strumenti e dei linguaggi per il corso
Scegliere il linguaggio di programmazione per un corso di programmazione non è cosa facile ed esistono molte scuole di pensiero in materia. Nel tentativo di dare la maggior panoramica possibile sia per quanto riguarda i diversi paradigmi sia per quanto riguarda le diverse scelte a livello concettuale la scelta ricade sui seguenti:
- C/C++
- Java
- Phyton
[modifica] Concetti base di programmazione
In questa parte del corso verranno presi in esame concetti basilari della programmazione. Concetti che si possono incontrare in tutti i linguaggi di programmazione imperativa e ad oggetti. Alcuni di questi concetti, invece, non sono usati nella programmazione funzionale, che però sarà trattata più esaurientemente più avanti.
[modifica] Hello World
L'Hello World è tipicamente il primo programma che viene insegnato a scrivere agli aspiranti programmatori; esso è solitamente semplice nella scrittura, ma usa già diverse strutture del linguaggio di programmazio0ne preso in oggetto.
Il programma esegue semplicemente la stampa a video su una finestra di shell (su Windows, di MS-DOS) della scritta Hello World, rimanendo in quello stato fino a quando l'utente non chiuderà la finestra relativa al programma (o non terminerà l'esecuzione dello stesso, se eseguito all'interno di un ambiente di shell).
In C, esso si scrive:
#include<stdio.h>
{
printf ("Hello World");
system pause;
return 0;
}
La riga
#include<stdio.h>
serve ad indicare che vanno caricati i valori ed i comandi relativi alla libreria stdio.h, senza i quali il programma non può nemmeno partire.
La parentesi graffa aperta indica l'inzio del codice che comporrà il programma.
La riga
printf ("Hello World");
serve ad indicare al calcolatore che dovrà visualizzare su schermo la scritta riportata fra le parentesi e le virgolette, in questo caso Hello World; il punto e virgola indica la fine della riga di codice, e se omesso porta alla non compilazione dello stesso.
La riga
system pause;
che non funziona su tutti i sistemi operativi per il quale il linguaggio C è scrivibile, indica che il sistema operativo deve mettere in pausa il programma in esecuzione fino alla pressione di un tasto qualsiasi.
La riga
return 0;
indica di ritornare al sistema operativo il valore zero e di terminare il programma (zero è un valore che indica la corretta esecuzione del programma, valori diversi da zero indicano un'interruzione improvvisa dello stesso.
La parentesi graffa chiusa indica la fine delle righe di codice che compongono il programma.
[modifica] Variabili ed operazioni matematiche
Ogni linguaggio di programmazione deve essere in grado di manipolare e conservare dati: la natura (o il tipo) di tali dati dipende dal linguaggio.
Tipi di dati comuni a molti linguaggi sono: tipo carattere, tipo stringa, tipo numerico intero, tipo numerico decimale ecc.
I linguaggi di programmazione danno la possibilità di fare riferimento all'area di memoria nello spazio degli indirizzi riservato al programma, nella quale è memorizzato il valore di un dato: il programmatore può quindi utilizzare nomi logici (ad esempio: stipendio, imponibile, aliquota, cognome ecc.) per fare riferimento alle aree di memoria nelle quali sono memorizzati i valori di questi dati.
Ognuno di questi nomi logici prende il nome di variabile.
Definizione: una variabile in un programma è un nome logico che individua l'area di memoria nella quale è ospitato un dato.
I dati da solo sarebbero poco utili se non vi fosse la possibilità di manipolarli in qualche modo.
Anche le operazioni ammesse sui dati e la loro sintassi possono variare da linguaggio a linguaggio.