Logo Studenta

Escriba los siguientes predicados y funciones en el lenguaje de especificación: a) aux suc (x : Z): Z, que corresponde al sucesor de x. b) aux su...

Escriba los siguientes predicados y funciones en el lenguaje de especificación:

a) aux suc (x : Z): Z, que corresponde al sucesor de x.
b) aux suma (x , y : R): R, que corresponda a la suma entre x e y.
c) aux producto (x , y : R): R, que corresponde al producto entre x e y.
d) pred esCuadrado (x : Z) que sea verdadero si y solo si x es un numero cuadrado.
e) pred esPrimo (x : Z) que sea verdadero sii x es primo.
f) pred sonCoprimos (x , y : Z) que sea verdadero si y solo si x e y son coprimos.
g) pred divisoresGrandes (x , y : Z) que sea verdadero cuando todos los divisores de x, sin contar el uno, son mayores que y.
h) pred mayorPrimoQueDivide (x : Z, y : Z) que sea verdadero si y es el mayor primo que divide a x.
i) pred sonPrimosHermanos (x : Z, y : Z) que sea verdadero cuando x es primo, y es pr

Esta pregunta también está en el material:

Práctica1
4 pag.

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

💡 1 Respuesta

User badge image

Ed IA de Studenta Verified user icon



aux suc (x : Z): Z {

return x + 1;

}

aux suma (x , y : R): R {

return x + y;

}

aux producto (x , y : R): R {

return x * y;

}

pred esCuadrado (x : Z) {

for (var i = 1; i * i <= x; i++) {

if (x % i == 0) {

return true;

}

}

return false;

}

pred esPrimo (x : Z) {

if (x <= 1) {

return false;

}

for (var i = 2; i * i <= x; i++) {

if (x % i == 0) {

return false;

}

}

return true;

}

pred sonCoprimos (x , y : Z) {

for (var i = 2; i * i <= x; i++) {

if (x % i == 0 && y % i == 0) {

return false;

}

}

return true;

}

pred divisoresGrandes (x , y : Z) {

for (var i = 1; i * i <= x; i++) {

if (x % i == 0 && i <= y) {

return false;

}

}

return true;

}

pred mayorPrimoQueDivide (x : Z, y : Z) {

for (var i = 2; i * i <= x; i++) {

if (x % i == 0 && i > y) {

return true;

}

}

return false;

}

pred sonPrimosHermanos (x : Z, y : Z) {

return esPrimo(x) && esPrimo(y) && x != y && mayorPrimoQueDivide(x, y) && mayorPrimoQueDivide(y, x);

}

0
Dislike0

✏️ 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