Ejercicios Resueltos

46
TALLER DE EJERCICIOS Nº 1 Estructuras Secuenciales: 1. Considerando 10 como valor de un lado de un cuadrado calcular el área, perímetro y diagonal de dicha figura. <?php $la=10; $area=$la*$la; $perimetro=$la+$la+$la+$la; $diagonal=(sqrt(pow($la,2)+ pow($la,2))); echo "Area: ".$area."<br>"; echo "Perimetro: ".$perimetro."<br>"; echo "Diagonal: ".$diagonal; ?> 2. Los valores de un rectángulo son: base=10 y altura=15. Calcular su Área y Perímetro. <?php $base=10; $altura=15; $area=$altura*$base; $perimetro=2*($base+$altura); echo "Area: ".$area."<br>"; echo "Perimetro: ".$perimetro; ?> 3. Hacer un algoritmo que te permita sumar dos números. <?php $n1=10; $n2=5; $resta=$n1-$n2; echo "La Resta de: ".$n1." - ".$n2." = ".$resta; ?> 4. Hacer un algoritmo que te permita restar dos números. <?php $n1=10; $n2=5; $resta=$n1-$n2; echo "La Resta de: ".$n1." - ".$n2." = ".$resta; ?> 5. Hacer un algoritmo que te permita multiplicar dos números.

Transcript of Ejercicios Resueltos

Page 1: Ejercicios Resueltos

TALLER DE EJERCICIOS Nº 1Estructuras Secuenciales:

1. Considerando 10 como valor de un lado de un cuadrado calcular el área, perímetro y diagonal de dicha figura.

<?php$la=10;$area=$la*$la;$perimetro=$la+$la+$la+$la;$diagonal=(sqrt(pow($la,2)+ pow($la,2)));echo "Area: ".$area."<br>";echo "Perimetro: ".$perimetro."<br>";echo "Diagonal: ".$diagonal;?>

2. Los valores de un rectángulo son: base=10 y altura=15. Calcular su Área y Perímetro.

<?php$base=10;$altura=15;$area=$altura*$base;$perimetro=2*($base+$altura);echo "Area: ".$area."<br>";echo "Perimetro: ".$perimetro;?>

3. Hacer un algoritmo que te permita sumar dos números.

<?php$n1=10;$n2=5;$resta=$n1-$n2;echo "La Resta de: ".$n1." - ".$n2." = ".$resta;?>

4. Hacer un algoritmo que te permita restar dos números.

<?php$n1=10;$n2=5;$resta=$n1-$n2;echo "La Resta de: ".$n1." - ".$n2." = ".$resta;?>

5. Hacer un algoritmo que te permita multiplicar dos números.

<?php$n1=10;$n2=5;$multi=$n1*$n2;echo "La Multiplicacion de: ".$n1." * ".$n2." = ".$multi;?>

6. Hacer un algoritmo que te permita dividir un número entero entre otro.

Page 2: Ejercicios Resueltos

<?php$n1=21;$n2=3;if (is_int($n1)&&is_int($n2))

echo "La Division de: ".$n1." / ".$n2." = ".($n1/$n2);else

echo "Numeros Incorrectos";?>

7. Dado tres Notas (12, 15,18) mostrar el promedio de dichas notas.

<?php$n1=12.3;$n2=15.8;$n3=18.2;$suma=$n1+$n2+$n3;$prom=$suma/3;echo "Su Promedio es: ".round($prom,2,2);?>

8. Modificar el promedio anterior de tal forma que se muestre el promedio redondeado a dos decimales.

<?php$n1=12;$n2=15;$n3=17.9;$suma=$n1+$n2+$n3;$prom=$suma/3;echo "Su Promedio es: ".$prom;?>

9. Calcular el valor del área y el perímetro de un círculo.

<?php$rad=10;$area=pi()*pow($rad,2);$peri=(2*pi())*$rad;echo "El Area del Circulo es: ".$area."<br>";echo "El Perimetro del Circulo es: ".$peri;?>

10. Hacer un programa que ingrese 3 notas de un Alumno y calcule el promedio y además diga si aprobó o no.

<?php$n1=12;$n2=15;$n3=18;$suma=$n1+$n2+$n3;$prom=$suma/3;if ($prom>=13){

echo "Su Promedio es: ".$prom."<br>";echo "Estado: APROBADO";

} else{echo "Su Promedio es: ".$prom."<br>";

Page 3: Ejercicios Resueltos

echo "Estado: DESAPROBADO";}?>

11. Hacer un programa que pida 2 Radios R1 y R2, Calcule las respectivas áreas de los círculos y halle la diferencia de áreas y muestre esta diferencia como respuesta.

<?php$rad1=6;$rad2=3;$area1=pi()*pow($rad1,2);$area2=pi()*pow($rad2,2);$difer=$area1-$area2;echo "El Area del 1er Circulo es: ".$area1."<br>";echo "El Area del 2do Circulo es: ".$area2."<br>";echo "La Diferencia Entre las Areas es de: ".$difer;?>

12. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus catetos.

<?php$catetoa=5;echo "<br>Valor del Cateto A:".$catetoa;$catetob=8;echo "<br>Valor del Cateto B:".$catetob;$hipotenusa=($catetoa*$catetoa)+($catetob*$catetob);echo "<br>La Hipotenusa Es:".sqrt($hipotenusa);?>

13. Convertir el valor 15 dado en Km. A Decámetro, metros y milímetros.

<?php/*Convertir el valor 15 dado en Km. A Decámetro, metros y milímetros*/$km=15;$deca=$km*100;$metro=$km*1000;$milim=$km*1000000;echo $km." Km a Decametros es :".$deca."<br>";echo $km." Km a Metros es :".$metro."<br>";echo $km." Km a Milimetros es :".$milim;?>

14. Convertir 1.8 pulgadas a Metros y a Yardas.

<?php/*Convertir 1.8 pulgadas a Metros y a Yardas.*/$pulgada=1.8;$metros=$pulgada*0.0254;$yardas=$pulgada*0.0277777777777778;echo $pulgada." Pulgadas a Metros es :".$metros."<br>";echo $pulgada." Pulgadas a Yardas es :".$yardas;?>

15. Calcule el monto parcial (cantidad * precio), el IGV (18% del monto parcial) y el monto total (monto parcial + IGV) que debe pagarse por comprar una determinada cantidad de un producto, que cuesta determinado precio.

Page 4: Ejercicios Resueltos

<?php$precio=10.50;$cantidad=5;$mparcial=$cantidad*$precio;$IGV=$mparcial*0.18;$mtotal=$mparcial+$IGV;echo "Polo"."<br>";echo "Precio: ".$precio."<br>";echo "Cantidad: ".$cantidad."<br>";echo "Impuesto: ".$IGV."<br>";echo "Pago Total: ".$mtotal;

16. En un curso se han establecido tres notas: nota de trabajos T, nota de medio ciclo M y nota de fin de ciclo F, cada una con un peso de 40%, 30% y 30% respectivamente. Calcular el promedio de un alumno.

<?php$T=17;$M=15;$F=16;echo "Nota de Trabajos = ".$T."<br>";echo "Nota de Medio Ciclo = ".$M."<br>";echo "Nota de Fin de Ciclo = ".$F."<br>";$pesoT=0.40;$pesoM=0.30;$pesoF=0.30;$promedio=($T+$M+$F)/3;$prom=($T*$pesoT)+($M*$pesoM)+($F*$pesoF);echo "El Promedio es: ".$prom."<br>";echo "El PromedioOOO es: ".$promedio;?>

17. Calcular el salario que recibirá un trabajador, si se conoce el número de horas trabajadas y el pago que recibe por hora. Considere además que por concepto de AFP se le descuenta el 7%.

