Fandom

Scratchpad

PLE:Examenes

215,933pages on
this wiki
Add New Page
Discuss this page1 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Programación en Lenguajes Estructurados


1 Observa el siguiente código y responde a las siguientes cuestiones:

int n, i, x = 1, y = 0;
for(i = 8; i > 0; i-=2)
    x *= i;

for(i = 1; i < 10; i+=2)
    y += i;
cout << x << y;


a) ¿Qué hace el fragmento de código mostrado? ¿Qué resultado muestra en pantalla?
b) Sustituye los bucles “for” por bucles “while”.
c) Sustituye los dos bucles por uno solo.

2 Crea una función que calcule el mcm y otra para el mcd de dos números.

int mcm(int a, int b);
int mcd(int a, int b);

3 Vamos a participar en el desarrollo de un programa de ajedrez y se nos pide que diseñemos
funciones para determinar si el movimiento de una ficha es válido.  Crea una función para el
alfil y otra para la torre.

bool movimientoAlfil(int f1, int c1, int f2, int c2);
bool movimientoTorre(int f1, int c1, int f2, int c2);


4 Necesitamos una función que devuelva el dígito enésimo de un número, para lo cual recibirá
como parámetro el número en cuestión y la posición del dígito a extraer.

int digito(int num, int pos);

Soluciones

1.a

Multiplica todos los pares entre 8 y 2: 8*6*4*2
Suma todos los impares comprendidos entre 1 y 9: 1+3+5+7+9

1.b

        i = 8;
        while(i > 0)
        {
                x *= i;
                i-=2;
        }

        i = 1;
        while(i < 10)
        {
                y += i;
                i+=2;
        }

1.c

for(i = 1; i < 10; i++)  // 1,2,3,4,5,6,7,8,9
{
        if(i%2 == 0) // Es par
                x *= i;
        else // es impar
                y += i;
}

2

int mcm(int a, int b)
{
        int res, m;
        if(a > b) // el mayor es a
                m = a;
        else    // El mayor es b
                m = b;

        res = m;
        while(res % a != 0 || res % b != 0)
                res++;

        return res;
}

int mcd(int a, int b)
{
        int res, m;
        if(a < b) // el menor es a
                m = a;
        else    // El menor es b
                m = b;

        res = m;
        while(a % res != 0 || b % res != 0)
                res--;

        return res;
}

3

bool movimientoTorre(int f1, int c1, int f2, int c2)
{
        return (f2 == f1 || c2 == c1);
}

bool movimientoAlfil(int f1, int c1, int f2, int c2)
{
        return (abs(f2-f1)==abs(c2-c1));
}

4

int digito(int n, int p)
{
        int d;
        while(p != 0)
        {
                d = n % 10;
                n /= 10;
                p--;
        }
}

Also on Fandom

Random wikia