Pascal Fc

Universidad de Málaga Dpto. Lenguajes y Ciencias de la Computación Programación Concurrente Introducción a Pascal-FC Ma

Views 130 Downloads 6 File size 346KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad de Málaga Dpto. Lenguajes y Ciencias de la Computación Programación Concurrente

Introducción a Pascal-FC Manuel Díaz, Daniel Garrido

Pascal-FC z Lenguaje

para docencia

– Desarrollado en la Univ. de York z Alan Burns, Geoff Davies – Pascal simplificado z No tiene strings, ficheros, punteros ni módulos – Mecanismos para concurrencia z Semáforos, monitores, paso de mensajes, rendezvous, recursos protegidos

1

Pascal-FC z

Modelo de procesos en lenguajes concurrentes – Estructura z z

Estáticos Dinámicos

– Nivel z

Jerarquías de procesos

– Inicialización z

¿Parámetros en tiempo de ejecución?

– Representación z z

Procesos explícitos Procesos no explícitos

– Forma de terminación z

Normal, errores, abortados, ...

Pascal-FC z Modelo

de procesos en Pascal-FC

– Estructura estática – Lenguaje plano – Permite inicialización – Procesos explícitos

2

Pascal-FC program const (* Constantes *) type (* Tipos de usuario *) process A() var (* Variables locales *) begin (* Cuerpo del proceso *) end;

(* Cuerpo principal *) begin .... cobegin (* Creación de procesos *) A; B; C; coend; end.

Pascal-FC z Procesos process A() var (* Variables locales del proceso*) begin (* Cuerpo del proceso *) end;

process type tipo_proceso() var (* Variables locales del proceso*) begin (* Cuerpo del proceso *) end;

3

Pascal-FC z Procesos process type tipo_proceso(id:integer) begin writeln(‘Mi id: ‘,id) end;

var a,b:tipo_proceso; c:array [1..10] of tipo_proceso; begin cobegin a(20); b(30); for i:=1 to 10 do c[i]; coend end.

Pascal-FC z Declaraciones const PI=3.14; type lista=array [1..10] of integer; punto=record x:integer; y:integer; end;

var a:integer; b:char; c:real; d:boolean; e:array [1..10] of integer; f:lista;

4

Pascal-FC z Asignación:

variable:=valor; z Sentencia nula: null;

Pascal-FC z Sentencias

de selección: if

if then sentencia else sentencia_else;

if a