<?php$pxh=8;$nh=40;$pago=$nh*$pxh;$AFP=$pago*0.07;$sueldo=$pago-$AFP;echo "Ud Trabajo: ".$nh."<br>";echo "El Pago por Hora es: ".$pxh."<br>";echo "El Suldo a Pagar es: ".$sueldo;?>

18. Calcular el número de días que ha vivido una persona a partir de su edad. Considere cada año como 365 días.

<?php$edad=19;$dviv=$edad*365;echo "Ud. ha Vivido: ".$dviv;?>

Page 5: Ejercicios Resueltos

19. Ingresar un número que represente segundos y determinar a cuanto equivale en horas, minutos y segundos.

<?php$seg=3700;$horas=intval($seg/3600);$res=$seg-($horas*3600);$min=intval($res/60);$segundos=$res-($min*60);echo $seg."<br>";echo "<br> De Segundos a Horas : ".$horas;echo "<br> De Segundos a Minutos : ".$min;echo "<br> De Segundos a Segundos : ".$segundos;?>

20. Ingrese una cantidad expresada en centímetros y conviértala a su equivalente en metros.

<?php$cm=15;$metros=$cm/100;echo $cm."cm a metros es: ".$metros;?>

21. La distancia entre dos puntos (X1, Y1) y (X2, Y2) de un plano se puede obtener sacando la raíz cuadrada de la expresión (X2 – X1)2 + (Y2 – Y1)2. Escribir un programa que dados dos puntos por el usuario, calcule la distancia entre esos dos puntos.

<?php$px1=10;$px2=20;$py1=10;$py2=20;$dis=sqrt(($px2-$px1)*2+($py2-$py1)*2);echo $dis;?>

22. La gasolina se almacena en tanques cilíndricos de un radio específico. Se necesita un programa que ingresando el valor del radio y la altura hasta que se llene la gasolina, calcule el volumen de gasolina que se tiene. (Volumen del cilindro = PI*Radio*Altura).

<?php$radio=10;$altura=20;$vol=pi()*$radio*$altura;echo "El Volumen de la Gasolina es de: ".$vol;?>

23. Una temperatura en grados centígrados C, puede ser convertida en su valor equivalente de la escala Fahrenheit de acuerdo a la siguiente fórmula:

F = (9 / 5) C + 32<?php$c=15;$F = (9 / 5)* $c + 32;echo "Fahrenheit: ".$F;?>

Page 6: Ejercicios Resueltos

TALLER DE EJERCICIOS Nº 2

Estructuras Selectivas Simples y Compuestas:

1. Construya un programa que pida un número A y muestre si el número ingresado es PAR.

<?php/*Construya un programa que pida un número A y muestre si el número ingresado es PAR.*/$num=20;if ($num%2==0)

echo "El Numero es Par";?>

2. Construya un programa que pida un número A y muestre si el número ingresado es PAR o IMPAR.

<?php/* Construya un programa que pida un número A y muestre si el número ingresadoes PAR o IMPAR.*/$num=18;if ($num%2==0)

echo "El Numero es Par";else

echo "El Numero es Impar";?>

3. Hacer un programa que determine qué número es el mayor de 2 números ingresados.

<?php$n1=20;$n2=13;if ($n1>$n2)

echo "El Mayor es ".$n1." Y el Menor es ".$n2;elseecho "El Mayor es ".$n2." Y el Menor es ".$n1;

?>

4. Hacer un programa que pida 2 Radios R1 y R2, Calcule las respectivas áreas de los círculos y halle la diferencia de áreas y muestre ésta diferencia como respuesta pero deberá mostrar el valor absoluto de la diferencia.

<?php$r1=100;$r2=50;$area1=pi()*pow($r1,2);$area2=pi()*pow($r2,2);$dif=$area1-$area2;echo abs($dif);?>

5. Dado un número determinado cuantos dígitos tiene.

<?php/*Dado un número determinado cuantos dígitos tiene*/ $nro=406;

Page 7: Ejercicios Resueltos

echo"<br>Nro Ingresado:".$nro;$dig=strlen($nro);echo"<br>Cantidad De Digitos:".$dig;

?>

6. Dado un número calcular el producto de sus dígitos.

<?php$num=123;$n1=substr($num,0,1);echo "<br>".$n1;$n2=substr($num,1,1);echo "<br>".$n2;$n3=substr($num,2,1);echo "<br>".$n3."<br>";$pro=$n1*$n2*$n3;;echo "<br>El Producto de sus Digitos es: ".$pro;?>

7. Leer dos números y ver en la pantalla si están en orden crecientes o decrecientes.

<?php/*Leer dos números y ver en la pantalla si están en orden crecientes odecrecientes.*/$n1=2;$n2=13;if ($n1>$n2){

echo $n1." - ".$n2."<br>";echo "Decreciente";

}else{echo $n1." - ".$n2."<br>";

echo "Creciente";}?>

8. Hacer un programa que muestre el mensaje de acuerdo la edad ingresada: Si la edad es de 0 a 10 años “niño”, si la edad es de 11 a 14 años “púber”, si la edad es de 15 a 18 años “adolescente”, si la edad es de 19 a 25 años “joven”, si la edad es de 26 a 65 años “adulto”, si la edad es mayor de 65 “anciano”.

<?php$edad=15;if ($edad>0&&$edad<=10)

echo "Es Niño";elseif ($edad>=11 && $edad<=14)

echo "Es Puber";elseif ($edad>=15 && $edad<=18)

echo "Es Adolescente";elseif ($edad>=19 && $edad<=25)

echo "Es Joven";elseif ($edad>=26 && $edad<=65)

echo "Es Adulto";elseecho "Es Anciano";?>

Page 8: Ejercicios Resueltos

9. Hacer un programa que muestre el horario en que se transmite Por ejm: “dibujos animados ” :Si es de 10 a 12 horas “ tele serie ” , si es de 13 a 16 horas “ novelas repetidas ” si es de 16 a 18 horas “dibujos animados ” , si es de 18 a 22 horas “novela s juveniles ” , si es de 22 a 23 horas “noticiero”.

<?php$hora=11;if ($hora<=12)

echo "Tele Serie";else if ($hora>13 && $hora<=16)

echo "Novelas Repetidas";else if ($hora>16 && $hora<=18)

echo "Dibujos Animados";else if ($hora>18 && $hora<=22)

echo "Novelas Juveniles";else if ($hora>22 && $hora<=23)

echo "Noticiero";else

echo "No Hay Programacion";?>

10. Dado la ecuación ax - b = 0 se desea conocer x dados a y b. Ten en cuenta que dadas las coordenadas de los extremos de una línea se puede determinar la longitud de ella, la distancia se puede calcular usando Pitágoras d = ((x2-x1)^2 + (y2-y1)^2) ^ 0.5

<?phpPitágoras d = ((x2-x1)^2 + (y2-y1)^2) ^ 0.5*/$a=2;$b=5;$x=0;$x=$b/$a;?>

11. Hacer un algoritmo que calcule y escriba el cubo del número ingresado.

<?php/*Hacer un algoritmo que calcule y escriba el cubo del númeroingresado.*/$num=2;$cubo=pow($num,3);echo "El Cubo de ".$num." = ".$cubo;?>

12. Dado 3 números calcular el porcentaje que representa cada uno con respecto a la suma total.

<?php/*Dado 3 números calcular el porcentaje que representa cada uno conrespecto a la suma total.*/$n1=15;$n2=19;$n3=13;$sum=$n1+$n2+$n3;//$porc=$sum*(100%);?>

Page 9: Ejercicios Resueltos

13. Hacer un programa que calcule el número mayor y el número menor habiendo ingresado la suma y la resta. Además calcular la diferencia del número mayor y menor.

