Problemi con numeri

Problemi di base Dati 2 (3/4) numeri reali calcolare la somma il prodotto la media il valore minimo il valore massimo Dato un numero intero < 1000 visualizzare le sue cifre separatamente 128: 1 2 8 calcolare la somma delle sue cifre 128: 1+2+8=11 calcolare la somma dei quadrati delle sue cifre 128: 1+4+64=69 Verificare … Leggi tutto

Quick sort

Un algoritmo di ordinamento molto complicato: ricorsivo e difficile da ricordare ma ottimo: è quasi sempre molto veloce… Procedure QUICKSORT(var V: Vettore; Inf, Sup: Integer); Var   i, j: Integer;   Perno: Elemento; Begin1   If(Inf < Sup) Then       Begin         i:=Inf;         j:=Sup;     ... Leggi tutto

Merge Sort

Algoritmo intuitivo e ottimo. Utilizza l’algoritmo di fusione di sottosequenze ordinate. Procedure MERGESORT(Var V: Vettore; Inf, Sup: Integer); Var   Medio: Integer; Begin   If(Inf < Sup) Then       Begin         Medio:=(Inf+Sup) Div 2;         MERGESORT(V, Inf    , Medio);         MERGESORT(V, Medio+1, Sup ... Leggi tutto

Selection Sort

Algoritmo intuitivo e più veloce del bubble sort. Si può individuare il valore minimo in un array V e scambiarlo con il valore alla prima posizione. PosMin:=1; For j:=2 To N    If(V[j] < V[posMin]) Then       PosMin=j; SCAMBIA(V, 1, PosMin) In questo modo l'elemento alla posizione 1 occupa definitivamente il posto che ... Leggi tutto

Liste

Liste a puntatori: semplice, circolare, con testa e coda, bidirezionale, multipla. Lista semplice Puntatore di testa e tre nodi con informazioni A-B-C Lista con testa e coda Puntatore di testa e puntatore di coda Lista circolare L’ultimo nodo punta alla testa Il nodo iniziale è meglio che sia l’ultimo… Lista bidirezionale A doppi puntatori: nei … Leggi tutto

Problemi con ADT

Tipi di dato logico intero molto lungo reale con precisione fissata stringa con lunghezza fissa Matematica Enti geometrici piani: quadrato, cerchio, … enti geometrici solidi: cubo, sfera, … Equazione di I grado equazione di II grado Sistema di equazioni di I grado sistema di equazioni di II grado Numeri razionali numeri complessi vettori 2d / … Leggi tutto

ADT

Definizione Un tipo di dati del quale conosciamo l’interfaccia ma non l’implementazione non presente nel linguaggio di programmazione. Progettazione – Analisi e progetto Elenco analitico delle proprietà la tipologia degli elementi componenti il nuovo dato; la struttura relazionale che esiste tra le componenti, ovvero il legame che caratterizza la struttura; il dominio dei valori possibili che … Leggi tutto

Funzioni

Notazioni Prefissa -x Infissa x+y Postfissa x! xy+ Funzionale Succ(x) Altre… x2 xy logab Notazione funzionale Un’espressione come la seguente Z

Unità Insiemi

Analisi … Unità {************************************************************************} Unit Insiemi; {************************************************************************} INTERFACE {************************************************************************} Const MaxIns = 20; Type  Elemento = 1..MaxIns;     Insieme = Array[Elemento] Of Boolean; Procedure AggiungiE    (Var I: Insieme; e: Elemento     ); Procedure TogliE       (Var I: Insieme; e: Elemento     );  Function AppartieneE  (    I: Insieme; e: Elemento … Leggi tutto

Unità Complessi

Analisi … Unità Unit Complex; {—————————————————————-} Interface {—————————————————————-} Type Comp = Record       reale,       immag: Real;     End; Procedure InitC (Var r: Comp; reale, immag: Real); Function RealeC (Var r: Comp): Real; Function ImmagC (Var r: Comp): Real; Procedure RecC (Var r: Comp); Procedure OppC (Var r: Comp); Function … Leggi tutto