Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Hola! Me ayudan a resolver este algotirmo ?
Autor Mensaje
Sabrii.quint Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Aug 2016
Mensaje: #1
Hola! Me ayudan a resolver este algotirmo ? Dudas y recomendaciones Algoritmos y Estructuras de Datos
Es un ejercicio de practica de un temario que me dieron para practicar antes del examen, le eh dado mil vueltas pero no encuentro la forma de realizarlo. Agradeceria mucho su ayuda.

Una serie de números es PRT cuando cumple las siguientes condiciones:
a) Los números que ocupan un lugar par se comportan como una serie creciente.
b) Los números que ocupan un lugar impar son divisibles por 7.
c) La suma de dos números consecutivos siempre es inferior a 100.
El programa terminara de pedir números cuando le entremos un -1.
(Este mensaje fue modificado por última vez en: 29-10-2017 14:52 por Sabrii.quint.)
29-10-2017 13:42
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
manoooooh Sin conexión
Secretario de la SAE

******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 439
Agradecimientos dados: 0
Agradecimientos: 328 en 171 posts
Registro en: Feb 2017
Mensaje: #2
RE: Hola! Me ayudan a resolver este algotirmo ?
Hola,

(29-10-2017 13:42)Sabrii.quint escribió:  Es un ejercicio de practica de un temario que me dieron para practicar antes del examen, le eh dado mil vueltas pero no encuentro la forma de realizarlo. Agradeceria mucho su ayuda.

Una serie de números es PRT cuando cumple las siguientes condiciones:
a) Los números que ocupan un lugar par se comportan como una serie creciente.
b) Los números que ocupan un lugar impar son divisibles por 7.
c) La suma de dos números consecutivos siempre es inferior a 100.
El programa terminara de pedir números cuando le entremos un -1.

¿Qué se hace con los números PRT? ¿Se pueden usar arrays, funciones, etc..? ¿Qué tipo de estructuras conocés?

Saludos.
29-10-2017 14:06
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fav Sin conexión
Militante
Sin Estado, podría ser el nom...
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 2
Agradecimientos: 24 en 15 posts
Registro en: Apr 2015
Mensaje: #3
RE: Hola! Me ayudan a resolver este algotirmo ?
Hola, no se si todavia te sirve.

Cita:Una serie de números es PRT cuando cumple las siguientes condiciones:
a) Los números que ocupan un lugar par se comportan como una serie creciente.
b) Los números que ocupan un lugar impar son divisibles por 7.
c) La suma de dos números consecutivos siempre es inferior a 100.
El programa terminara de pedir números cuando le entremos un -1.

Lo que te puede servir para resolver algoritmos es hacer algo bien macro de lo que querés hacer y después vas rellenando con el detalle. Por ejemplo un posible razonamiento/solución:

Lo que quiero saber acá es si una serie de numeros es prt analizando en cada iteración 3 criterios


bool es_ptr(int* serie_numeros){

//si la serie cumple a,b y c retorna true, de lo contrario retorna false.

}


Ok, ahora sabes que neceistas recorrer tu serie para saber si cumple o no, supongo que la serie se da como array


bool es_ptr(int* serie_numeros){

int numero_actual;
int i = 0;
numero_actual = serie_numeros[i]

while( numero_actual != -1){

// si no cumplen a,b o c retorno false

i++;
numero_actual = serie_numeros[i];
}

//todos cumplen

return true;

}


Solo te falta preguntar si se cumplen las condiciones, con ayuda de alguna variable auxiliar no debería ser mucho problema. Notar que C se evalúa siempre pero A y B dependen de si es par o impar


bool es_ptr(int* serie_numeros){

int numero_actual,i, ultimo_nro_par, anterior;

i = 0;
anterior = 0;
ultimo_par = -1;
numero_actual = serie_numeros[i]

while( numero_actual != -1){

if (es_par(i)){ // Evaluo el caso A

if(!(ultimo_par < nro_actual)){
return false; // no cumple A
}

ultimo_nro_par = nro_actual;
}else{ //es impar, evaluo el caso B

if(! es_divisible(numero_actual, 7)){
return false; // No cumple B
}

}

if((anterior + numero_actual) >= 100){
return false; // No cumple C
}

anterior = numero_actual ;
numero_actual = serie_numeros[++i];
}

//todos cumplen

return true;
}

bool es_par(int numero){
//aca tu codigo
}

bool es_divisible(int numerador, int denominador){
// tambien podria ser es_divisible_por_siete(int numerador)
}


Lo hice medio a las patadas, seguro se puede mejorar o hacer una solución más elegante. Espero que te sriva, like y suscribete a mi canal thumbup3
06-11-2017 22:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)