<?php$n1=15;$n2=20;$suma=$n1+$n2;$resta=$n1-$n2;?>

14. Diseñar un algoritmo que al ingresar el dividendo y el divisor, me calcule el residuo y el cociente de dicha división. use los operadores mod y div.

<?php$dividendo=80;$divisor=4;$residuo=$dividendo % $divisor;$cociente=$dividendo/$divisor;echo "El Residuo es:" .$residuo."<br>";echo "El Cociente es:" .$cociente;?>

15. .- Dadas las horas trabajadas de una persona y la tarifa de pago, calcular el salario y escribirlo.

<?php$htrab=10;echo"<br>Horas Trabajadas:".$htrab;$tarif=20;echo"<br>Tarifa De Pago:".$tarif;$sal=$htrab*$tarif;echo"<br>El Salario Es:".$sal;?>

16. Dada las horas trabajadas de una persona y la tarifa de pago por hora, calcular su salario y escribirla y los valores porcentuales a su salario en 10%, 30%, 60% y 80%.

<?php$htrab=10;echo"<br>Horas Trabajadas:".$htrab;$porc1=0.1;$porc2=0.3;$porc3=0.6;$porc4=0.8;$tarif=20;echo"<br>Tarifa De Pago Por Hora:".$tarif;$sal=$htrab*$tarif;echo"<br>El Salario Es:".$sal;$porc1=$sal*$porc1;echo"<br>1er Valor Porcentual:".$porc1;$porc2=$sal*$porc1;echo"<br>2do Valor Porcentual:".$porc2;$porc3=$sal*$porc1;echo"<br>3er Valor Porcentual:".$porc3;$porc4=$sal*$porc1;echo"<br>4to Valor Porcentual:".$porc4;?>

Page 10: Ejercicios Resueltos

17. Una llamada telefónica en cualquier en cualquier teléfono público cuesta S/. 0.50 por los primeros 3 minutos o menos. Cada minuto adicional cuesta S/. 0.10. Calcule el costo de una llamada cualquiera.

<?php$min=18;$pxm=0.50;if ($min<=3){

$pago=$pxm;echo "Minutos Transcurridos: ".$min."<br>";echo "Costo por Llamada: "."S/.".$pago."<br>";

}else{$minadi=$min-3;$pago=($minadi*0.10)+$pxm;

echo "Minutos Transcurridos: ".$min."<br>";echo "Costo por Llamada: "."S/.".$pago."<br>";

}?>

18. Determine si un número entero cualquiera, es múltiplo de 7 y 3.

<?php$num=21;//for ($i=0;$i<=$num;$i++){

if($num%3==0 && $num%7==0)echo "Es Multiplo";elseecho "No es Multiplo";

?>

19. En una tienda se ha establecido la siguiente oferta: por compras menores a 50 soles se hace un descuento de 8%, pero para compras a partir de 50 el descuento es de 10%. Se pide ingresar la cantidad y el precio del producto que se compra y determinar cuánto se descontará y cuanto se cobrará.

<?php$cant=5;echo"<br>Cantidad Ingresada:".$cant;$prec=8;echo"<br>Precio Ingresado:".$prec;$totpag=$cant*$prec;echo"<br>Total A Pagar:".$totpag;if ($totpag<50){

$desc=$totpag*0.08;echo"<br>Descuento:".$desc;$cob=$totpag-$desc;echo"<br>Se Cobrara:".$cob;}elseif ($totpag>=50){

$desc=$totpag*0.1;echo"<br>Descuento:".$desc;$cob=$totpag-$desc;echo"<br>Se Cobrara:".$cob;}

Page 11: Ejercicios Resueltos

20. Determinar el salario bruto y neto semanal de un trabajador considerando que si se trabaja más de 40 horas, el exceso será considerado como horas extras cuya tarifa es el 50 % más que la tarifa de una hora normal. Además, el trabajador se somete a un impuesto del 10% si su salario bruto sobrepasa los S/. 80.00. Mostrar salario bruto, descuento y salario neto.

<?php$ht=45;$pxh=5;$impuesto=0.10;$sbruto=0;$desc=0;$sneto=0;if ($ht>40){

$extra=$ht-40;$pxextra=(($extra*$pxh)*0.50)+($extra*$pxh);$sbruto=(($ht-$extra)*$pxh)+$pxextra;if ($sbruto>80){

$desc=($sbruto*$impuesto);$sneto=$sbruto-$desc;

}echo "Salario Bruto: ".$sbruto."<br>";echo "Descuento: ".$desc."<br>";echo "Salario Neto: ".$sneto;

}else{$extra=0;$pxextra=0;$sbruto=($ht*$pxh);if ($sbruto>80){

$desc=($sbruto*$impuesto);$sneto=$sbruto-$desc;

}echo "Salario Bruto: ".$sbruto."<br>";echo "Descuento: ".$desc."<br>";echo "Salario Neto: ".$sneto;

}?>

21. En un banco los intereses a pagar dependen del plazo al que se efectúe el préstamo. Si es a 24 meses, se paga 12% de interés anual, si es a 18 meses el10%, a 12 meses el 9%, a 6 meses el 8% y a 3 meses el 6%. Ingrese cuánto dinero y el plazo al que se realizará el préstamo y determine el interés anual a pagarse.

