SlideShare una empresa de Scribd logo
ALGORITMOS DE PETERSON Y LAMPORT
Nombre: Franz Chanini Mena 2018-119024
1.Algoritmo de Peterson: Problema de los esquimales
Desarrollar dos archivosdealgoritmo de Peterson tomando como referencia el problema de los esquimales,
trabando con dos procesos P1 y P2, donde:
- El primero contara solo con la variable turno, con valores: 1 y 2
- El segundo contara con la variable pizarra/bandera, con valores: True y False
Para los ejercicios debe de mostrar mensajes como:
- Esquimal 1 Pescando...
- ESQUIMAL 2 PESCANDO...
a.- El primero contara solo con la variable turno, con valores: 1 y 2
program peterson;
var
turno:integer;
process p1;
begin
repeat
turno:=2;
writeln('esquimal 1 pescando...');
forever
end;
process p2;
begin
repeat
turno:=1;
writeln('ESQUIMAL 2 PESCANDO...');
forever
end;
begin
turno:=2;
cobegin
p1;
p2;
coend;
end.
b.-El segundo contara con la variable pizarra/bandera, con valores: True y False
program peterson;
var
S1, S2:boolean;
process p1;
begin
repeat
S1:=true;
writeln('esquimal 1 pescando....');
S1:=false;
forever
end;
process p2;
begin
repeat
S2:=true;
writeln('ESQUIMAL 2 PESCANDo....');
S2:=false;
forever
end;
begin
S1:=false;
S2:=false;
cobegin
p1;
p2;
coend;
end.
2.Acerca de algoritmo de Lamport
Desarrollar un algoritmo basado en ejemplo de panadería, empleando las siguientes variables:
boleto:array[1..nprocs]of integer;// vector que lista de numeros que recibe cada cliente
eleccion:array[1..nprocs] of boolean;// vector de lista de estadoelegido encada atencion
lp:integer; // índice de las boletas
nolineas:integer; // sumatoria de los numero de lineas
program LAMPORT;
const
nprocs = 5;
var
boleto: array[1..nprocs] of integer;
eleccion: array[1..nprocs] of boolean;
lp: integer;
nolineas: integer;
process type Entrada(esteproc: integer);
var
otroproc, lp: integer;
function max: integer;
var
i, largo: integer;
begin
largo := 0;
for i := 1 to nprocs do
if boleto[i] > largo then
largo := boleto[i];
max := largo + 1
end; (* max *)
function favorecido(i, j: integer): boolean;
begin
if (boleto[i] = 0) or (boleto[i] > boleto[j]) then
favorecido := false
else
if boleto[i] < boleto[j] then
favorecido := true
else
favorecido := (i < j)
end;
begin
for lp := 1 to 20 do
begin
eleccion[esteproc] := true;
boleto[esteproc] := max;
eleccion[esteproc] := false;
for otroproc := 1 to nprocs do
begin
while eleccion[otroproc] do
null;
while favorecido(otroproc, esteproc) do
null;
end;
writeln('USUARIO ',esteproc,' CON TICKET ',lp);
writeln('USUARIO ',esteproc,' YA FUE ATENDIDO...!');
nolineas := nolineas + 1;
boleto[esteproc] := 0
end
end;
var
turnos: array[1..nprocs] of Entrada;
begin
nolineas := 0;
for lp := 1 to nprocs do
begin
boleto[lp] := 0;
eleccion[lp] := false;
end;
cobegin
for lp := 1 to nprocs do
turnos[lp](lp)
coend;
writeln('Total de Líneas: ',nolineas:4)
end.

Más contenido relacionado

La actualidad más candente

While do while
While do whileWhile do while
While do while
pedrorodriguez20044
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3TALLERMICROS
 
Programa Emu8086
Programa Emu8086Programa Emu8086
Programa Emu8086
Santy Bolo
 
Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.
RubnPilca
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióNRegina Flores
 
Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++
Tensor
 
While y do while
While y do whileWhile y do while
While y do while
josenassr
 
