You are on page 1of 10

Curso de PHP: Ejercicios de cadenas y funciones

Posted on 29 abril, 2009 by gorkau

Dado que llevo bastante tiempo impartiendo cursos de PHP en Bilbao ya va siendo hora de poner un poco de orden y actualizar los ejercicios. Segn los vaya poniendo bonitos los ir publicando aqu. En esta primera tanda pondr algunos ejercicios de cadenas y funciones que servirn de repaso a mis alumnos. A ver si se animan algunos a hacerlos, que haciendo el esfuerzo de resolverlos es como se aprende, no mirando cmo los resuelve otro (este es un pequeo tirn de orejas para un par de personas ).
<?php /* * Para los siguientes ejercicios se deben/pueden usar las siguientes funciones: * * - substr($cadena, $comienzo, $longitud); * Extrae una subcadena de una cadena: * $cadena - es la cadena de la que queremos sacar una subcadena * $comienzo - es la posicin a partir de la que empezamos a extraer. El primer carcter * est en la posicin 0. * $longitud - con este parmetro indicamos la longitud de la cadena. Es opcional, si * no lo ponemos nos coger todo desde el comienzo que hemos especificado hasta el final. * * - strlen($cadena); * Cuenta el nmero de caracteres que tiene la cadena. * * - strtoupper($cadena); * Convierte una cadena en maysculas. */ /* * Ejercicio 1: * * Escribir una funcin que convierta la primera letra de una cadena en maysculas. * */ echo '<h1>Ejercicio 1</h1>'; function corregir_primera_letra($cadena) { }

echo echo echo echo echo echo

corregir_primera_letra('gorka'); // --> debe mostrar: Gorka "<br/>"; corregir_primera_letra('GORKA'); // --> debe mostrar: GORKA "<br/>"; corregir_primera_letra('Gorka'); // --> debe mostrar: Gorka "<br/>";

/* * Ejercicio 2: * * Dara algn error si usamos una cadena de una sola letra? Sabras por qu? * */ echo '<h1>Ejercicio 2</h1>'; echo corregir_primera_letra('G'); echo "<br/>"; /* * Ejercicio 3: * * Funcionara bien la siguiente funcin? Por el nombre es evidente que no pero * por qu? */ function corregir_primera_letra_version_mala($cadena) { $letra = substr($cadena, 0, 1); $letra = strtoupper($letra); $resto = substr($cadena, 1); $cadena_corregida = $letra . $cadena; return $cadena_corregida; } /* * Ejercicio 4: * * Crear una funcin que coja una cadena, ponga la primera en maysculas y * el resto en minsculas. */ function corregir_mayusculas($cadena) { } echo echo echo echo echo echo echo '<h1>Ejercicio 4</h1>'; corregir_primera_letra('gorka'); // --> debe mostrar: Gorka "<br/>"; corregir_primera_letra('GORKA'); // --> debe mostrar: Gorka "<br/>"; corregir_primera_letra('Gorka'); // --> debe mostrar: Gorka "<br/>";

/* * Ejercicio 5:

* * Escribir una funcin que cuente el nmero de 'a' minsculas que hay en una frase. * (usar for en lugar de foreach) */ function contar_letra_a($cadena) { } echo echo echo echo echo echo echo '<h1>Ejercicio 5</h1>'; contar_letra_a('gorka'); // --> debe mostrar: 1 "<br/>"; contar_letra_a('La bala mata la vaca'); // --> debe mostrar: 8 "<br/>"; contar_letra_a('El oso os asir a la osa'); // --> debe mostrar: 4 "<br/>";

/* * Ejercicio 6: (este es para nota) * * Escribir una funcin que cuente el nmero de maysculas de una cadena. * */ function contar_mayusculas($cadena) { } echo echo echo echo echo '<h1>Ejercicio 6</h1>'; contar_mayusculas('gorka'); // --> debe mostrar: 0 "<br/>"; contar_mayusculas('La bala mata la vaca'); // --> debe mostrar: 1 "<br/>";

/* * Ejercicio 7: (este es para nota) * * Si usamos una cadena como la que viene a continuacin contar bien? por qu? * cmo corregiras la funcin? (pista: problemas con la letra '') * */ echo '<h1>Ejercicio 7</h1>'; echo contar_mayusculas('El oo Niato oeaba sin parar'); echo "<br/>"; function contar_mayusculas_corregida($cadena) { } echo contar_mayusculas_corregida('El oo Niato oeaba sin parar'); echo "<br/>"; ?>

Ejercicios prcticos
PRACTICA N1 FORMULARIOS Escriba un formulario de recogida de datos personales que conste de dos pginas.