<?php/*$dinero=5000.00;$plazo=3;if ($plazo>=24){

$mp=}?>

22. En una universidad el examen tiene un puntaje máximo de 120 puntos y se han fijado los puntajes mínimos para el ingreso a una carrera profesional, de la siguiente manera:

Page 12: Ejercicios Resueltos

De acuerdo al puntaje obtenido por un alumno, determine la(s) carrera(s) a la(s) que ingreso o de un mensaje indicando que no le alcanzó puntaje para ingresar.

<?php$puntos=50;$Sistemas =100;$Electronica =90;$Industrial=80;$Administracion=70;$c1=0;$c2=0;$c3=0;$c4=0;if ($puntos<70){$c1=$Administracion-$puntos;$c2=$Industrial-$puntos;$c3=$Electronica-$puntos;$c4=$Sistemas-$puntos;

echo $puntos."Ptos.<br>"."A Ud. le Faltaron --- ".$c1." Ptos. --- Para Ingresar a *Administracion*<br>";

echo "A Ud. le Faltaron --- ".$c2." Ptos. --- Para Ingresar a *Industrial*<br>";echo "A Ud. le Faltaron --- ".$c3." Ptos. --- Para Ingresar a *Electronica*<br>";echo "A Ud. le Faltaron --- ".$c4." Ptos. --- Para Ingresar a *Sistemas*<br>";

}elseif ($puntos>=$Administracion && $puntos<$Industrial){echo "Ud. Ingreso a *Administracion* con: ".$puntos;

}elseif ($puntos>=$Industrial && $puntos<$Electronica){echo "Ud. Ingreso a *Industrial* con: ".$puntos;

}elseif ($puntos>=$Electronica && $puntos<$Sistemas){echo "Ud. Ingreso a *Electronica* con: ".$puntos;

}elseif ($puntos>=$Sistemas && $puntos<=120){echo "Ud. Ingreso a *Sistemas* con: ".$puntos;

}elseecho "Error en los Puntos Alcanzados: ".$puntos;

?>

23. Dada la edad de una persona determine en qué etapa del desarrollo se encuentra.

Page 13: Ejercicios Resueltos

<?php$edad=15;if ($edad>0 && $edad<=2)

echo "INFANCIA";elseif ($edad>=3 && $edad<=12)

echo "NIÑEZ";elseif ($edad>=13 && $edad<=17)

echo "ADOLESCENCIA";elseif ($edad>=18 && $edad<=25)

echo "JUVENTUD";elseif ($edad>=26 && $edad<=60)

echo "ADULTEZ";elseecho "SENECTUD";?>

24. En una empresa, existen 3 categorías de artículos (A, B y C) y 4 categorías de clientes (Excelentes, Buenos, Regulares y Malos), y tienen implementada la siguiente política de descuentos (en %):

Además se sabe que los clientes de tipo E y B pueden pagar en efectivo, con cheque o crédito, los de tipo R solamente pueden hacerlo en efectivo o con cheque, mientras que los de tipo M solo pueden hacerlo en efectivo. Lea el tipo de cliente, el tipo de artículo que se desea adquirir e indique el descuento, y las alternativas de pago que le son permitidas al cliente.

<?php$tcli="r";$tart="a";$desc=0;

Page 14: Ejercicios Resueltos

$pg="";switch($tcli){

case($tcli=="e");$pg="<br>Tipo De Pago: Efectivo,Cheque o Creadito";;if($tart=="a"){$desc=40;}elseif($tart=="b"){$desc=30;}elseif($tart=="c"){$desc=20;}break;case($tcli=="b");$pg="<br>Tipo De Pago:Efectivo,Cheque o Credito";;

if($tart=="a"){$desc=30;}elseif($tart=="b"){$desc=20;}elseif($tart=="c"){$desc=10;}break;case($tcli=="r");$pg="<br>Tipo De Pago:Efectivo o Cheque";;if($tart=="a"){$desc=20;}elseif($tart=="b"){$desc=10;}elseif($tart=="c"){$desc=0;}break;

}echo "<br>Descuento:".$desc."-".$pg;

?>

25. Dado un número de mes y año, determine cuantos días tiene ese mes.

<?php$año=2012;$mes=1;if($año==0){

switch($mes){case 1:echo" Enero Tiene 31 Dias";break;case 2:echo" Febrero Tiene 29 Dias";break;case 3:echo" Marzo Tiene 31 Dias";break;case 4:echo" Abril Tiene 30 Dias";break;case 5:echo" Mayo Tiene 31 Dias";break;case 6:echo" Junio Tiene 30 Dias";break;case 7:echo" Julio Tiene 31 Dias";break;case 8:echo" Agosto Tiene 31 Dias";break;case 9:echo" Septiembre Tiene 30 Dias";break;case 10:echo" Octubre Tiene 31 Dias";break;case 11:echo" Noviembre Tiene 30 Dias";break;case 12:echo" Diciembre Tiene 31 Dias";break;

}}else{

switch($mes){case 1:echo " Enero Tiene 31 Dias"; break;case 2:echo " Febrero Tiene 28 Dias"; break;case 3:echo " Marzo Tiene 31 Dias"; break;case 4:echo " Abril Tiene 31 Dias"; break;case 5:echo " Mayo Tiene 31 Dias"; break;case 6:echo " Junio Tiene 31 Dias"; break;case 7:echo " Julio Tiene 31 Dias"; break;case 8:echo " Agosto Tiene 31 Dias"; break;case 9:echo " Septiembre Tiene 30 Dias "; break;case 10:echo " Octubre Tiene 31 Dias "; break;

Page 15: Ejercicios Resueltos

case 11:echo " Noviembre Tiene 30 Dias"; break;case 12:echo " Diciembre Tiene 31 Dias"; break;

}}

?>

26. Una tienda vende jeans importados y nacionales, a los siguientes precios:

<?php$talla="L";$tipo="Nacional";$cantidad=2;if ($talla=="S" && $tipo="Nacional"){

$pago=76*$cantidad;echo "Pago = ".$pago;

}elseif ($talla=="M" && $tipo="Nacional"){$pago=87*$cantidad;echo "Pago = ".$pago;

}elseif ($talla=="L" && $tipo="Nacional"){$pago=90*$cantidad;echo "Pago = ".$pago;

}elseif ($talla=="S" && $tipo="Importado"){$pago=95*$cantidad;echo "Pago = ".$pago;

}elseif ($talla=="M" && $tipo="Importado"){$pago=99*$cantidad;echo "Pago = ".$pago;

}elseif ($talla=="L" && $tipo="Importado"){$pago=110*$cantidad;echo "Pago = ".$pago;

}?>

27. ingresar un número de día de la semana y mostrar el nombre del día. (1 para domingo, 2 lunes, etc.)

<?php$dia=5;if ($dia==1){

echo "Domingo";}elseif ($dia==2){

echo "Lunes";}elseif ($dia==3){

echo "Martes";}elseif ($dia==4){

echo "Miercoles";

Page 16: Ejercicios Resueltos

}elseif ($dia==5){echo "Jueves";

}elseif ($dia==6){echo "Viernes";

}elseif ($dia==7){echo "Sabado";

}elseecho "Dia Incorrecto";

?>

28. En una olimpiada de tiro al blanco se llega a un acuerdo entre los participantes para que el puntaje obtenido sea calculado en base a puntaje original (de 0 a 10) alcanzado en tiro, multiplicado por un factor:

Puntaje Original Factor0 0

1…5 66…8 99,10 10

Para un tiro realizado, determinar su puntaje final.

<?php$pun=7;$tot=0;if($pun>-1 && $pun<=10){

switch($pun){case($pun==0);$tot=0;break;case($pun<=5);$tot=$pun*6;break;case($pun<=8);$tot=$pun*8;break;case($pun<=10);$tot=$pun*10;break;

}echo"<br>Puntaje Final:".$tot;

}else{echo"<br>Ingrese Un Puntaje Correcto";

}?>

29. Calcular el precio de un terreno rectangular del cual se tiene: el largo, el ancho y el precio por metro cuadrado. Si el terreno tiene más de 400 metros cuadrados se hace un descuento del 10%, si tiene más de 500 metros cuadrados el descuento es del 17% y si tiene más 1000 metros cuadrados el descuento es del 25%.

<?php$largo=80;$ancho=50;$vmt=10;$tama=$largo*$ancho;

Page 17: Ejercicios Resueltos

$valor=$tama*$vmt;if ($tama>400){

$des=$valor-($valor*0.10);echo $tama."<br>";echo $valor."<br>";echo "Valor del Terreno: ".$des;

}elseif ($tama>500){$des=$valor-($valor*0.17);echo $tama."<br>";echo $valor."<br>";echo "Valor del Terreno: ".$des;

}elseif ($tama>1000){echo $tama."<br>";echo $valor."<br>";$des=$valor-($valor*0.25);echo "Valor del Terreno: ".$des;

}else{

$des=0;echo $tama."<br>";

echo $valor."<br>";echo "Valor del Terreno: ".$valor;

}?>

30. Si compramos al por mayor 100 o más artículos nos descuentan el 40%, si compramos entre 25 y 100 nos descuentan un 20%, y si compramos entre 10 y 25 un 10%. No hay descuento si adquirimos menos de 10 artículos. Diga cuanto debemos pagar por nuestra compra.

<?php$cant=50;$pre=10;$subt=$pre*$cant;if ($cant>=100){

$des=$subt*0.40;$pafinal=$subt-$des;

}elseif ($cant>=25 && $cant<100){$des=$subt*0.20;$pafinal=$subt-$des;

}elseif ($cant>=10 && $cant<25){$des=$subt*0.10;$pafinal=$subt-$des;

}elseif ($cant<10){$des=0;$pafinal=$subt;

}echo "Su Descuento es = ".$des."<br>";echo "Su Monto a Pagar es = ".$pafinal;?>

31. Un profesor desea implementar un algoritmo que le permita bonificar equitativamente a todos sus alumnos de acuerdo a la nota conseguida en un examen, de la siguiente forma: Si la nota fuera menor que 5 se bonifica con 3 puntos; si la nota fuera mayor o igual que 5 pero menor de que 10 se bonifica con 2 puntos y si la nota fuera mayor o igual que 10 pero menor que 15 se bonifica con 1 punto; y si la nota fuera mayor o igual que 15 pero menor o igual que 20 se le descuenta el residuo de la nota entre 5. Determinar la nota bonificada para cualquier alumno.

Page 18: Ejercicios Resueltos

<?php$nota=20;switch($nota){

case($nota<5);$boni=$nota+3;break;case($nota<10);$boni=$nota+2;break;case($nota<15);$boni=$nota+1;break;case($nota<=20);$boni=($nota-($nota%5));break;

}echo"<br>Nota Bonificada:".$boni;?>

32. El impuesto predial se calcula de acuerdo a las características básicas del inmueble (vivienda), de la siguiente manera: Si el material que predomina es cemento, se paga un impuesto básico del 0.1% del valor de la vivienda, pero si es otro material se paga 0.05%. Adicionalmente, si tiene un piso se paga S/. 200; si tiene 2, S/. 250 y si tiene más se paga S/. 320. Además, se paga S/. 1 por cada m2 construido y 0.50 soles por cada metro de terreno sin construir. Si los propietarios son jubilados el pago se reduce al 50% de lo calculado anteriormente. Mostrar en la pantalla el recibo donde se detalle cada uno de los pagos, junto al nombre, dirección y DNI del propietario del inmueble.

<?php$vi=100;$mate="Cemento";$npi=2;$mcons=5;$msicons=5;$per="Jubilado";$pcons=0;$psicons=0;if($mate=="Cemento"){

$pmate=$vi*0.10;}else{$pmate=$vi*0.05;}if($npi==0){$pnpi=0;}elseif($npi==1){$pnpi=200;}elseif($npi==2){$pnpi=250;}elseif($npi>1){$pnpi=320;}if($mcons>0){

$pcons=$mcons*100;}if($mcons>0){

$pcons=$mcons*1.00;}if($msicons>0){

$psicons=$mcons*0.50;}$st=$vi+$pmate+$pnpi+$pcons+$psicons;

if($per=="Jubilado"){$to=$st-($st*0.5);}else{$to=$st;}

Page 19: Ejercicios Resueltos

echo "Total A Pagar Por Vivienda:".$to;?>

33. El gobierno ha implementado como parte de su programa social, un subsidio familiar bajo la siguiente reglamentación: Las familias que tienen hasta 2 hijos reciben S/.70.00, las que tienen entre 3 y 5 hijos reciben S/. 90.00 y las que tienen o más reciben S/. 120.00mensual Por cada hijo en edad escolar reciben S/. 10.00adicionales. Se considera la edad escolar entre 6 y 18 años. Si la madre de familia fuera viuda, la familia recibe S/. 20.00 adicionales. Determinar el monto mensual que recibirá una familia de acuerdo a su propia realidad familiar.

<?php$nombre =$_POST["txtnombre"];$nhijos=$_POST["txtnhijos"];$hijosEdadEscolares=$_POST["txtNEdadescolar"];$estado =$_POST["txtestado"];$monto=0;if($nhijos<=2)$monto=70;elseif ($nhijos> 2 && $nhijos<=5) $monto=90;else $monto=120;if($hijosEdadEscolares>0 )$monto=$monto+(10*$hijosEdadEscolares);if($estado=="V") $monto=$monto+20;echo "La Familia " .$nombre." recibe " .$monto." Al mes";?>

34. Un banco permite tener cuentas en moneda nacional o en moneda extranjera, las cuales pueden ser de ahorros o cuenta corriente. Determine el interés que se pagara en un mes, ingresando el tipo de cuenta, el tipo de moneda y el saldo al finalizar el mes, considerando que los intereses mensuales pagados son los siguientes:

35. El entrenador de un equipo ha determinado los siguientes requisitos para que un determinado jugador, pueda ocupar una posición determinada, de la siguiente manera:

Page 20: Ejercicios Resueltos

Haga un programa que determine para qué posición(es) tiene aptitud un jugador o si no tiene aptitud para ninguna.

<?php$sue=1200;$cuen="Corriente";$mone="Dolares";switch($cuen){case($cuen=="Ahorros");if($mone=="Soles"){$pa=$sue+(($sue*1.5)/100);}elseif($mone=="Dolares"){$pa=$cuen+(($sue*1.1)/100);}break;case($cuen=="Corriente");if($mone=="Soles"){$pa=$sue+($sue*0.70);}elseif($mone=="Dolares"){$pa=$sue+($sue*0.55);}break;}echo "<br>Sueldo A Recibir:".$pa;?>

36. En algunos colegios de la ciudad se ha implantado la evaluación en base a letras: A, B, C y D. Elabore un algoritmo que permita ingresar las dos notas de un alumno y obtener su promedio de acuerdo a esta nueva forma de evaluación. Considere que el promedio también debe ser una letra.

<?php$n1=1;$n2=18;$prom=($n1+$n2)/2;/*d=0-5;c=5-10b=11-15a=16-20*/if ($prom<=5){echo "Su Promedio es: ".$prom."<br>"."'D'";}elseif ($prom<=10){echo "Su Promedio es: ".$prom."<br>"."'C'";}elseif ($prom<=15){echo "Su Promedio es: ".$prom."<br>"."'B'";

Page 21: Ejercicios Resueltos

}elseif ($prom<=20){echo "Su Promedio es: ".$prom."<br>"."'A'";}elseecho "Error de Notas";?>