Estructura mientras 'while'
Estructura mientras 'while'Estructura mientras 'while'
Estructura mientras 'while'
Edgar Chusin Vega
 
Estructura mientras 'while'
Estructura mientras 'while'Estructura mientras 'while'
Estructura mientras 'while'
Edgar Chusin Vega
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
Antonio Kobashikawa Carrasco
 
Ejercicio en clase
Ejercicio en claseEjercicio en clase
Ejercicio en clase
Maria Fernanda Rivera Ayon
 
Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecución
UVM
 

La actualidad más candente (20)

Palindromos
PalindromosPalindromos
Palindromos
 
While do while
While do whileWhile do while
While do while
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3
 
Programa Emu8086
Programa Emu8086Programa Emu8086
Programa Emu8086
 
Declaraciones
DeclaracionesDeclaraciones
Declaraciones
 
Condisionales
CondisionalesCondisionales
Condisionales
 
Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.
 
Declaraciones
DeclaracionesDeclaraciones
Declaraciones
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++
 
While y do while
While y do whileWhile y do while
While y do while
 
Bucles 121005113556-phpapp01
Bucles 121005113556-phpapp01Bucles 121005113556-phpapp01
Bucles 121005113556-phpapp01
 
Estructura mientras 'while'
Estructura mientras 'while'Estructura mientras 'while'
Estructura mientras 'while'
 
Estructura mientras 'while'
Estructura mientras 'while'Estructura mientras 'while'
Estructura mientras 'while'
 
While y do while c++
While y do while c++While y do while c++
While y do while c++
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Ejercicio en clase
Ejercicio en claseEjercicio en clase
Ejercicio en clase
 
Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecución
 
ciclo for while do
ciclo for while dociclo for while do
ciclo for while do
 
Presentacion bucle
Presentacion buclePresentacion bucle
Presentacion bucle
 

Similar a Algoritmos de peterson y lamportlab4

Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
luzenith_g
 
Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De NotasDaniel Barraza
 
Programas 1
Programas 1Programas 1
Programas 1krane666
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
Pablo Haya
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptx
vrykowayne1
 
Yinmi delgado sm
Yinmi delgado  smYinmi delgado  sm
Yinmi delgado smYin Delgado
 
TAREA 04_removed.pdf
TAREA 04_removed.pdfTAREA 04_removed.pdf
TAREA 04_removed.pdf
GUILLERMOROBERTOPAZJ
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
Jose Ponce
 
Prueba1
Prueba1Prueba1
trabajo de algoritmos
trabajo de algoritmostrabajo de algoritmos
trabajo de algoritmos1002pc8
 

Similar a Algoritmos de peterson y lamportlab4 (20)

Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
 
Programas 1
Programas 1Programas 1
Programas 1
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptx
 
Yinmi delgado sm
Yinmi delgado  smYinmi delgado  sm
Yinmi delgado sm
 
TAREA 04_removed.pdf
TAREA 04_removed.pdfTAREA 04_removed.pdf
TAREA 04_removed.pdf
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
 
Tema 4 iterativas
Tema 4   iterativasTema 4   iterativas
Tema 4 iterativas
 
while y do while
while y do whilewhile y do while
while y do while
 
Tema 4 iterativas
Tema 4   iterativasTema 4   iterativas
Tema 4 iterativas
 
Prueba1
Prueba1Prueba1
Prueba1
 
trabajo de algoritmos
trabajo de algoritmostrabajo de algoritmos
trabajo de algoritmos
 

Más de franz chanini

271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
franz chanini
 
1347 1a p
1347 1a p1347 1a p
1347 1a p
franz chanini
 
Presentación3
Presentación3Presentación3
Presentación3
franz chanini
 
Tema organigramas y diagramas
Tema organigramas y diagramasTema organigramas y diagramas
Tema organigramas y diagramas
franz chanini
 
Work ts
Work tsWork ts
Work ts
franz chanini
 
Llueve torrencial aguacero
Llueve torrencial aguaceroLlueve torrencial aguacero
Llueve torrencial aguacero
franz chanini
 

