Está en la página 1de 9

CFGS Desarrollo de Aplicaciones

Web / Multiplataforma
MODELO 1

M03A. PROGRAMACIÓN

“El presente examen es un modelo de años anteriores. Las preguntas y el formato pueden
variar”

M03A_DAM_DAW_MODELO_1
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación
EVALUACIÓN. UF1.

1. – (1p) Que muestra por pantalla el siguiente código? No hace falta


explicarlo, solo escribir lo que saldría por pantalla.

int i=1,z=3; PANTALLA: 3


while(i<5)
{
i++;
}
Console.WriteLine(“{0}”,z);
2. – (1p) Dado el siguiente programa, si queremos que muestre por pantalla
las palabras “Muy bien”, que valor deberíamos ingresar por teclado? Hay
muchas soluciones, solo poned lo que pondríais por teclado para que
diese el resultado, o sea, uno de los posibles.

int x, i; Que debemos introducir por


x=int.Parse(Console.ReadLine()); teclado?:
i=int.Parse(Console.ReadLine());

if((x>0) && ((x-i)%2==0)) 3y1


{
Console.WriteLine(“Muy bien!”);
}
else
{
Console.WriteLine(“Error!”);
}
3. – (1p) Dado el siguiente array de enteros: int[] números= new int[100];
Marcad la opción correcta:

a) Hay 100 números, entre las posiciones 0 y 100 incluidas.


b) Hay 100 números, entre las posiciones 0 y 99 incluidas.
c) Hay 99 números, entre las posiciones 0 y 100 incluidas.
d) Hay 99 números, entre las posiciones 0 y 99 incluidas.

Página 2 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación

4. – (5p) Realizad un programa que declare un array de 20 enteros, lo llene


de números aleatorios entre 0 y 1000, lo muestre por pantalla, muestre el
mínimo, y diga cuantos múltiples de 11 hay.

static void Main ()


{
int miarray[20];
int multiplos_11 = 0;
int minimo = 9999;
Random rnd = new Random();

for (int i=0; i<20; i++)


{
miarray[i] = rnd.Next(0,1001);
Console.WriteLine(miarray[i]);

if (miarray[i]%11==0)
multiplos_11++;

if (miarray[i] < minimo)


minimo = miarray[i];
}

Console.WriteLine("Minimo = {0}", minimo);


Console.WriteLine("Múltiplos de 11 = {0}", multiplos_11);
}

Página 3 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación
5. – (2p) Realizad un programa que pida un texto por teclado, y muestre un
mensaje diciendo SI si en el texto aparecen la misma cantidad de letras B,
letras V, y letras H. En caso contrario debe mostrar NO.

-- solución 1 (usando foreach)

static void Main(string[] args)


{
int b = 0, v = 0, h = 0;
string texto = "";
texto = Console.ReadLine();

foreach (char c in texto)


{
if (c == 'B')
b++;
else if (c == 'V')
v++;
else if (c == 'H')
h++;
}
if (b == v && b == h)
Console.WriteLine("SI");
else
Console.WriteLine("NO");
}

-- solución 2 (usando for)

static void Main(string[] args)


{
int b = 0, v = 0, h = 0;
string texto = "";
char c = '';
texto = Console.ReadLine();

for (int i = 0; i < texto.Length; i++)


{
c = texto[i];
if (c == 'B')
b++;
else if (c == 'V')
v++;
else if (c == 'H')
h++;
}
if (b == v && b == h)
Console.WriteLine("SI");
else
Console.WriteLine("NO");
}
--

Página 4 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación

EVALUACIÓN. UF2.
Nota: En los ejercicios 1 y 2 se os pide que llaméis o declaréis una
función. Son procesos complementarios, es decir, el ejercicio1 os
sirve de ejemplo para lo que pido en el ejercicio 2, y el ejercicio 2 os
sirve de ejemplo para el ejercicio1.

1. – (1p) Dada la siguiente función, llama a la función de manera correcta


desde el MAIN, teniendo en cuenta las variables que hay en el main.

FUNCION: MAIN:
static int calculary (int x, int num1=7,num2=8,resultado=9;
ref int y); //Llama a la función:

-- Solución 1
resultado = calculary (num1, ref num2);
-- Solución 2
int num = calculary (num1, ref num2);