37. Un numero puede ser menor, igual o mayor que otro. Describa un algoritmo que lea 2 números y determine como es uno respecto al otro.

<?php$n1=15;$n2=15;if ($n1>$n2){echo $n1." -- Es Mayor que -- ".$n2;}elseif ($n2>$n1){echo $n2." -- Es Mayor que -- ".$n1;}elseecho $n1." & ".$n2." -- Son Iguales -- ";?>

38. Ordenar de mayor a menor, 3 números ingresados por teclado.

<?php$n1=80;$n2=50;$n3=10;$aux=0;if($n1<$n2){$aux=$n1;$n1=$n2;$n2=$aux;}if($n1<$n3){$aux=$n1;$n1=$n2;$n2=$aux;if($n1<$n3){$aux=$n1;$n1=$n3;$n3=$aux;if($n2<$n3){$aux=$n2;$n2=$n3;$n3=$aux;}}}echo "<br>Mayor A Menor:".$n1."--".$n2."--".$n3;?>

39. Lea 3 números e indique cual es el valor intermedio.

<?php$n1=40;$n2=20;$n3=50;$res=0;if($n1>$n2 && $n3>$n2){

Page 22: Ejercicios Resueltos

$res=$n2;}elseif($n2>$n1 && $n3>$n1){$res=$n1;}elseif($n1>$n3 && $n2>$n3){$res=$n3;}echo "<br>Nro Intermedio:".$res;?>

40. Calcular la nota final que ha obtenido un alumno en el curso de Algoritmo y Estructura de Datos, sabiendo que se elimina la menor nota y se duplica la mayor nota. Ingresar las notas n1, n2, n3, n4 a través del teclado.

<?php$n1=15;$n2=10;$n3=18;$n4=20;$aux=0;if($n1<$n2){$aux=$n1;$n1=$n2;$n2=$aux;}if($n1<$n3){$aux=$n1;$n1=$n3;$n3=$aux;}if($n1<$n4){$aux=$n1;$n1=$n4;$n4=$aux;}if($n2<$n3){$aux=$n2;$n2=$n3;$n3=$aux;}if($n2<$n4){$aux=$n2;$n2=$n4;$n4=$aux;}if($n3<$n4){$aux=$n3;$n3=$n4;$n4=$aux;}$pro=((($n1*2)+$n2+$n3)/4);echo "<br>Promedio:".$pro;?>

