Ordinare 4 dati


Con 6 confronti/scambi


Prova con i numeri

L’algoritmo applicato si chiama Bubble Sort.


Codifica


Con 5 confronti/scambi


Prova con i numeri


Ci sono 4 valori da ordinare


Codifica

Ordinare 3 dati

Prova con i numeri


In generale


Codifica

Pseudocodice

Da Wikipedia

In informatica, nell’ambito della programmazione, per pseudocodice, pseudocodifica, pseudolinguaggio o linguaggio di progettazione si intende un linguaggio il cui scopo è la rappresentazione di algoritmi in alternativa al classico diagramma di flusso e non soggetto a molte limitazioni intrinseche di quest’ultimo tipo di rappresentazione.
La stesura della pseudocodifica può precedere la codifica del programma scritto in un linguaggio di programmazione essendo spesso un linguaggio a metà tra la logica proposizionale e il linguaggio di programmazione vero e proprio.

Non esiste uno pseudolinguaggio standard e convenzionalmente usato: gli autori di libri o corsi di programmazione definiscono spesso un proprio pseudolinguaggio, utilizzato nelle loro pubblicazioni; inoltre ciascun programmatore può essere portato ad utilizzare una propria variante.
Ogni pseudolinguaggio ha un proprio lessico, una propria sintassi e una propria semantica, ma la progettazione di questo tipo di formalismo è volta alla comprensibilità e alla leggibilità del codice; la sintassi sarà quindi meno rigorosa rispetto ad un vero linguaggio e le parole chiave saranno evocative, in modo da rendere più intuitiva la sua interpretazione.

Approfondisci

Quesiti

Programmazione visuale

Da Wikipedia

Un Linguaggio di Programmazione Visuale (Visual Programming Language V.P.L.) è un linguaggio che consente la programmazione tramite la manipolazione grafica degli elementi e non tramite sintassi scritta.

I vantaggi della programmazione visuale sono la facilità di apprendimento e la possibilità di visualizzare lo stato del programma durante le fasi di debug.

La programmazione visuale si ritrova in diversi ambiti

  • Didattico: Scratch, App Inventor, App Lab (code.org)
  • Game Design: GameMaker, …
  • Industriale: LabVIEW, …
  • Multimediale: …

In ambito didattico si può scegliere tra ambienti di sviluppo online o da installare

Online

Da installare

  • Alice
  • Scratch
  • Squeak
  • Robot Emil

In alternativa esistono IDE che permettono di progettare un’applicazione partendo dal diagramma di flusso (flow-chart)

RISORSE ONLINE

Linguaggi di programmazione

Definizioni

  • simboli + regole
  • parole + regole
  • Linguaggio naturale – artificiale – formale – logico/matematico – di programmazione – di progetto – pseudolinguaggio – metalinguaggio – di alto livello – di basso livello – linguaggio macchina – lato client – lato server – di script – di comandi – esoterico – …
Storia

  • 1957 – FORTRAN (77, 90, …)
  • 1958 – ALGOL (60, 68)
  • 1959 – LISP
  • 1961 – COBOL (68, 74, 85, 2002)
  • 1964 – BASIC
  • 1967 – LOGO
  • 1970 – Pascal
  • 1972 – C
  • 1979 – Ada (83, 95, …)
  • 1983 – C++
  • 1991 – Python – Visual Basic
  • 1995 – ASP – Delphi – Java – Javascript – PHP
In ordine alfabetico


I linguaggi possono essere classificati a seconda del paradigma di programmazione che realizzano

  • Funzionale: AutoLISP – Common Lisp – Haskell – LISP – LOGO – Mathematica – Scala – Scheme
  • Logico: PROLOG (Programming logic – PROgrammation en LOGique)
  • Orientato agli oggetti: C++ – Eiffel – Delphi – Java – Simula – Smalltalk – VisualBasic 4
  • Script: ActionScript (Flash) – AppleScript – ASP – Bash (Unix, Linux, …) – Javascript – JSP (Java server page) – Perl – PHPPython – Ruby – Tcl – VBScript

Molti linguaggi si presentano come multiparadigma, forniscono al programmatore una sintassi molto flessibile / completa

  • Adaprogrammazione modulare, orientata agli oggetti, concorrente, distribuita
  • C#: … imperativa, dichiarativa, funzionale, generica, object-oriented, component-oriented
  • Common Lispprocedurale, imperativa, funzionale, object-oriented
  • F#: … imperativa, funzionale, object-oriented
  • Scala… funzionale, object-oriented

Strumenti di sviluppo


Forse non hai bisogno di un linguaggio di programmazione tradizionale, considera


RISORSE ONLINE

  1. Lista dei linguaggi di programmazione
  2. tutorialspoint (C, C++, C#, Java, Pascal, Python, …)
  3. tekh.io