Vai al contenuto principale
TiConsiglio

Riassunto · Quiz Concorso INPS 499 Assistenti Informatici

Linguaggi di programmazione — scheda di studio

di Redazione TiConsiglio

Fonti non ancora indicate

Contenuto a fini di studio e autovalutazione, generato con il supporto dell'AI e sottoposto a controlli anche automatizzati. Può contenere imprecisioni. Le informazioni hanno carattere divulgativo e non sostituiscono la normativa vigente né gli atti ufficiali cui occorre sempre fare riferimento.

Perimetro della materia

La materia "Linguaggi di programmazione" del concorso INPS 499 posti comprende 485 quesiti a risposta multipla, di taglio nozionistico: non si scrive codice, ma si riconoscono sintassi, parole chiave e concetti. Compaiono sia tecnologie attuali (Python, Java) sia versioni datate (Visual Basic 6.0, J2ME, WAP/WML), con peso medio-alto rispetto alle altre materie del bando.

Mappa degli argomenti

Area Temi ricorrenti Nota
Fondamenti e paradigmi Compilato vs interpretato, tipologia di linguaggi (procedurale, OO, script), ciclo di vita di un programma Domande di confronto tra concetti
Java Struttura di una classe, keyword extends, pacchetti java.swing, compilazione ed esecuzione di .class Include anche riferimenti a J2ME
Python Dichiarazione variabili, tipi built-in (list, dict, tuple), funzioni round(), import *, slicing Versione 3.x è quella di riferimento
Visual Basic 6.0 / VBA IDE, Watch Window, proprietà TabIndex, eventi di focus, registrazione COM, modalità Stand-alone vs Network Domande su ambienti legacy
Web e markup (HTML/XML/CGI/WAP) Tag HTML base, struttura XML, linguaggio WML, CGI methods, editor WYSIWYG, differenza tra HTML e CSS Spesso accoppiato a quesiti su sicurezza e CAD

Fondamenti e paradigmi

  • Distinguere un linguaggio compilato (es. Java, C) da uno interpretato (es. Python, VBScript) e riconoscere le fasi di compilazione, linking e runtime.
  • Conoscere i principali paradigmi di programmazione: procedurale, orientato agli oggetti, funzionale; capire quale paradigma predomina in Java e Python.
  • Sapere che il ciclo di vita di un programma comprende scrittura, compilazione/interpreta, linking (se necessario), esecuzione e gestione degli errori.

Java

  • La dichiarazione di classe utilizza la keyword class e l'ereditarietà si ottiene con extends; implements è riservato alle interfacce.
  • I componenti grafici Swing risiedono nel package javax.swing; ad esempio JButton, JFrame.
  • Per eseguire un file compilato occorre il comando java NomeClasse dopo aver creato il .class con javac.
  • J2ME (Java 2 Micro Edition) è la piattaforma destinata a dispositivi mobili; le API più note sono CLDC e MIDP.
  • Il modello dei Windows Services è gestito dal Service Control Manager; l'equivalente concettuale in Java si realizza con java.lang.Runnable.

Python

  • Una variabile si dichiara semplicemente assegnandole un valore: numero = 10; il tipo è determinato a runtime.
  • Le liste si creano con mylist = [1, 2, 3]; il metodo pop() rimuove e restituisce l'ultimo elemento.
  • Per arrotondare un numero a intero più vicino si usa round(valore); per arrotondare verso il basso o l'alto esistono math.floor() e math.ceil().
  • La formattazione di stringhe in Python 3 avviene con f-string (f"{var}") o con str.format().
  • L'importazione di tutti i nomi di un modulo si effettua con from modulo import *; è sconsigliata perché può creare conflitti di namespace.

Visual Basic 6.0 / VBA

  • La Watch Window permette di monitorare il valore di variabili durante il debug; la voce falsa è spesso quella che afferma che mostra anche il contenuto di oggetti complessi senza espandere le proprietà.
  • Il focus degli oggetti è controllato dalla proprietà TabIndex; l'ordine di tabulazione segue il valore numerico crescente.
  • La registrazione di un componente COM avviene con regsvr32.exe al momento della compilazione o dell'installazione dell'eseguibile.
  • Le applicazioni Stand-alone in VB6 usano la libreria ADO per connettersi a SQL Server; la modalità Network richiede una configurazione dedicata.
  • Il ciclo di vita di un controllo passa per gli eventi Load e Terminate; confondere Unload con Terminate è un errore frequente.

Web e markup (HTML/XML/CGI/WAP)

  • HTML definisce la struttura di una pagina; il linguaggio di stile è CSS. Il contenuto dinamico spesso si realizza con JavaScript.
  • XML è un linguaggio di markup flessibile; la nidificazione degli elementi deve rispettare la correttezza ben formata e, se presente, la validazione DTD o XSD.
  • WAP (Wireless Application Protocol) utilizza il linguaggio WML; è ormai obsoleto ma compare nei quiz per verificare la conoscenza storica.
  • Il Common Gateway Interface (CGI) supporta i metodi HTTP GET e POST; la risposta è un flusso di testo (HTML o altro).

Collegamenti con le altre materie

Le conoscenze sui linguaggi di programmazione si intrecciano con:

  • Database relazionali: la normalizzazione, i concetti di tablespace, undo/rollback e checkpoint sono spesso oggetto di domande che richiedono di associare il linguaggio (SQL in Python o Java) al funzionamento interno di Oracle.
  • Sistemi operativi Linux/Windows: la compilazione di file .class o l'esecuzione di script Python avviene tipicamente da riga di comando; su Linux il kernel interagisce con l'hardware tramite driver e moduli.
  • Sicurezza informatica, GDPR e Codice dell'amministrazione digitale: la generazione di firme digitali può avvenire tramite librerie Java (java.security) o Python (hashlib); il formato XML resta il mezzo principale per lo scambio di documenti elettronici nella PA (es. FatturaPA), con validazione e trasformazione XSLT.

Errori tipici e trappole d'esame

  • Confondere extends (ereditarietà di classe) con implements (implementazione di interfaccia) in Java.
  • Attribuire a Python la sintassi int x = 5; tipica di Java/C; in Python non esistono dichiarazioni di tipo.
  • Ritenere che Watch Window mostri i valori di tutti gli oggetti senza espandere; in realtà è necessario aggiungere espressioni specifiche.
  • Assumere che tutti i file .class siano eseguibili direttamente; occorre il metodo java NomeClasse e la presenza del metodo main.
  • Scambiare le funzioni floor() e ceil() in Python; una è per arrotondare verso il basso, l'altra verso l'alto.

Checklist di ripasso

  • Identifica se un linguaggio è compilato o interpretato e le relative fasi di esecuzione.
  • Ricorda le keyword di ereditarietà in Java: extends per classi, implements per interfacce.
  • Conosci la sintassi di base per dichiarare variabili, liste e dizionari in Python.
  • Sapere come avviare un file .class da riga di comando e quali opzioni di compilazione usa javac.
  • Riconosci le funzioni di arrotondamento in Python: round(), math.floor(), math.ceil().
  • Memorizza i package principali di Swing (javax.swing) e le classi più usate.
  • Capisci la differenza tra GET e POST nei CGI e quando si usano.

Fonti e aggiornamento

Per questo materiale non abbiamo ancora pubblicato i riferimenti normativi puntuali. Stiamo completando la copertura su tutto il catalogo: se trovi un punto che non ti convince, segnalalo qui sotto — le segnalazioni vengono lette una per una.

Riassunti per questo concorso