Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: pedro,, en 06 de Marzo 2016, 15:56
-
Buenas. Respuestas para el ejercicio CU00825B del tutorial php desde cero.
EJERCICIO
Crea el código PHP de dos archivos que den respuesta al siguiente planteamiento:
Queremos almacenar en una matriz el número de alumnos con el que cuenta una academia, ordenados en función del nivel y del idioma que se estudia. Tendremos 3 niveles: Nivel básico, medio y de perfeccionamiento, que se corresponden con las filas de la matriz, y 4 idiomas (Inglés, Francés, Alemán y Ruso), que se corresponden con las columnas de la matriz. Se pide realizar la declaración de la matriz y asignarle los valores indicados en la siguiente imagen cumpliendo con:
(http://i.imgur.com/VOiEn.gif)
a) Con una sintaxis ejemplo de uso de arrays asociativos donde el primer índice del array (niveles) es un número y el segundo un texto indicativo del idioma. Se debe mostrar por pantalla los alumnos que existen en cada nivel e idioma. Ejemplo: numeroAlumnos[0]['frances'] representará el número de alumnos que existen en el nivel básico, idioma francés.
b) Con una sintaxis ejemplo de uso de arrays asociativos donde tanto el primer índice del array (niveles) como el segundo (idiomas) sea un texto indicativo. Se debe mostrar por pantalla los alumnos que existen en cada nivel e idioma. Ejemplo: numeroAlumnos['basico']['frances'] representará el número de alumnos que existen en el nivel básico, idioma francés.
Nota: en ambos casos debe mostrarse por pantalla que el número de alumnos en el nivel básico, idioma inglés, hay 1 alumno; en el nivel básico, idioma francés, hay 14 alumnos, etc.
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio. CU00825B</title>
<meta charset="utf-8">
</head>
<body>
<h1>Apartado a)</h1>
<?php
$numeroAlumnos[0]['ingles'] = 1; $numeroAlumnos[0]['frances'] = 14; $numeroAlumnos[0]['aleman'] = 8; $numeroAlumnos[0]['ruso'] = 3;
$numeroAlumnos[1]['ingles'] = 6; $numeroAlumnos[1]['frances'] = 19; $numeroAlumnos[1]['aleman'] = 7; $numeroAlumnos[1]['ruso'] = 2;
$numeroAlumnos[2]['ingles'] = 3; $numeroAlumnos[2]['frances'] = 13; $numeroAlumnos[2]['aleman'] = 4; $numeroAlumnos[2]['ruso'] = 1;
for($i = 0; $i < 3; $i++) {
$msg = "Alumnos en nivel ";
if($i == 0){
$msg = $msg . "básico de ";
} else if($i == 1) {
$msg = $msg . "medio de ";
} else {
$msg = $msg . "perfeccionamiento de ";
}
for($j = 0; $j < 4; $j++){
if($j == 0){
echo($msg . "inglés: ");
$indice = 'ingles';
} else if($j == 1) {
echo($msg . "francés: ");
$indice = 'frances';
} else if($j == 2) {
echo($msg . "alemán: ");
$indice = 'aleman';
} else {
echo($msg . "ruso: ");
$indice = 'ruso';
}
echo($numeroAlumnos[$i][$indice] . "<br/>");
}
}
?>
<hr>
<h1>Apartado b)</h1>
<?php
$numeroAlumnos['basico']['ingles'] = 1; $numeroAlumnos['basico']['frances'] = 14; $numeroAlumnos['basico']['aleman'] = 8; $numeroAlumnos['basico']['ruso'] = 3;
$numeroAlumnos['medio']['ingles'] = 6; $numeroAlumnos['medio']['frances'] = 19; $numeroAlumnos['medio']['aleman'] = 7; $numeroAlumnos['medio']['ruso'] = 2;
$numeroAlumnos['perfeccionamiento']['ingles'] = 3; $numeroAlumnos['perfeccionamiento']['frances'] = 13; $numeroAlumnos['perfeccionamiento']['aleman'] = 4; $numeroAlumnos['perfeccionamiento']['ruso'] = 1;
for($i = 0; $i < 3; $i++) {
$msg = "Alumnos en nivel ";
if($i == 0){
$msg = $msg . "básico de ";
$primerIndice = 'basico';
} else if($i == 1) {
$msg = $msg . "medio de ";
$primerIndice = 'medio';
} else {
$msg = $msg . "perfeccionamiento de ";
$primerIndice = 'perfeccionamiento';
}
for($j = 0; $j < 4; $j++){
if($j == 0){
echo($msg . "inglés: ");
$segundoIndice = 'ingles';
} else if($j == 1) {
echo($msg . "francés: ");
$segundoIndice = 'frances';
} else if($j == 2) {
echo($msg . "alemán: ");
$segundoIndice = 'aleman';
} else {
echo($msg . "ruso: ");
$segundoIndice = 'ruso';
}
echo($numeroAlumnos[$primerIndice][$segundoIndice] . "<br/>");
}
}
?>
</body>
</html>
Saludos.
-
Hola Pedro, todo bien. El código resuelve correctamente lo que se pedía en el ejercicio. Saludos