41. Un restaurante ofrece un descuento del 10% para consumos de hasta S7. 30.00, un descuento de 20% para consumos mayores y para ambos casos aplica un impuesto del 15%. Determinar el importe a pagar por lo consumido, mostrando todos los importes.

<?php$consumo=725;$desc=0;$imp=0;

Page 23: Ejercicios Resueltos

if ($consumo<=730){$desc=$consumo*0.10;$mpde=$consumo-$desc;$imp=$consumo*0.15;$mp=$mpde+$imp;echo "Su Descuento es: ".$desc."<br>";echo "Su Impuesto es: ".$imp."<br>";echo "Su Monto a pagar es: ".$mp;}else{$desc=$consumo*0.20;$mpde=$consumo-$desc;$imp=$consumo*0.15;$mp=$mpde+$imp;echo "Su Descuento es: ".$desc."<br>";echo "Su Impuesto es: ".$imp."<br>";echo "Su Monto a pagar es: ".$mp;}?>

42. Calcule el sueldo neto de un vendedor. Dicho cálculo se realiza en base a un sueldo básico equivalente a S/. 465.00, más una comisión del 17% por cada venta que el vendedor realice. Mostrar el sueldo neto del vendedor sabiendo que las ventas que realizo se ingresan por teclado.

<?php$sb=465;$vent=1;if($vent>0){$sn=$sb+(($sb*0.17)*$vent);}else{$sn=$sb;}echo "El Sueldo a Recibir es: ".$sn;?>

43. Determinar el salario bruto y neto semanal de un trabajador considerando que si trabaja más de 40 horas, el exceso será considerado como horas extras cuya tarifa es el 50% más que la tarifa de una hora normal. Además el trabajador se somete a un impuesto del 10% si su salario bruto sobrepasa los S/. 80.00. Mostrar salario bruto, descuento y salario neto.

<?php$ht=50;$ph=10;$he=0;$desc=0;if($ht>40){$he=$ht-40;}$pht=($ht-$he)*$ph;$phe=(($ph*0.50)+$ph)*$he;$pt=$pht+$phe;if($pt>80){$desc=$pt*0.10;}else{$desc=0;}$sn=$pt-$desc;echo "Salario Bruto:".$pt;echo "Descuento:".$desc;echo "Salario Neto:".$sn;?>

Page 24: Ejercicios Resueltos

44. Calcule el costo total de una hospitalización sabiendo el total de días y el costo de la habitación. El costo de la habitación será de acuerdo a la siguiente tabla

AREA COSTO1 1502 120

Otra 100<?php$dia=2;$area=2;if($area==1){$ch=$dia*150;}elseif($area==2){$ch=$dia*120;}else{$ch=$dia*100;}echo "El Pago de la Habitacion sera:".$ch;?>

45. Calcular el promedio de un alumno, sabiendo que se ingresa 3 notas y además debe de mostrar la cualidad del alumno, la cual se establece en la siguiente tabla.

<?php$n1=20;$n2=18;$n3=16;$suma=($n1+$n2+$n3);$promedio=$suma/3;if ($promedio<0){echo "Error de Notas";}elseif ($promedio<=4.4){echo $promedio."<br>";echo "Ud. es Pesimo";}elseif ($promedio<=10.4){echo $promedio."<br>";echo "Ud. es Malo";}elseif ($promedio<=13.4){echo $promedio."<br>";echo "Ud. es Regular";}elseif ($promedio<=16.4){echo $promedio."<br>";echo "Ud. es Bueno";}elseif ($promedio<=20){echo $promedio."<br>";echo "Ud. es Excelente";

Page 25: Ejercicios Resueltos

}elseif ($promedio>20){echo "Excedio el Limite de Promedio";}?>

46. Ingresar el nombre de un trabajador, el número de su turno en el que trabaja: mañana (1), tarde (2), o noche (3), y el número de su categoría: (1) Obrero y (2) Empleado. Calcular el sueldo según su turno y categoría.

<?php$nombre="ISA";$turno=3;$categoria=1;$sueldo=0;if ($turno==1 and $categoria==1){$sueldo=(600+850);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==1 and $categoria==2){$sueldo=(600+1000);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==1 and $categoria==3){$sueldo=(600+1500);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==2 and $categoria==1){$sueldo=(800+850);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==2 and $categoria==2){$sueldo=(800+1000);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";

Page 26: Ejercicios Resueltos

}elseif ($turno==2 and $categoria==3){$sueldo=(800+1500);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==3 and $categoria==1){$sueldo=(1200+850);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==3 and $categoria==2){$sueldo=(1200+1000);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}elseif ($turno==3 and $categoria==3){$sueldo=(1200+1500);echo $nombre."<br>";echo "Turno: ".$turno."<br>";echo "Categoria: ".$categoria."<br>";echo "Sueldo: ".$sueldo."<br>";}else{echo "Error";}?>

47. Ingresar el nombre, año actual y año de nacimiento de una persona, mostrar su edad y un mensaje indicando si es mayor o menor de edad, así como su etapa de vida.

<?php$nombre="EdU";$actual=2012;$anace=1992;$edad=$actual-$anace;if ($edad<0){echo "Error de Edad";}elseif ($edad<=12){echo $nombre."<br>";echo "Naciste en el Ano: ".$anace."<br>";echo "Tu edad es: ".$edad."<br>";

Page 27: Ejercicios Resueltos

echo "Ud. es Nino";}elseif ($edad<=17){echo $nombre."<br>";echo "Naciste en el Ano: ".$anace."<br>";echo "Tu edad es: ".$edad."<br>";echo "Ud. es Adolescente";}elseif ($edad<=30){echo $nombre."<br>";echo "Naciste en el Ano: ".$anace."<br>";echo "Tu edad es: ".$edad."<br>";echo "Ud. es Joven";}elseif ($edad<=70){echo $nombre."<br>";echo "Naciste en el Ano: ".$anace."<br>";echo "Tu edad es: ".$edad."<br>";echo "Ud. es Adulto";}elseif ($edad>70){echo $nombre."<br>";echo "Naciste en el Ano: ".$anace."<br>";echo "Tu edad es: ".$edad."<br>";echo "Ud. es Anciano";}?>

48. Un curso se evalúa de la siguiente forma: se toma 5 prácticas calificadas, se determina el promedio de las 4 notas más altas y se le da al estudiante una categoría que puede ser A, B, C, o D. Según la siguiente tabla

<?php$not1=17;$not2=19;$not3=20;$not4=20;$not5=18;$cat="";if($not1<$not2&&$not1<$not3&&$not1<$not4&&$not1<$not5){$promd=($not2+$not3+$not4+$not5)/4;}elseif($not2<$not1&&$not2<$not3&&$not2<$not4&&$not2<$not5){$promd=($not1+$not3+$not4+$not5)/4;}elseif($not3<$not1&&$not3<$not2&&$not3<$not4&&$not3<$not5){$promd=($not1+$not2+$not4+$not5)/4;}elseif($not4<$not1&&$not4<$not2&&$not4<$not3&&$not4<$not5){$promd=($not1+$not2+$not3+$not5)/4;}elseif($not5<$not1&&$not5<$not2&&$not5<$not3&&$not5<$not4){$promd=($not1+$not2+$not3+$not4)/4;}

Page 28: Ejercicios Resueltos

switch($promd){case($promd<=20):$cat="A";break;case($promd<=16):$cat="B";break;case($promd<=13):$cat="C";break;case($promd<=9):$cat="D";break;}echo "El Promedio es:".$promd."Categoria:".$cat;?>

TALLER DE EJERCICIOS Nº 3Repetitiva: FOR

1. Mostrar en la pantalla los K primeros términos de la serie: 1, -2, 3, -4, 5,....