2. – (1p) Dado el siguiente código en el main, declara como debería ser la


función “ejercicio2” sin hacer la implementación de la misma.

MAIN: FUNCION:
int x=11; //Declara la función
bool vrf = true; static void ejercicio2(string wrd,
string wrd=”Hola”; int x, out bool vrf);
ejercicio2(wrd,x,out vrf);

Página 5 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación

3. – Realizad un único programa con lo que se pide:

· (4p con la parte del MAIN, explicada mas abajo) Escribid una
función que sea int, reciba un entero y si el número recibido es
par se retorne tal cual o por lo contrario se retorne un 0. La
función debe llamarse FuncionA

· (4p con la parte del MAIN, explicada mas abajo) Escribid una
función que sea void y recibe un vector de 20 int y una vaiable int
nombrada x por referencia. Cada vez que recorremos el vector
debemos llamar a la función A. Para finalizar acumulando en la
variable x los números que nos retorne la funciónA. Esta función
debe llamarse FuncionB

· Escribid el MAIN, que declare un entero n1 y un array de 20


enteros aleatorios.
o Llamamos a la función B.
o Llamamos a la funciónA con el enteros n1 para mostrar el
acumulado total.

public static void Main(string[] args)


{
int n1 = 0;
int[] iArray = new int[20];
Random rnd = new Random();

for (int i = 0; i < 20; i++)


{
iArray[i] = rnd.Next(1,21);
}

FuncionB(iArray, ref n1);


n1 = FuncionA(n1);
Console.WriteLine("acum.total = {0}", n1);
}

static int FuncionA(int num)


{
if (num % 2 == 0)
return num;
else
return 0;
}

static void FuncionB(int[] vector, ref int x)


{
foreach (int num in vector)
x += FuncionA(num);
}

Página 6 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación

EVALUACIÓN. UF3.
1.(5p) – Realizad un programa que siga los siguientes pasos.

a) Abrid y recorred el fichero de texto llamado “ejercicio1.txt”, y que se


encuentra en el proyecto.
b) Mostrad por pantalla cuantas líneas hay en total, cuantas tienen una
longitud inferior a 50 caracteres, y cuantas contienen almenos una
letra A mayúsucla.

public static void Main(string[] args)


{
String linea;
StreamReader sr = File.OpenText("ejercicio1.txt");
int cant_lineas = 0, cant_lin_m50 = 0, cant_lin_A = 0;

while (!sr.EndOfStream)
{
linea = sr.ReadLine();
cant_lineas++;

if (linea.Length < 50)


cant_lin_m50++;

if (linea.Contains('A'))
cant_lin_A++;
}
sr.Close();
Console.WriteLine("Cant.lineas = {0}", cant_lineas);
Console.WriteLine("Cant.lineas < 50 caracteres = {0}", cant_lin_m50);
Console.WriteLine("Cant.lineas con A = {0}", cant_lin_A);
Console.ReadLine();
}

Página 7 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación

2.(5p) – Realizad un programa que siga los siguientes pasos.

a) Cree el fichero resultado.txt


b) Ir pidiendo números de dos en dos por teclado y para cada pareja de
números, escriba en el fichero los dos números ordenados de menor
a mayor, hasta que los dos números sean 0, pero no debe aparecer
los dos ceros en el fichero (o sea, cuando introducen los dos ceros,
finaliza el programa).

static void Main(String[] args)


{
StreamWriter sr = File.CreateText("resultado.txt");
int n1, n2, aux;

while (true)
{
Console.WriteLine("Introduzca dos números");
n1 = int.Parse(Console.ReadLine());
n2 = int.Parse(Console.ReadLine());

if (n1 == 0 && n2 == 0)
break;

if (n2 < n1)


{
aux = n1;
n1 = n2;
n2 = aux;
}

sr.WriteLine(n1 + " " + n2);


}

sr.Close();
}

Ejemplo de programa 2

Introduzca dos números

Introduzca dos números

Introduzca dos números


Página 8 de 9
Ciclo Formativo de Grado Superior
Desarrollo de aplicaciones web/multiplataforma
M03A. Programación
8

Introduzca dos números

Ejemplo de fichero resultado.txt

34

26

78

Página 9 de 9

También podría gustarte