Logo Studenta

Ejercicio 3. Dados el siguiente programa S en SmallLang y la siguiente especificación: if (s[i] > s[i + 1]) then tmp := s[i]; s[i] := s[i + 1]; s[...

Ejercicio 3. Dados el siguiente programa S en SmallLang y la siguiente especificación:
if (s[i] > s[i + 1]) then
tmp := s[i];
s[i] := s[i + 1];
s[i + 1] := tmp
else
skip
endif
pred ordenadaHasta (s : seq〈Z〉, i : Z) {
(∀j : Z)(1 ≤ j + 1 < i −→L s[j] ≤ s[j + 1])
}
proc ajustar (inout s: seq〈Z〉, in i: Z) {
Pre {(s = S0 ∧ 1 ≤ i + 1 < |s|) ∧L ordenadaHasta(s, i)}
Post {(|s| = |S0| ∧ 1 ≤ i + 1 < |s|) ∧L ordenadaHasta(s, i + 1)}
}
a) Calcular la precondición más débil del programa S con respecto a la postcondición de la especificación: wp(S; Post).
b) ¿El programa es correcto con respecto a la especificación? En caso de que lo sea, demostrarlo. En caso de que no lo sea, justificar detalladamente por qué el programa no es correcto y qué parte de la demostración fallaŕıa.


Esta pregunta también está en el material:

AED1-P1-2021-05-19
2 pag.

Computacional Universidad Nacional de CórdobaUniversidad Nacional de Córdoba

Todavía no tenemos respuestas

¿Sabes cómo responder a esa pregunta?

¡Crea una cuenta y ayuda a otros compartiendo tus conocimientos!


✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales

Contenido elegido para ti

3 pag.
Practica 1

SIN SIGLA

User badge image

Agustín Antunez Pirez

2 pag.
7 pag.