En la primera pgina se solicitan con sendas cajas de texto el nombre,apellidos. El sexo con dos botones radio, la edad con un desplegable, y el telfono. En la segunda pgina se muestra el texto introducido por el usuario En la segunda pgina se muestra toda la informacin introducida por el usuario (indicando los campos no rellenados, salvo las casillas de verificacin).

PRACTICA N2 OPERADORES Escriba un programa que permita hacer y presentar por pantalla la suma, resta, producto,divisin, potenciacin y mdulo de la divisin de dos nmeros. PRACTICA N3 ESTRUCTURAS DE CONTROL

Disee un programa que recoga dos nmeros introducidos por teclado, y presente los siguientes datos:

La fecha actual en formato largo. Sealar los nmeros que se han introducido y realizar y mostrar las operaciones de la prctica n2. Tendr que sealar un aviso si se ha introducido el cero como segundo operador.

Solucin FICHERO 1
<?php

if ($num2==0) {

echo"Lo siento si escoge el cero como segundo nmero se producir un error al intentar dividr entre 0.<br> Escoga otro nmero por favor"; } else {

echo"<br>"; echo "El primer nmero es el $num1"; echo "<br>"; echo "El segundo nmero es el $num2"; echo"<br>";

$suma=$num1+$num2; $resta=$num1-$num2; $producto=$num1*$num2; $cociente=$num1/$num2; $modulo=$num1 % $num2; $potencia=pow($num1,$num2); echo "$num1 + $num2 =$suma"; echo"<br>"; echo"$num1 - $num2=$resta"; echo"<br>"; echo"$num1 x $num2 = $producto"; echo"<br>"; echo"$num1 : $num2=$cociente"; echo"<br>"; echo"El resto de dividir $num1 entre $num2 es $modulo"; echo"<br>"; echo"$num1 elevado a $num2 es $potencia"; echo"<br>"; if ($num1>$num2) {

echo"$num1 es mayor que $num2"; } else { echo"$num1 es menor o igual que $num2"; }

?>

Solucin FICHERO 2
<?php

if ($num2==0) { echo"Lo siento si escoge el cero como segundo nmero se producir un error al intentar dividr entre 0.<br> Escoga otro nmero por favor"; } else {

echo"<br>"; echo "El primer nmero es el $num1"; echo "<br>"; echo "El segundo nmero es el $num2"; echo"<br>";

$suma=$num1+$num2;

$resta=$num1-$num2; $producto=$num1*$num2; $cociente=$num1/$num2; $modulo=$num1 % $num2; $potencia=pow($num1,$num2); echo "$num1 + $num2 =$suma"; echo"<br>"; echo"$num1 - $num2=$resta"; echo"<br>"; echo"$num1 x $num2 = $producto"; echo"<br>"; echo"$num1 : $num2=$cociente"; echo"<br>"; echo"El resto de dividir $num1 entre $num2 es $modulo"; echo"<br>"; echo"$num1 elevado a $num2 es $potencia"; echo"<br>"; if ($num1>$num2) { echo"$num1 es mayor que $num2"; } else { echo"$num1 es menor o igual que $num2"; }

?>

PRACTICA N4 ESTRUCTURAS REPETITIVAS Escriba un programa que presente por pantalla la tabla de multiplicar hasta 12 de un nmero introducido por teclado.

Solucin PRACTICA N 5 FUNCIONES Disee un programa que genere un nmero aleatorio entre 1 y 20 y calcule su sumatorio. Por ejemplo, si sale el 5, el sumatorio desde 1 hasta 5 que son 15. Solucin PRACTICA N 6 FUNCIONES

Defina un programa que muestre en pantalla una tabla de 10 x 10 con los nmeros del 1 al 100, coloreando las filas de forma alternada en gris y blanco.

Solucin PRACTICA N 7 BASES DE DATOS Disee un programa para conectarse a MySQL y cree una base de datos con el nombre DIRECTORIO.Incluya una tabla que se denomine CLIENTES con los campos siguientes:

Tabla de clientes

Nombre campo

Tipo campo

id_cliente

Numrico entero

nombre

Texto

apellidos

Texto

direccion

Texto

poblacion

Texto

codigopostal

Texto

telefono

Numrico entero

email

Texto

PRACTICA N 8 BASES DE DATOS

1. Elabore el cdigo necesario para insertar datos a travs de un formulario, en la tabla anterior. 2. Despus intente elaborar un programa que le liste todos los datos en una tabla HTML. 3. Por ltimo disee otro que pueda seleccionar la opcin de bsqueda por el primer apellido o por el telfono.

You might also like