<?php$k=20;

for($i=1;$i<=$k;$i++){if ($i%2==0)

echo "-".$i.",";else

echo $i.",";}?>

2. Ingresar N números y calcular el promedio de los pares y el promedio de los impares.

<?php$n=10;$ctpar=0;$ctimpar=0;$par=0;$impar=0;$propar=0;$proimpar=0;for ($i=1;$i<$n;$i++){

echo $i." , ";if ($i%2==0){

$ctpar=$ctpar+1;$par=$par+$i;$propar=$par/$contpar;

}else{$ctimpar=$ctimpar+1;$impar=$impar+$i;$proimpar=$impar/$contimpar;

}}

echo "<br>Suma de Pares: ".$par;echo "<br>Cantidad de Pares: ".$ctpar;

Page 29: Ejercicios Resueltos

echo "<br>Promedio de Pares: ".$propar."<br>";echo "<br>Suma de Impares: ".$impar;echo "<br>Cantidad de Impares: ".$ctimpar;echo "<br>Promedio de Impares: ".$proimpar."<br>";?>

3. Calcular la suma de los N primeros términos de la serie: 1, 5, 9, 13, 17, 21, ...

4. Determinar la suma de los primeros N números pares positivos.

<?php$n=15;$sum=0;for ($i=1;$i<$n;$i++){

if ($i%2==0){$sum=$sum+$i;echo $i." , ";

}}

echo $sum;?>

5. Determinar la suma de los primeros N términos de la serie: 2+4+8+16+…..

<?php$n=10;$su=0;for ($i=1;$i<$n;$i++){

if ($i%2==0){echo $i."<br>";$su=$su+$i;

}

}echo "<br>La Suma de los Pares es: ".$sum;?>

6. Ingresar N números enteros y determinar el menor valor ingresado.

7. Imprimir los números primos que existen entre 1 y N.

8. Mostrar la lista de los N primeros términos de la serie: 1, 4, 7, 10, 13,... y calcular cuánto suman.

9. Mostrar todos los divisores de un número entero.

10. Mostrar la lista de los N primeros términos de la serie: 2, 2, 4, 12, 48,.. y calcular cuánto suman.

Page 30: Ejercicios Resueltos

<?php$n=5;$a=2;$val=1;for($i=1;$i<=$n;$i++){echo "$a,";$a=$a*$val;$val=$val+1;}?>

11. Mostrar en la pantalla los K primeros términos de la serie: 1, 2, -3, 4, 5,-6,....

<?php$k=10;

for($i=1;$i<=$k;$i++){if ($i%3==0)

echo "-".$i.",";else

echo $i.",";}

?>

12. Calcular la suma, la suma de cuadrados y la suma de cubos de los N primeros números.

13. Mostrar en la pantalla los N primeros términos de la serie: 1, 2, 4, 5, 10, 11, 22,...

14. Dado un valor N, muestre los números múltiplos de 3 que existen entre 1 y N.

15. Calcular el producto de los N primeros términos de la serie: 10, 5, 11, 4, 12, 3, 13,...

16. Ingresar N notas y calcular el número de alumnos aprobados.

17. Dado un valor N, muestre los números pares que existen entre 1 y N.

TALLER DE EJERCICIOS Nº 4

ESTRUCTURAS REPETITIVAS MIENTRAS (WHILE) Y HACER MIENTRAS (DO-WHILE)

1. Escribir un programa que calcule el producto de cubos de los N primeros números enteros.

<?php$n = 1;

Page 31: Ejercicios Resueltos

$cubo=0; while ($n <= 5) { echo("<br>Numero: " .$cubo=pow($n,3)); $numero++; }?>

2. Escribir un programa que calcule el promedio de las notas ingresadas. Cuando el usuario ingrese una nota igual a cero se dejarán de ingresar las notas.

<?php$suma=0;$vector=array('15','18','0','1');while (list($clave,$valor)=each($vector)){

if($valor!=0){$suma=$suma+$valor;

}else{break;}

}$pro=$suma/$clave;echo"Promedio:".$pro;?>

3. Ingresar dos números enteros A y B, y obtener la lista de los números que se encuentran entre A y B, donde A > B.

4. Escribir un programa que permita calcular la suma de los números enteros comprendidos entre 2 cantidades ingresadas por teclado.

5. Dado un número entero, mostrar la lista de todos sus divisores.

6. Ingresar un número entero A, y obtener la lista de los números múltiplos de A que se encuentran entre 1 y 200.

7. Ingresar dos números enteros B y C, y obtener la lista de los números múltiplos de 5 que se encuentran entre B y C. B puede ser mayor o menor a C.

8. Ingresar números enteros, hasta que se ingrese un número negativo y determinar cuántos de los números ingresados son pares y cuántos son impares.

<?php$par=0;$impar=0;$vector=array('15','18','1','-1');while(list($clave,$valor)=each($vector)){

if($valor>0){if($valor%2==0){

$par++;}else{

$impar++;}}else{

break;}

Page 32: Ejercicios Resueltos

}echo " Nro De Pares:".$par.$par."Nros Impares:".$impar;;;?>

9. Ingresar tres números enteros A, B y C, y obtener la lista de los números múltiplos de A que se encuentran entre B y C. B puede ser mayor o menor a C.

10. Escribir un programa que lea N números desde el teclado y determine el mayor.

<?php$mayor=0;$vector=array('15','18','1','-1');while(list($clave,$valor)=each($vector)){

if($valor>$mayor){$mayor=$valor;}

}echo "<br>Nro Mayor:".$mayor;?>

11. Escribir un programa que lea N números desde el teclado y determine el menor de todos.

<?php$menor=0;$vector=array('20','18','1','-1');while(list($clave,$valor)=each($vector)){

if($clave==0){$menor=$valor;

}if($menor>$valor){

$menor=$valor;}}echo "<br>Nro Menor:".$menor;?>

12. Ingresando los precios de N productos, determinar: el precio mayor, el precio menor y el precio promedio.

<?php$nro=array('20','5','1','10','12');$suma=0;$x=0;while(list($clave,$valor)=each($nro)){

if($clave==0){$mayor=1;$menor=$valor;

}if($valor>$mayor){

$mayor=$valor;}if($valor<$menor){

$menor=$valor;}$x++;

Page 33: Ejercicios Resueltos

$suma=$suma+$valor;}$promedio=$suma/$x;echo "<br>Precio Mayor:".$mayor."<br>Precio Menor:".$menor."<br>Precio Promedio:".$promedio;?>

13. Lea un número y forme otro número con las cifras en orden inverso. Así si el número es 12345 el nuevo número será 54321.

<?php$cadena="1234567890";for($i=strlen($cadena)-1;$i>-1;$i--){

$aux[$i]=$cadena[$i];echo$aux[$i];

}?>

14. Lea un número entero en base 10, y conviértalo a otra base menor que 10.

15. Lea un número entero en una base menor que 10, y conviértalo a base 10.

16. Un número es perfecto si la suma de sus divisores es igual a sí mismo. Por ejemplo 6 es perfecto, porque sus divisores: 1, 2 y 3, sumados son exactamente 6. Determinar si un número ingresado por el teclado es perfecto o no lo es.

17. Factorizar un número ingresado por el teclado. Por ejemplo, para 24, se mostrará: 2x2 x_2 x 3

<?php$nro=123;echo"<brFactorizacion:";for($x=2;$x<=$nro;$x++){

if($nro%$x==0){$nro=$nro/$x;echo"<br>$x";$x--;

}}echo "<br>1";?>

18. Escribir un algoritmo que permita reducir una fracción a su mínima expresión, por ejemplo, si se ingresa 28/64, quedará reducida a 7/16. Sugerencia: Ingrese el numerador y denominador por separado.

