Skip to content

Commit 5529a29

Browse files
authored
Merge pull request #8146 from CeciliaPorras01/main
Ejercicios de #2 a #5 en lenguaje de PHP
2 parents 524282b + f662374 commit 5529a29

File tree

5 files changed

+725
-0
lines changed

5 files changed

+725
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<?php
2+
3+
4+
/*
5+
* EJERCICIO:
6+
* - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
7+
* Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
8+
* (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
9+
* - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
10+
* que representen todos los tipos de estructuras de control que existan
11+
* en tu lenguaje:
12+
* Condicionales, iterativas, excepciones...
13+
* - Debes hacer print por consola del resultado de todos los ejemplos.
14+
*
15+
* DIFICULTAD EXTRA (opcional):
16+
* Crea un programa que imprima por consola todos los números comprendidos
17+
* entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
18+
*
19+
* Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo.
20+
*/
21+
22+
23+
//Operadores aritméticos
24+
25+
print ("Suma: 5 + 2 = " . (5 + 2));
26+
print ("Resta: 5 - 2 = " . (5 - 2));
27+
print ("Multiplicación: 5 * 2 = " . (5 * 2));
28+
print ("División: 5 / 2 = " . (5 / 2));
29+
print ("Módulo: 5 % 2 = " . (5 % 2));
30+
print ("Exponenciación: 5 ** 2 = " . (5 ** 2));
31+
print ("División entera: 5 // 2 = " . (ROUND(5 / 2)));
32+
33+
//Operadores de comparación
34+
35+
print("Igualdad: 5 == 2 = " . (5 == 2));
36+
print("Desigualdad: 5 != 2 = " . (5 != 2));
37+
print("Mayor que: 5 > 2 = " . (5 > 2));
38+
print("Menor que: 5 < 2 = " . (5 < 2));
39+
print("Mayor o igual que: 5 >= 2 = " . (5 >= 2));
40+
print ("Menor o igual que: 5 <= 2 = " . (5 <= 2));
41+
42+
//Operadores lógicos
43+
44+
print("AND: 5 == 5 && 2 == 2 = " . (5 == 5 && 2 == 2));
45+
print("OR: 5 == 5 || 2 == 3 = " . (5 == 5 || 2 == 3));
46+
print("NOT: !(5 == 5) = " . !(5 == 5));
47+
48+
//Operadores de asignación
49+
50+
$variable = 5;
51+
print("Asignación: variable = 5 = " . $variable);
52+
$variable += 2;
53+
print("Suma: variable += 2 = " . $variable);
54+
$variable -= 2;
55+
print("Resta: variable -= 2 = " . $variable);
56+
$variable *= 2;
57+
print("Multiplicación: variable *= 2 = " . $variable);
58+
$variable /= 2;
59+
print("División: variable /= 2 = " . $variable);
60+
$variable %= 2;
61+
print("Módulo: variable %= 2 = " . $variable);
62+
$variable **= 2;
63+
print("Exponenciación: variable **= 2 = " . $variable);
64+
65+
//Operadores de identidad
66+
$number = 5;
67+
print ($number is $my_number);
68+
69+
70+
//Operadores de pertenencia
71+
$numbers = array(1, 2, 3, 4, 5);
72+
print (3 in $numbers);
73+
74+
//Operadores de bits
75+
print("AND: 5 & 2 = " . (5 & 2));
76+
print("OR: 5 | 2 = " . (5 | 2));
77+
print("XOR: 5 ^ 2 = " . (5 ^ 2));
78+
print("Desplazamiento a la izquierda: 5 << 2 = " . (5 << 2));
79+
print("Desplazamiento a la derecha: 5 >> 2 = " . (5 >> 2));
80+
print("Negación: ~5 = " . (~5));
81+
82+
83+
//Estructura de control
84+
85+
//condicional
86+
$number = 5;
87+
if($number == 5){
88+
print("El número es 5");
89+
} else {
90+
print("El número no es 5");
91+
}
92+
93+
$string = "Hola";
94+
95+
switch($string){
96+
case "Hola":
97+
print("Hola");
98+
break;
99+
case "Adiós":
100+
print("Adiós");
101+
break;
102+
default:
103+
print("No es ni Hola ni Adiós");
104+
}
105+
106+
//iterativa
107+
for($i = 10; $i <= 55; $i++){
108+
if($i % 2 == 0 && $i != 16 && $i % 3 != 0){
109+
print($i);
110+
}
111+
}
112+
113+
//Manejador de excepciones
114+
try {
115+
if (0 == 0) {
116+
throw new Exception("División por cero");
117+
}
118+
print (10 / 0);
119+
} catch (Exception $e) {
120+
print($e->getMessage());
121+
}
122+
123+
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
2+
<?php
3+
4+
/*
5+
* EJERCICIO:
6+
* - Crea ejemplos de funciones básicas que representen las diferentes
7+
* posibilidades del lenguaje:
8+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
9+
* - Comprueba si puedes crear funciones dentro de funciones.
10+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
11+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
12+
* - Debes hacer print por consola del resultado de todos los ejemplos.
13+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
14+
*
15+
* DIFICULTAD EXTRA (opcional):
16+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
17+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
18+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
19+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
20+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
21+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
22+
*
23+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
24+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
25+
*/
26+
27+
28+
29+
//Funciones definidas por el usuario
30+
//Simple
31+
32+
function greet(){
33+
print("Hola mundo");
34+
}
35+
36+
greet();
37+
38+
39+
//Con retorno
40+
function ret_greet(){
41+
return "Hola mundo";
42+
}
43+
44+
print(ret_greet());
45+
46+
47+
//Con argumento
48+
49+
function print_greet($nombre){
50+
print("Hola $nombre");
51+
}
52+
53+
print_greet("Cecilia");
54+
55+
56+
//Con argumentos
57+
function arg_greet($nombre, $apellido){
58+
print("Hola, $nombre $apellido");
59+
}
60+
61+
arg_greet("Cecilia", "Porras");
62+
arg_greet($nombre = "Ceciliaa", $apellido = "Porras");
63+
64+
65+
//Con argumento predeterminado
66+
function def_arg_greet($nombre ="Martha"){
67+
print("Hola, $nombre");
68+
}
69+
70+
def_arg_greet();
71+
72+
73+
//Con argumentos y return
74+
function ret_arg_greet($nombre, $apellido){
75+
return $nombre . ' ' . $apellido;
76+
}
77+
78+
print(ret_arg_greet("Cecilia" ,"Porras"));
79+
80+
81+
//Con retorno de varios valores
82+
function ret_var_greet() {
83+
return ["Cecilia", "Porras"];
84+
}
85+
86+
list($name, $lastname) = ret_var_greet();
87+
print($name);
88+
print($lastname);
89+
90+
91+
//Con un numero variable de argumentos
92+
function var_arg_greet(...$nombres){
93+
foreach($nombres as $nombre){
94+
print("Hola, $nombre \n");
95+
}
96+
}
97+
98+
var_arg_greet("Cecilia", "Martha", "Luisa", "Sofia");
99+
100+
101+
//Con un numero variable de argumentos con palabras clave
102+
function key_arg_greet($args) {
103+
foreach($args as $clave => $valor) {
104+
print($clave ." = ". $valor . "\n");
105+
}
106+
}
107+
108+
key_arg_greet([
109+
"nombre " => "Cecilia",
110+
"apellido" => "Porras",
111+
"edad" => 23
112+
]);
113+
114+
115+
116+
//Función interna
117+
function external(){
118+
function internal(){
119+
print("Función interna");
120+
}
121+
internal();
122+
}
123+
124+
external();
125+
126+
127+
//Función de lenguaje
128+
print(strtoupper("hola mundo"));
129+
print(gettype("hola mundo"));
130+
print(strlen("hola mundo"));
131+
print (strrev("hola mundo"));
132+
print (str_repeat("hola mundo", 3));
133+
print (str_replace("mundo", "Cecilia", "hola mundo"));
134+
135+
136+
//Variable global y local
137+
138+
$global_variable = "Variable global";
139+
print ($global_variable);
140+
141+
function hello_world(){
142+
global $global_variable;
143+
$local_variable = "Variable local";
144+
print("Hola". $global_variable);
145+
print("Hola". $local_variable);
146+
}
147+
148+
hello_world();
149+
150+
/**
151+
* EJERCICIO EXTRA
152+
*
153+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
154+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
155+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
156+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
157+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
158+
*
159+
*/
160+
161+
162+
function print_numbers($text_1, $text_2) {
163+
$count = 0;
164+
for ($i = 1; $i <= 100; $i++) {
165+
if ($i % 3 == 0 && $i % 5 == 0) {
166+
print($text_1 . $text_2 . "\n");
167+
} elseif ($i % 3 == 0) {
168+
print($text_1 . "\n");
169+
} elseif ($i % 5 == 0) {
170+
print($text_2 . "\n");
171+
} else {
172+
print($i . "\n");
173+
$count += 1;
174+
}
175+
}
176+
return $count;
177+
}
178+
179+
// Llamada a la función
180+
$vecesImpresoNumero = print_numbers("Fizz", "Buzz");
181+
print("Número de veces que se ha impreso un número: " . $vecesImpresoNumero . "\n");

0 commit comments

Comments
 (0)