Más de franz chanini (6)

271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
271711753 informe-de-la-practica-de-laboratorio-densidad-de-solidos
 
1347 1a p
1347 1a p1347 1a p
1347 1a p
 
Presentación3
Presentación3Presentación3
Presentación3
 
Tema organigramas y diagramas
Tema organigramas y diagramasTema organigramas y diagramas
Tema organigramas y diagramas
 
Work ts
Work tsWork ts
Work ts
 
Llueve torrencial aguacero
Llueve torrencial aguaceroLlueve torrencial aguacero
Llueve torrencial aguacero
 

Último

Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
DavidHunucoAlbornoz
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
Melvin191754
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
Fernando Benavidez
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
JonathanFernandoRodr
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
Eder288265
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 

Último (20)

Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 

Algoritmos de peterson y lamportlab4

  • 1. ALGORITMOS DE PETERSON Y LAMPORT Nombre: Franz Chanini Mena 2018-119024 1.Algoritmo de Peterson: Problema de los esquimales Desarrollar dos archivosdealgoritmo de Peterson tomando como referencia el problema de los esquimales, trabando con dos procesos P1 y P2, donde: - El primero contara solo con la variable turno, con valores: 1 y 2 - El segundo contara con la variable pizarra/bandera, con valores: True y False Para los ejercicios debe de mostrar mensajes como: - Esquimal 1 Pescando... - ESQUIMAL 2 PESCANDO... a.- El primero contara solo con la variable turno, con valores: 1 y 2 program peterson; var turno:integer; process p1; begin repeat turno:=2; writeln('esquimal 1 pescando...'); forever end; process p2; begin repeat turno:=1; writeln('ESQUIMAL 2 PESCANDO...'); forever end; begin turno:=2; cobegin p1; p2; coend; end.
  • 2. b.-El segundo contara con la variable pizarra/bandera, con valores: True y False program peterson; var S1, S2:boolean; process p1; begin repeat S1:=true; writeln('esquimal 1 pescando....'); S1:=false; forever end; process p2; begin repeat S2:=true; writeln('ESQUIMAL 2 PESCANDo....'); S2:=false;
  • 4. 2.Acerca de algoritmo de Lamport Desarrollar un algoritmo basado en ejemplo de panadería, empleando las siguientes variables: boleto:array[1..nprocs]of integer;// vector que lista de numeros que recibe cada cliente eleccion:array[1..nprocs] of boolean;// vector de lista de estadoelegido encada atencion lp:integer; // índice de las boletas nolineas:integer; // sumatoria de los numero de lineas program LAMPORT; const nprocs = 5; var boleto: array[1..nprocs] of integer; eleccion: array[1..nprocs] of boolean; lp: integer; nolineas: integer; process type Entrada(esteproc: integer); var otroproc, lp: integer; function max: integer; var i, largo: integer; begin largo := 0; for i := 1 to nprocs do if boleto[i] > largo then largo := boleto[i]; max := largo + 1 end; (* max *) function favorecido(i, j: integer): boolean; begin if (boleto[i] = 0) or (boleto[i] > boleto[j]) then favorecido := false else if boleto[i] < boleto[j] then favorecido := true else favorecido := (i < j) end; begin for lp := 1 to 20 do begin eleccion[esteproc] := true; boleto[esteproc] := max; eleccion[esteproc] := false; for otroproc := 1 to nprocs do begin while eleccion[otroproc] do null; while favorecido(otroproc, esteproc) do null; end; writeln('USUARIO ',esteproc,' CON TICKET ',lp); writeln('USUARIO ',esteproc,' YA FUE ATENDIDO...!'); nolineas := nolineas + 1; boleto[esteproc] := 0 end
  • 5. end; var turnos: array[1..nprocs] of Entrada; begin nolineas := 0; for lp := 1 to nprocs do begin boleto[lp] := 0; eleccion[lp] := false; end; cobegin for lp := 1 to nprocs do turnos[lp](lp) coend; writeln('Total de Líneas: ',nolineas:4) end.