<?php$numerador=150;$denominador=50;$x=1;if($numerador>$denominador){

$mayor=$numerador;}else{

$mayor=$denominador;}echo"<br>Simplificado:";while($x<=$mayor){

Page 34: Ejercicios Resueltos

$x++;if($numerador%$x==0 && $denominador % $x==0){

$numerador=$numerador/$x;$denominador=$denominador/$x;$x--;

}}echo $numerador."/".$denominador;;?>

19. Imprimir todos los números primos entre 2 y 100 inclusive

20. Escribir los números del 1 al 100

21. Se tienen las calificaciones de los alumnos de un curso de informática correspondiente a las asignaturas: Taller I, Algoritmos, Matemática I. Diseñe un algoritmo que calcule la media de cada alumno.

<?php$nota=array('15','20','15','20','14','16','10','20','18');$s=0;$s=0;$suma=0;for($x=0;$x<sizeof($nota);$x++){

$suma=$suma+$nota[$x];$s++;if($s==3){

$promedio=$suma/3;echo "<br>Promedio Alumno:".$promedio;$suma=0;$s=0;

}}?>

22. Escribir un programa que permita simular el funcionamiento de una calculadora que realiza las operaciones básicas: suma, resta, multiplicación y división.

23. Dados dos números enteros, hacer un algoritmo que calcule su cociente y su resto.

24. Escribir un algoritmo que permita escribir en pantalla la frase ¿Desea continuar? S/N, hasta que la respuesta sea S o N.

<?php$res=array("s","n","s","s","s");for($x=0;$x<count($res);$x++){

if($res[$x]=="s"){echo "<br>Continua:".$res[$x];

Page 35: Ejercicios Resueltos

}else{echo "<br>Continua:".$res[$x];break;

}}?>

25. Reportar en una tabla los N primeros números naturales, sus cubos y sus raíces cuadradas.

<?php$nro=array('15','10','13','15','30','30');$cubo=0;$raiz=0;while(list($conta,$valor)=each($nro)){

$cubo=pow($valor,3);$raiz=sqrt($valor);

echo"<br>Nro $valor Cubo:$cubo Raiz=$raiz";}?>

26. Ingresar 8 números y reportarlos en orden ascendente.

<?php$vector=array(50,5,100,20,10);for($i=1;$i<sizeof($vector);$i++){

for($j=0;$j<sizeof($vector)-$i;$j++){if($vector[$j]>$vector[$j+1]){

$k=$vector[$j+1];$vector[$j+1]=$vector[$j];$vector[$j]=$k;}

}}echo "Ordenado Ascendentemente=";for($i=0;$i<sizeof($vector);$i++){

}echo $vector[$i]."";?>

27. Ingresar un número entero y reportar si es par o impar, negativo o positivo o si es cero.

28. Se desea ingresar los siguientes datos de n alumnos: nota (0-20), sexo (M, F) y estado civil (S, C, D).

Se quiere determinar:

o Número de hombres y número de mujeres (h,m).o Número de hombres aprobados y número de mujeres aprobadas (hap,map).o Número de hombres casados aprobados y desaprobados.o Número de hombres casados.o Número de mujeres solteras aprobadas.o Número de mujeres divorciadaso Número total de desaprobados.

29. Escribir un programa que permita ingresar un número entero positivo y determine si es primo o no. El proceso se debe repetir mientras se desee continuar.

Page 36: Ejercicios Resueltos

<?php$nro=10;$aux=0;for($i=1;$i<=$nro;$i++){

if($nro%$i==0){$aux=$aux+1;

}}if($aux<3){

echo "<br>El Nro Es Primo:";}else{

echo "<br>El Nro No Es Primo:";}

?>

30. Escribir un programa que calcule e imprima todos los números primos menores o igual a un número n. El número n debe ser positivo.

31. Escribir un programa que permita calcular el MCM y el MCD de dos números enteros positivos.

32. Escribir un programa que permita encontrar el MCD de tres números enteros positivos.

<?php$n1=83;$n2=23;$n3=50;$mayor=0;$res=1;$x=1;$aux=0;if($n1<$n2){ $aux=$n1; $n1=$n2; $n2=$aux; }if($n1<$n3){ $aux=$n1; $n1=$n3; $n3=$aux; }if($n2<$n3){ $aux=$n2; $n1=$n3; $n3=$aux; }

if($n1%$x==0 && $n2%$x==0 && $n3%$x==0){$n1=$n1/$x;$n2=$n2/$x;$n3=$n3/$x;$res=$res*$x;$x=$x-1;}

echo "<br>M.C.D Es:".$res;?>

33. Una fábrica de TV necesita un programa que le ayude a controlar el manejo de sus inventarios y pedidos de venta. Cuando llega el pedido, el programa debe verificar si existe suficiente cantidad de TV en inventario. Si es así, debe imprimir un mensaje: “PEDIDO COMPLETO” y a continuación debe disminuir dicha cantidad del inventario. Si no se satisface la cantidad de pedido, se debe imprimir el mensaje “PEDIDO INCOMPLETO”.

El programa termina cuando se ingresa un pedido < = 0 o ya no queda en inventario. Al terminar el programa debe reportar:

El número de TV que quedan en inventario final. El número de pedidos completos. El número de pedidos incompletos. El número de TV vendidos.

Page 37: Ejercicios Resueltos

El número de TV que faltan satisfacer todos los pedidos incompletos.

34. Escribir un programa que lea un número N y determine si es o no capicúa. Un número es capicúa si se lee igual de izquierda a derecha y de derecha a izquierda. El programa se debe ejecutar mientras se desee.

<?php$cadena="321";$res="";for($i=strlen($cadena)-1;$i>-1;$i--){

$aux[$i]=$cadena[$i];$res=$res.$aux[$i];

}if($cadena==$res){

echo "<br>El Nro Es Capicua:";}else{

echo "<br>El Nro No Es Capicua:";}

?>

35. Escribir un programa que permita leer u número entero n> = 0 y que imprima los n términos de la serie: 10, 15, 23, 35, 53, 80,……Además debe imprimir la suma de los N términos.

36. Escribir un programa que permita calcular el producto de 2 números, sólo por sumas sucesivas.

<?php$n1=5;$n2=10;$res=0;$cad="";if($n1<$n2){

$mayor=$n2;$menor=$n1;

}else{$mayor=$n1;$menor=$n2;

for($x=1;$x<=$menor;$x++){$res=$res+$mayor;$cad=$cad.$mayor."+";}echo $menor."*".$mayor."=".$cad."=".$res;

}?>

37. Escribir un programa que lea notas de 25 alumnos y que calcule e imprima:

El número de aprobados. El número de desaprobados. La nota promedio. El porcentaje de aprobados y el porcentaje de desaprobados. Las notas sólo deben estar en el rango de 0 a 20.

<?php$nota=array(15,20,10,18,18,20,20,15,20,10,18,18,20,20,15,20,15,20,10,18,18,20);$aprob=0;$desprob=0;

Page 38: Ejercicios Resueltos

$p=0;$suma=0;$papro=0;$pdpro=0;for($x=0;$x<count($nota);$x++){if($nota[$x]>=0 && $nota[$x]<=20){if($nota[$x]>=0 && $nota[$x]<=20){if($nota[$x]>=10.5){$aprob++;}else{$desprob++;}$suma=$suma+$nota[$x];$p++;}}$prom=$suma/$p;$papro=($aprob*100)/$p;$pdpro=($desprob*100)/$p;echo"<br>NroAprobados:".$aprob."<br>Nro Desaprobados:".$desprob."<br>Promedio:".$prom."<br>%Aprobados".$papro."<br>%Desaprobado:".$pdpro;}?>