4. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo l Invio o il tasto ESC. (REPEAT)

Documenti analoghi
Appunti d Informatica III Programmi Pascal

unità didattica 3 Le strutture condizionali e le strutture iterative

Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

_TRACCIA DEL PROGETTO _ANALISI DI MASSIMA _TABELLA VARIABILI _DIAGRAMMA A BLOCCHI _PSEUDO-CODIFICA _LISTING DEL PROGRAMMA _CASO PROVA _APPENDICE:

LESSICO E SINTASSI DEL PASCAL

Probabilità e numeri casuali Teoria e programmazione Pascal e C++

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

unità didattica 2 Le prime istruzioni notevoli in Pascal

begin clrscr; writeln(' Disegna punti casuali con colore casuale (>0) e cerchi',#10); write('ritardo (0-255) = '); readln(ritardo);

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.

modulo on line Uno strumento per programmare: cenni al linguaggio Pascal

Elementi di Informatica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Tecniche di compressione senza perdita

Programmazione. 1 Introduzione. Tutto per la gloria di Dio.

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Introduzione al linguaggio Fortran 90

GUIDA BASE DI PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

Laboratorio di programmazione

Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano

Input Output Semantica Dimensione del vettore (numero elementi) V( ) Singolo elemento numerico del vettore MIN Elemento minore MAX Elemento maggiore

UD 3.2b: Programmazione in Pascal (1)

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Corso di Informatica 1 Esercitazione n. 4

Rappresentazione con i diagrammi di flusso (Flow - chart)

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

L'USO DELLE FRECCE IN PASCAL

La rappresentazione delle informazioni

Utilizzo in linguaggio Pascal.

Algoritmo per l ordinamento di un array

PROGRAMMAZIONE: Le strutture di controllo

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

Laboratorio di Algoritmi e Strutture Dati

Caratteri e stringhe

Costrutti condizionali e iterativi

Programmare in C. Esempio: Algoritmo del Risveglio

Problema_3 Tesi_1, Tesi_2, Tesi_3 2.2 Informatica Es_3) Eseguire le seguenti divisioni tra polinomi

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

STRUTTURE DI CONTROLLO

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Esercitazione 4. Comandi iterativi for, while, do-while

La Rappresentazione Dell Informazione

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

28/02/2014 Copyright V. Moriggia

Automa deterministico con prospezione 1. < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R. se a Gui(X α) senza spostamento della testina.

6.1 L uso di istruzioni di input da console con la classe Tastiera

3. La sintassi di Java

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

TURBO PASCAL ver. 7.0

Mini-Corso di Informatica

Come ragiona il computer. Problemi e algoritmi

La principale modalità di calcolo è l applicazione di funzioni

Numeri e caratteri in binario. Prof.ssa Antonella Serra

Variabili strutturate

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT)

Il software e la programmazione

I file sequenziali in QBASIC

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Fondamenti di Informatica T-1 Modulo 2

Introduzione alla programmazione Esercizi risolti

= < < < < < Matematica 1

MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL

STRUTTURE (O COSTRUTTI) DI CONTROLLO

Corso di Fondamenti di Informatica Classi di istruzioni 2

Da questa definizione si evincono le due proprietà fondamentali dell'algoritmo:

Problemi, algoritmi e oggetti

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ])

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Rappresentazione dei numeri naturali. La codifica associa alle informazioni dell alfabeto sorgente uno o più simboli dell alfabeto codice:

Programmazione Procedurale in Linguaggio C++

2. Algoritmi e Programmi

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

1 MODULO COMPETENZE DI ASSE

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Corso di Fondamenti di Informatica

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Dall algoritmo al programma

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Esercizi Svolti di Programmazione

Laboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato

Transcript:

1. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo un carattere numerico. (REPEAT). until (w=> 0 ) and (w<= 9 );. until (w in [ 0.. 9 ]); 2. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo una lettera dell alfabeto inglese compresa fra A e H o la lettera V. (REPEAT). until (w=> A ) and (w<= H ) or (w= V ); 3. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo una vocale, indifferentemente minuscola o maiuscola. (REPEAT). w:=upcase(readkey) until (w in [ A, E, I, O, U ]); 4. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo l Invio o il tasto ESC. (REPEAT). until (w=chr(13)) or (w=chr(27)); {oppure...} until (w=#13) or (w=#27); 5. Realizzare un programma Pascal che stampi al centro dello schermo ogni carattere, convertito in maiuscolo, digitato dalla tastiera finché non si prema il tasto ESC. program Tasti; uses crt; var c:char; Prof. A.Venia Pagina 1

gotoxy(40,12); c:=readkey; write(upcase(c)) until c=#27; 6. Caricare da input un Array di stringhe e stamparne poi tutte le iniziali. (FOR) Program stringhe; Var A:Array[1..50] of string; For k:=1 to 50 do Readln(A[k]); For k:=1 to 50 do Write(A[k][1]); 7. Caricato da input un Array numerico di tipo intero, stampare prima tutti quelli pari e poi tutti quelli dispari. (FOR) Program pari; Var A:Array[1..50] of integer; For k:=1 to 50 do Readln(A[k]); For k:=1 to 50 do if not(odd(a[k])) then Writeln(A[k]); For k:=1 to 50 do if odd(a[k]) then Writeln(A[k]); 8. Realizzare un programma Pascal che, data da input una stringa, calcoli e stampi la somma dei codici ASCII dei singoli caratteri ed infine ne calcoli e stampi il valore medio. (FOR) Program codici; Var A:string; S:integer; M:Real; Readln(A); S:=0; For k:=1 to length(a) do S:=S+ord(A[k]); Writeln(S); M:=S/length(A); Writeln(M); 9. Data da input una stringa S e un numero N (<255), se N è pari allora per N volte stampare la stringa S altrimenti cancellare lo schermo e stampare L informatica ci tiene compagnia. (IF FOR) Program prova; Uses crt; Var S:string; K,N:byte; Prof. A.Venia Pagina 2

Readln(S); If Not(odd(N)) then For k:=1 to N do Writeln(S) else clrscr; write( L informatica ci tiene compagnia ) 10. Realizzare un programma Pascal che dati da input due interi m ed n, calcoli e stampi la somma di tutti i termini fra il più piccolo e il più grande dei due numeri dati esclusi gli estremi. (FOR IF) Program somma; Var m,n,dep,k,s:integer; Readln(m); Readln(n); If m>n then {scambio di m e n} Dep:=m; m:=n; n:=dep S:=0; For k:=m+1 to n-1 do S:=S+K; Write(S); 11. Realizzare un programma Pascal che, caricati da input due Array numerici della stessa dimensione, stampi la media dei valori che hanno lo stesso indice all interno dei due Array e calcoli anche la posizione del valore medio più grande. (FOR IF) Program somma; Var A,B:Array[1..100] of integer; Dep:Real; K,p:byte; For k:=1 to 100 do Readln(A[k]); For k:=1 to 100 do Readln(B[k]); p:=1; For k:=1 to 100 do Dep:= (A[k]+B[k])/2 Writeln(Dep); If Dep>(A[p]+B[p])/2 then p:=k Write(p); 12. Realizzare un programma Pascal che, caricato da input un Array numerico, incrementi di uno tutti gli elementi di posto pari e diminuisca di uno quelli di posto dispari. Stampi, infine, l'array così modificato. (FOR IF) Program dispari; Var A:Array[1..100] of integer; Prof. A.Venia Pagina 3

For k:=1 to 100 do Readln(A[k]); For k:=1 to 100 do if odd(k) then A[k]:=A[k]-1 else A[k]:=A[k]+1; For k:=1 to 100 do Writeln(A[k]); 13. Realizzare un programma Pascal che, dati da input due stringhe, stampi alternativamente un carattere della prima ed uno della seconda; nel caso in cui i caratteri di una delle due stringhe siano già terminati vengono sostituiti da asterischi. (IF FOR) Program stringhe; Var A,B:string; K,m,m,Dep:byte; Readln(A); Readln(B); m:=length(a); n:=length(b); If m<n then For k:=1 to m do Write(A[k],B[k]); For k:=m+1 to n do Write( *,B[k]) End else For k:=1 to n do Write(A[k],B[k]); For k:=n+1 to m do Write(A[k], * ) End; 13. Dati due array (chiamati X e Y) di 100 elementi di tipo intero, caricare il primo da input. Copiare gli elementi di X in Y con la seguente regola: il k-esimo elemento di Y è uguale alla somma dei primi k elementi di X cioè Y[1] X[1]; Y[2] X[1]+X[2]; Y[3] X[1]+X[2]+X[3];.. Stampare, infine, Y. (FOR) program somme_parziali; uses crt; var X,Y:array[1..100] of integer; s:integer; k:byte; for k:=1 to 100 do readln(x[k]); s:=0; for k:=1 to 100 do s:=s+x[k]; Y[k]:=s for k:=1 to 100 do writeln(y[k]); until keypressed Prof. A.Venia Pagina 4

14. Data da input una stringa S, trovare il carattere più grande in essa contenuto. program stringa; uses crt; var S:string; c:char; k,l:byte; readln(s); L:=length(S); C:=S[1]; for k:=2 to L do if S[k]>c then c:=s[k]; writeln(c); until keypressed Prof. A.Venia Pagina 5

CODIFICA Data una stringa, si vuole trasformarla sostituendo ogni suo carattere con quello successivo nel codice ASCII. program codifica_1; k:byte; for k:=1 to length(s) do s[k]:=succ(s[k]); Sostituendo al valore 1 una variabile, si può ottenere uno spiazzamento a nostra scelta: codifica_3. program codifica_3; k,n:byte; n:=... for k:=1 to length(s) do s[k]:= chr(ord(s[k])+n); Ci proponiamo ora di realizzare una codifica ciclica, cioè, quando una lettera codificata supera la posizione dell ultimo carattere, che è la Z, allora ricomincia dalla A: codifica_5. Nel caso in cui lo spostamento (che da ora in poi chiameremo spiazzamento) fosse più grande di 1, questo sistema non sarebbe più così facilmente applicabile; daremo perciò la nuova versione: codifica_2. program codifica_2; k:byte; for k:=1 to length(s) do s[k]:= chr(ord(s[k])+1); Volendo codificare solamente i caratteri dell alfabeto, dobbiamo aggiungere un controllo con l istruzione IF. codifica_4. program codifica_4; k,n:byte; n:=... for k:=1 to length(s) do if upcase(s[k]) in [ A.. Z ] then s[k]:= chr(ord(s[k])+n); program codifica_5; k,n:byte; n:=... for k:=1 to length(s) do if upcase(s[k]) in ['A'..'Z'] then p:=ord(s[k])+n; if upcase(chr(p))>'z' then p:=p-26; s[k]:= chr(ord(p)); Prof. A.Venia Pagina 6