SlideShare una empresa de Scribd logo
1 de 212
Descargar para leer sin conexión
Megabyte
Megabyte
G R U P O E D I T O R T A L
Primera Edición, Octubre 2006
Área : C om putación e Inform ática
H echo el D epósito Legal en la B iblioteca N acional del Perú
N9 20 06 - 9786 (Ley N9 26905 / D .S. N9 0 1 7-98-ED )
R .U .C . N920507993444
IS B N : 9972 - 821 - 85 - 4
© E dw ard A burto C orrea
G erente G eneral___________
© Joel de la C ruz V illar
A utor ______________
© G ean C ario A polinario G arcía
D iseño de C arátu la
Algoritmos y Diagramas de Flujo
aplicados en PHP
Derechos Reservados / Decreto Ley 822
P ro h ib id a la re p ro d u c c ió n t o t a l o p a r c ia l d e e s te lib r o , su
tra ta m ie n to in fo rm á tic o la tra n s m is ió n de n in g u n a o tra fo rm a o
p o r c u a lq u ie r o tro m e d io ya sea e le c tró n ic o , m e c á n ic o , p o r
fo to c o p ia , p o r re g is tro u o tro s m é to d o s sin p e rm iso p re v io y p o r
e s c rito d e los titu la re s de C o p yrig h t.
D istrib ución y V entas
Jr. R ufino Torrico 889 of. 208 - C ercado de Lim a
Telefax: 332-4110 N extel: 407*4515
w w w .g ru p o m e g a b y te .c o m v e n ta s @ g ru p o m e g a b y te .c o m
w w w .e d ito ria lm e g a b y te .c o m v e n ta s @ e d ito ria lm e g a b y te .c o m
Cta. B anco de C rédito
S/. 191-12591005-0-86
$. 191-12591006-1-87
Dedicatoria
Dedicatoria
En memoria de un
gran Amigo E.B.A. C. y a
Carmen Rosa por su apoyo
en la realización de esta
obra
G r u p o E d i t o r i a l M e g a b y t e 5
Contenido de CD
Contenido del CD
El CD incluye todos los ejemplos explicados en libro en formato Web, cada
ejemplo esta en un archivo con extensión PHP que tiene que ser ejecutado
desde un servidor LINUX, UNIX ó Windows que soporte paginas PHP desde la
versión 4.x a superior, también es recomendable utilizar Intente Explorer 6 a
superior ó Firefox, para poder ser apreciados sin problemas.
Usted puede cambiar los valores de las variables que están en la parte superior
de cada archivo y probarlos, no es recomendable editar el código al menos
que tenga el conocimiento para realizarlo.
Los ejemplos no requieren dependencias como base de datos u otros
programas, también puede ejecutarse desde cualquier directorio Web.
Indice
/
Indice
Introducción............................................................................................................... 15
Capítulo I
Conceptos Básicos
Algoritmos.................................................................. 19
Programa...........................................................................................................19
Heurística.......................................................................................................... 20
Diagrama de flujo.............................................................................................20
Variables............................................................................................................22
Constantes........................................................................................................22
Expresiones.......................................................................................................22
Operadores...............................................................................................................22
Aritméticos........................................................................................................ 22
Relaciónales.....................................................................................................23
Lógicos...............................................................................................................23
AND (Y)..............................................................................................................23
OR (O)................................................................................................................24
NOT (NO).................................................................................................................. 24
Prioridad de los Operadores....................................................................... 24
ENTRADA / SALIDA de datos.............................................................................. 24
LEER..................................................................................................................25
G r u p o E d i t o r i a l M e g a b y t e 9
Algoritmos y Diagramas de Flujo aplicados en PHP
ESCRIBIR...................................................'...................................................... 25
Tipos de datos escalares.......................................................................................25
Asignaciones............................................................................................................ 26
Declaración de variables........................................................................................26
Técnicas de desarrollo de algoritmos.................................................................26
Pseudocódigo............................................................................................................28
Ejemplo 1: Imprimir el área de un triángulo....................................................... 28
Ejemplo 2: Formando una oración..................................................................... 31
Ejemplo 3: Escriba el resultado de la siguiente expresión Aritmética 33
Ejemplo 4: Promedio de sus calificaciones....................................................... 35
Ejemplo 5: Calcular peso expresado en kilogramos y su altura expresada en
metros............................................. 37
Ejemplo 6: Convertir Euros a nuevos soles.......................................................39
Ejemplo 7: Mostrar la fecha y hora actual..........................................................41
Ejemplo 8: Convertir en Euros y Dólares 2 cantidades................................... 43
Ejemplo 9: Calcular el área de un triangulo.......................................................45
Ejemplo 10: Calcular el área y volumen de una pelota................................... 48
Ejemplo 11: Calcularla distancia entre dos postes de alumbrado público 50
Ejemplo 12: Calcular el porcentaje de una encuesta.......................................53
Ejemplo 13: Calcular el radio y la altura de un cilindro................................... 55
Capítulo II
Estructuras lógicas selectivas
Estructura Si...Entonces (Selecciónsimple)......................................................... 62
Ejemplo 1: Buscar un co lo r..................................................................................62
Ejemplo 2: Mostrar nota menor igual.................................................................. 64
Ejemplo 3: calcular cantidad menor igual..........................................................66
Ejemplo 4: Aplicar aumento de sueldo................................................................68
10 G r u p o E d i t o r i a l M e g a b y t e
índice
Estructura Si...Entonces...Si no (Alternativa doble).........................................70
Ejemplo 5: Mostrar mensaje de acuerdo auna condición................................ 71
Ejemplo 6: Mostrar mensaje de acuerdo auna notaaprobatoria........................73
Ejemplo 7: Realizar tipo de cambio de acuerdoal valor dela moneda 75
Ejemplo 8: Aplicar aumento de acuerdo al sueldo.........................................77
Anidamiento de Estructuras condicionales.........................................................80
Ejemplo 9: Validar el aumento de unempleado................................................. 81
Ejemplo 10: Aplicar y validar aumentos.............................................................85
Ejemplo 11: ordenar cantidades..........................................................................89
Ejemplo 12: Mostrar mensaje de acuerdo a una nota...................................93
Ejemplo 13: validar y mostrar un mensaje si el númeroespar/impar. 96
Ejemplo 14: Validar edades de niños................................................................ 99
Ejemplo 15: Mostrar mensaje si existe un numero repetido......................... 103
Ejemplo 16: Ordenar números de menor amayor........................................... 106
La estructura de selección múltiple....................................................................109
Ejemplo 17: calcular 2 valores en un menú deselección.............................. 109
Ejemplo 18: Validar fecha de nacimiento.......................................................... 113
Capítulo III
Estructuras Lógicas Repetitivas
Estructura Hacer Mientras....................................................................................122
Ejemplo 1: Obtener el total de sueldos........................................................... 124
Ejemplo 2: Listar a ñ o s.........................................................................................127
Ejemplo 3: Contar números divisibles...............................................................130
Estructura Mientras.................................................................................................133
Ejemplo 4: Obtener el total de sueldos de 10obreros................................. 134
Ejemplo 5. Lista los años del 2000 al 2010......................................................138
G r u p o E d i t o r i a l M e g a b y t e 11
Algoritmos y Diagramas de Flujo aplicados en PHP
Ejemplo 6: Mostrar cuantos números NO son divisibles entre 2 ...................141
Estructura Desde................................................................................................... 144
Ejemplo 7: Mostrar el total de números divisibles y no divisibles.................145
Ejemplo 8: Generar la tabla de multiplicar del 5.............................................. 148
Ejemplo 9: Generar la tabla de multiplicar del 1 al 9......................................150
Ejemplo 10: hallar el número de término para la progresiónsiguiente: 1, 2,
4,.......,*20000.......................................................................................................... 153
Capítulo IV
Arreglos- Arrays
¿Que es un array?.................................................................................................159
Ejemplo 1: Almacenar nombres de ciudades.............................................. 159
arrays asociativos.................................................................................................. 161
Ejemplo 2: Ejemplo asociativos.................................................................. 161
arrays Multidimensionales.................................................................................... 162
Ejemplo 3: Ejemplo Multidimensionales.....................................................162
array_slice()............................................................................................................163
Ejemplo 4: Ejemplo array_slice()...............................................................163
array_shift()............................................................................................................166
Ejemplo 5: Ejemplo array_shift()................................................................. 166
unset().......................................................................................................................168
Ejemplo 6: Ejemplo unset()........................................................................168
array_push()...........................................................................................................170
Ejemplo 7: Ejemplo array_push()............................................................... 170
Finalizando Arrays PHP........................................................................................ 173
En que caso se utiliza array PHP?.................................................................... 174
Ejemplo 9: Busque el nombre de una persona en un arreglo.........................174
12 G r u p o E d i t o r i a l M e c a b y t e
Indice
Ejemplo 10: Inserte el nombre de una persona en un arreglo...................... 176
Ejemplo 11: Elimine el nombre de una persona en un arreglo...................... 179
Ejemplo 12: Busque a un empleado por su código y le aumente el sueldo
en 2.5.......................................................................................................................181
Ejemplo 13: Muestre los nombres y notas aprobatorias de 5 alumnos del aula A
y 5 alumnos del aula B................................ 183
Ejemplo 14: Utilizando 2 arreglos Alumnos, Nota, tome como nota desaprobatoria
menor a 13..............................................................................................................186
Ejemplo 15: Ingresar el nombre de un persona en un arreglo y mostrarlo el
arreglo.......................................................................................................................188
G r u p o E d i t o r i a l M e g a b y t e 13
Introducción
Introducción
El libro de algoritmos esta compuesto de 4 capítulos que contiene teoría y
ejemplos básicos de programación, el algoritmo es el Inicio de la programación
porque esta conformado de pseudocódigos y diagramas de flujo que dan una
visión amplia de como debe iniciarse y finalizar una programación basada en
operadores, estructuras selectivas, estructuras repetitivas y manejo de arreglos.
El pseudocódigo no es directamente un lenguaje de programación que se
pueda ejecutar en un computador y probar su correcto funcionamiento y tampoco
indica si esta correctamente colocado los bloques de código, ya que cada
lenguaje de programación como C, C++, JavaScript, entre otros, trabaja sus
funciones distintamente a otros, pero siempre manteniendo la lógica inicial de
algoritmos. Por esta razón el libro contiene ejemplos aplicados en PHP, dado
que PHP es un lenguaje que se ejecuta desde un servidor este trabaja muy
bien cuando se le indica lo que tiene que hacer desde las variables.
G rl p o E d i t o r i a l M e g a b y t e 15
Capítulo I
Conceptos
Básicos
Objetives:
En este capitulo usted aprender a desarrollar Algoritmos
Básicos basados en operadores aritméticos, para luego
plasm arlo en un Diagramas de flujo y aplicarlo en el
lenguaje PHP.
C o n t e n d i ó :
Algoritmos
Operadores
ENTRADA/SALIDA de datos
Tipos de datos escalares
Asignaciones
Declaración de variables
Técnicas de desarrollo de algoritmos
Pseudocódigo
Ejemplos
Capítulo 1: Conceptos básicos
Los algoritmos
Constituyen un listado de instrucciones que indican el camino a seguir para dar
solución a un problema.
Se puede decir que un algoritmo es la suma de una parte lógica, mas una parte de
control, en donde la parte lógica especifica el conocimiento en la solución del
problema y la parte de control es la estrategia para solucionar el problema.
Características de los algoritmos
- Un algoritmo no debe de ser ambiguo.
- Debe de tener una secuencia inicial y Final
- Cada paso deberá tener una secuencia sucesiva y única.
- El algoritmo debe de ser siempre eficiente y dar una solución al problema o de
lo contrario mostrar un mensaje que diga "Sin solución"
Programa
Un programa esta definido por un "algoritmo", porque forma el conjunto de
instrucciones que forman el algoritmo (codificados en un lenguaje de programación)
y que se procesa en una computadora para solucionar un problema específico.
G r u p o E d i t o r i a l M e g a b y t e 19
Heurística
L'n algoritmo que da o produce una solución a un problema planteado aunque
esta solución no sea la óptima es llamado "Heurístico".
Diagrama de flujo
El diagrama de flujo es una representación gráfica que conforman el algoritmo.
En el siguiente ejemplo se muestra un diagrama de flujo para:
DIVIDIR (/) dos variables B y C, donde el resultado es almacenado en la variable
A. (Ver Gráfico 1)
Algoritmos v Diagramas de Flujo aplicados en PHP
Gráfico 1
2 0 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Los símbolos del diagrama mas comunes son:
Terminal: Se usa para indicar el inicio o fin de
un diagrama de flujo
Proceso: Cualquier tipo de operación que
pueda originar cambio de valor, operaciones
aritméticas, de transformaciones, etc.
Entrada/Salida: Se usa para indicar el ingreso
o salida de datos.
Salida: Se utiliza para mostrar datos, será el
símbolo usado en este texto.
Conector: Sirve para enlazar dos partes
cualesquiera de un diagrama a través de un
conector en la salida y otro conector en la
entrada.
Salida: Indica operaciones lógicas o de
comparación entre datos y en función del
resultado determina cual camino alternativo del
programa se debe seguir.
En caso de: Usado para indicar varias acciones
posibles según sea un dato de entrado al control.
Desde: Estructura repetitiva q indica un ciclo
de N repeticiones de una o mas acciones.
G r u p o E d i t o r i a l M e g a b y t e 21
Algoritmos y Diagramas de Flujo aplicados en PHP
Variables
Se utilizan para contener datos de distintos tipos: números, letras, cadenas de
caracteres, valores lógicos, etc. El valor contenido en una variable puede cambiar
a lo largo de la ejecución de un programa.
Constantes
Son elementos que contienen datos, el valor asignado a una constante es fijo y no
se puede cambiar durante toda la ejecución de un programa.
Expresiones
Las expresiones son combinaciones de constantes, variables, simbolos de operación,
paréntesis y nombres de funciones especiales.
Por ejemplo:
A + (B + 3 ) / C
Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones implicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que
manipulan, se clasifican las expresiones en:
Aritméticas
Relaciónales
Lógicas
Operadores
Aritm éticos
Los operadores aritméticos permiten realizar cualquier operación aritmética (suma,
resta, multiplicación y división).
En la siguiente tabla se muestran los operadores.
22 G r u p o E d i t o r i a l M e c a b y t e
Capítulo 1: Conceptos básicos
O p e ra d o r A cció n E jem p lo R esu ltad o
- Resta x = 5 - 3 2
+ Suma x = 2 + 3 5
*
Multiplicación x = 2 * 3 6
/ División x = 6 /2 3
A Potencia x = 3 A 2 9
MOD Módulo x = 5 MOD 2 1
DIV División entera x= 5 DIV 2 2
El operador MOD devuelve el residuo de una división entera, mientras que el
operador DIV permite realizar una división entre dos números enteros, alli rádica
la diferencia con el operador «/».
Relaciónales
Permiten evaluar las relaciones entre un par de operandos. Los operadores
relaciónales son:
Operador Acción
> M ayor que
>= M ayor o igual que
< M enor que
<= M enor o igual que
= Igual
!= o o Distinto
Lógicos
Los operadores lógicos producen un resultado booleano, y sus operandos son
también valores lógicos o asimilables a ellos (los valores numéricos son asimilados
a cierto o falso según su valor sea cero o distinto de cero).
Los operadores lógicos son tres; dos de ellos son binarios, el último (negación) es
unario.
AND (Y)
Produce un resultado con valor de verdad true cuando ambos operandos tienen
valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad
false.
Sintaxis: variable 1 AND variable2
G r u p o E d i t o r i a l M e g a b y t e 23
Algoritmos y Diagramas de Flujo aplicados en PHP
OR (O)
Produce un resultado con valor de falso false cuando ambos operadores tienen
valores falsos; en cualquier otro caso el resultado tendrá un valor de verdad true.
Sintaxis: variable 1 OR variable2
NOT (NO)
Invierte el valor de verdad de operando.
Sintaxis: NOT operando
Ejemplo :
Si operando tiene un valor de verdad true, not operando produce un resultado
con valor falso false.
Prioridad de los Operadores
Los operadores deben ser evaluados según la siguiente prioridad
1 - 0
2 .-A
3.- *, /, Mod, Not
4.- +, And
5.- >, < ,> = ,< = ,< >, =, Or
ENTRADA / SALIDA de datos
Los dispositivos de entrada / salida permiten que el usuario interactúe con el
sistema. Por medio de los dispositivos de entrada el usuario ingresa los datos a
procesar en el sistema y los dispositivos de salida muestran el resultado.
Las instrucciones de E/S dan acceso al programador a las funciones básicas de
estos dispositivos, permitiéndole capturar datos de los dispositivos de entrada y
asignarlos a variables para operar con ellos y mostrar resultados del proceso en
los dispositivos de salida.
24 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
LEER
Permite el ingreso de datos al computador, el dato leido debe ser almacenado en
una variable, la sintaxis es la siguiente:
LEER variable
ESCRIBIR
Permite reportar resultados de un proceso, también se usa para enviar un mensaje
al operador. La sintaxis es la siguiente:
ESCRIBIR Variable
ESCRIBIR ‘Texto’
ESCRIBIR Expresión
Veamos unos ejemplos, según sean las sintaxis anteriores respectivamente
ESCRIBIR Resultado
Esta instrucción devuelve el contenido de la variable Resultado
ESCRIBIR ‘Prepárese para el ingreso de datos’
Esta instrucción muestra al usuario el contenido de los apostrofes, nótese que
para poder mostrar un texto este debe ir encerrado en apostrofes o comillas
según el lenguaje que utilice.
ESCRIBIR 4*n
Esta instrucción primero calcula la expresión 4*n y luego muestra ese resultado.
Tipos de datos escalares
Son aquellos tipos de datos cuyos miembros están compuestos por un solo ítem
(dato). Los tipos de datos escalares nativos son aquellos tipos de datos escalares
que ya están implementados en el lenguaje junto a sus respectivas operaciones.
Entre estos tipos de datos tenemos Entero, Real, Carácter, Booleano; más
adelante veremos otros tipos de datos.
G r u p o E d i t o r i a l M e g a b y t e 25
Algoritmos y Diagramas de Flujo aplicados en PHP
Asignaciones
Una asignación consiste en darle un determinado valor a una variable o constante,
por ejemplo en la siguiente sentencia observamos que a la variable A, se le da el
valor de 5.
A = 5
De manera similar podemos tener la siguiente asignación
A = 4 + (3 * YA2)
vemos que una expresión a sido asignada a la variable A
Algunos autores usan el símbolo en vez de igual ( = ) para una asignación.
Declaración de variables
Mediante la declaración de variables describimos las características de las mismas.
La sintaxis que usaremos es la siguiente:
N om bredevariable : Tipo
Entiéndase por tipo, al tipo de dato de la variable.
Técnicas de desarrollo de algoritmos
Existen dos principales técnicas de diseño de algoritmos de programación, el Top
Down y el Bottom Up.
Top Down
También conocida como de arriba-abajo y consiste en establecer una serie de
niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema.
Consiste en efectuar una relación entre las etapas de la estructuración de forma
que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas
y salidas de información. Este diseño consiste en una serie de descomposiciones
sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio
de instrucciones que van a formar parte del programa.
La utilización de la técnica de diseño Top-Down tiene 3 objetivos básicos:
- Simplificación del problema y de los subprogramas de cada descomposición.
26 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
- Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
- El programa final queda estructurado en forma de bloque o módulos lo que hace
mas sencilla su lectura y mantenimiento.
Bottom Up
El diseño ascendente se refiere a la identificación de aquellos procesos que
necesitan computarizarse conforme vayan apareciendo, su análisis como sistema
y su codificación, o bien, la adquisición de paquetes de software para satisfacer
el problema inmediato.
Cuando laprogramación se realiza internamente y haciendo un enfoque ascendente,
es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global,
sea fluido. Los problemas de integración entre los subsistemas son sumamente
costosos y muchos de ellos no se solucionan hasta que la programación alcanza
la fecha limite para la integración total del sistema. En esta fecha, ya se cuenta
con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir
aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada
subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema
como una entidad global, adolece de ciertas limitaciones por haber tomado un
enfoque ascendente.
Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún
al introducir los datos.
Otro es, que se introducen al sistema muchos datos carentes de valor.
Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que
los objetivos globales de la organización no fueron considerados y en consecuencia
no se satisfacen.
Entonces...
La diferencia entre estas dos técnicas de programación se fundamenta en el
resultado que presentan frente a un problema dado.
Como ejemplo una pais, el cual se compone de varios provincias (Lima, Arequipa,
Tacna,...), en cada uno de ellos se fueron presentando problemas a los cuales se
les dió una solución basada en un enfoque ascendente (Bottom Up): creando
programas que satisfacían sólo el problema que se presentaba.
Cuando el pais decidió integrar un sistema global para suplir todas las necesidades
de todos las provincias se dió cuenta que cada una de las
G r u p o E d i t o r i a l M e g a b y t e 27
Algoritmos y Diagramas de Flujo aplicados en PHP
soluciones presentadas no era compatible la una con la otra, no representaba una
globalidad, característica principal de los sistemas.
Como no hubo un previo análisis, diseño de una solución a nivel global en todos
sus provincias, centralización de información, que son características propias de
un diseño Descendente (Top Down) y características fundamentales de los
sistemas; el pais no puede satisfacer su necesidad a nivel global.
La creación de algoritmos es basado sobre la técnica descendente, la cual brinda
el diseño ideal para la solución de un problema.
Pseudocódigo
Diremos que una notación es un pseudocódigo si mediante ella podemos describir
el algoritmo, utilizando palabras y frases del lenguaje natural sujetas a unas
determinadas reglas.
Todo pseudocódigo debe posibilitar la descripción de:
- Instrucciones de entrada / salida.
- Instrucciones de proceso.
- Sentencias de control del flujo de ejecución.
- Acciones compuestas, a refínar posteriormente.
Para entender mejor estos conceptos veamos algunos ejemplos.
Ejemplo 1
Elabore un algoritmo y su pseudocósigo para calcular e imprimir el área de
un triángulo.
Solución:
Declarar Variables
B,H : real
Entrada: (datos a introducir al computador)
Base = B
Altura = H
28 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Operación: Calcular área del triángulo (Base x Altura)/2
Salida: (Resultado que mostrará el computador)
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
H : real
B : real
A : real
3. LEER B
4. LEER H
5. A = ( B * H ) / 2
6. ESCRIBIR A
7. Terminar el proceso
Explicación Pseudocódigo:
1.- Se inicia el proceso, todo programa o bloque de programa, debe tener un
indicativo de inicio.
2.- Declaramos las variables a usar, las variables "H" y "B" son de tipo real, de
eso se deduce que el resultado de una operación entre estas dos variables también
sea del tipo real, por eso "A" también es del tipo real.
3.- Leemos el valor de la variables "B", por ejemplo digamos el valor introducido
sea "6"
4.- Leemos el valor de la variable "H", para este ejemplo ingresemos "10".
5.- Calculamos la expresión (B*H)/2 y dicho resultado lo almacenamos en la
variable "A", entonces será: A = (6*10)/2, por lo tanto tendremos A = 30.
6.- Escribimos el resultado de la operación, en este caso será "30".
7.- Cuando un proceso o programa se inica, debemos indicar su fin, caso contrario,
dicho proceso puede ejecutarse infinitamente.
G r u p o E d i t o r i a l M e g a b y t e 29
Algoritmos y Diagramas de Flujo aplicados en PHP
A continuación crearemos el diagrama de flujo de este ejercicio y luego su
codificación en Lenguaje PHP:
Diagrama de flujo Codificación en PHP
<?PHP
$B = "6";
$H = "10";
print "Área de un Triangulo <br>";
print "Base = $B <br>";
print "Altura = $H <br>";
$A = ($B * $H / 2);
print "Resultado:
print $A;
?>
Resultado PHP en WEB
30 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Explicación PHP
PHP trabaja con valores enviados desde un formulario en modo Get y Post ó por
enlace URL, en este ejemplo usted colocara los valores en el codigo para que sea
procesado.
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$B = "6";
$H = "10";
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Área de un Triangulo <br>";
print "Base = $B <br>";
print "Altura = $H <br>";
print "Resultado:
Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo:
print $A;
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 2
Construya un pseudocódigo, que dados los datos A, B y C que representan
palabras, escriba los mismos formando una oración.
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
A, B, C: Carácter
3. LEERA, B, C
4. ESCRIBIRA, B, C
5. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 31
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo
Resultado PHP en WEB
Codificación en PHP
<?PHP
$A = "La";
SB = "Casa";
$C = "Blanca";
print "Resultado: <BR>";
print $A." ".SB." ".SC ;
?>
32 G r u p o E d i t o r i a l M e g a b v t e
Capítulo 1: Conceptos básicos
Explicación:
Primero almacenamos las palabras en cada variable, luego lo imprimimos en una
cadena para formar la oración
Ejemplo 3
Construya un pseudocódigo, que dado los datos enteros A, B y C, escriba el
resultado de la siguiente expresión:
(A + B - C) 3
5
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
A, B y C : Entero
R : Real
3. LEER A, B y C
4. Calcular R = ((A + B - C)A3)/5
4. ESCRIBIR R
5. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
$A = 3
$B = 6
$C = 4;
$R = pow(($A+$B-$C),3)/5;
print "Resultado: <BR>";
print $R;
?>
G r u p o E d i t o r i a l M e g a b y t e 33
Algoritmos y Diagramas de Flujo aplicados en PHP
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$A = 3;
SB = 6;
$C = 4;
Con pow llevamos a la potencia un valor numérico, ejemplo::
$R = pow(($A+$B-$C),3)/5;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Resultado: <BR>";
Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo:
print $R;
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
34 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Ejemplo 4
Construya un pseudocódigo, que dado el código del carnet universitario y 4 notas
de un alumno obtenidas a lo largo del semestre; construya un pseudocódigo
imprima la codigo del carnet del alumno y el promedio de sus calificaciones.
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
CODIGO : Entero largo
N I, N2, N3, N4, PRO : Real
3. LEER Mat, N I, N2, N3, N4
4. Calcular PRO = (NI + N2 + N3 + N4)/4
4. ESCRIBIR MAT, PRO
5. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
SCODIGO = "AB-2006";
$N1 = 16
$N2 = 11
$N3 = 18
$N4 = 15
SPRO = ($Nl+$N2+$N3+$N4)/4;
print "Codigo: SCODIGO <br>";
print "Promedio: SPRO
?>
G r u p o E d i t o r i a l M e g a b y t e
Algoritmos y Diagramas de Flujo aplicados en PHP
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SCODIGO = "AB-2006";
$N1 = 16;
$N2 = 11;
$N3 = 18;
$N4 = 15;
Sumamos y dividimos las variables y almacenamos el resulto en $PRO, ejemplo::
$PRO = ($Nl+$N2+$N3+$N4)/4;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Codigo: SCODIGO <br>";
print "Promedio: $PRO
36 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo:
print $PRO;
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 5
Construya un pseudocódigo, que dado el nombre de una persona, su peso y su
altura, expresados estos dos últimos en libras y pies, respectivamente; escriba el
nombre de la persona, su peso expresado en kilogramos y su altura expresada en
metros.
Conversiones:
- Para convertir de libras a kilogramos, multiplica por 0.4535924
- Para convertir de pies a metros, multiplicar por 0.3048006
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
NOM : Cadena de caracteres
PES, ALT : Real
3. LEER NOM, PES, ALT
4. Calcular PESO = PES * 0.4535924
5. Calcular ALTURA = ALT * 0.3048006
6. ESCRIBIR NOM, PESO, ALTURA
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 37
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
$NOM = "Víctor";
$PES = 140;
SALT = 80;
$PESO = $PES * 0.4535924;
5ALTURA = $ALT * 0.3048006;
print "Nombre: $NOM <br>";
print "Peso: $PESO <br>";
print "Altura: SALTURA";
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
38 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
$NOM = "Víctor";
SPES = 140;
$ALT = 80;
Multiplicamos las variables y almacenamos el resulto en SPESO y SALTURA,
ejemplo::
$PESO = SPES * 0.4535924;
SALTURA = SALT * 0.3048006;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Nombre: SNOM <br>";
print "Peso: SPESO <br>";
print "Altura: SALTURA
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 6
Construya un pseudocódigo, que dado como dato una cantidad expresada en
Euros, convierta esa cantidad a nuevos soles.
Conversiones:
- El tipo de cambio establecido en : 1 Euro = 4.11 soles
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
EURO, SOLES : Real
3. Calcular SOLES = EURO * 4.11
4. ESCRIBIR SOLES
5. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 39
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
$EURO = 50;
SSOLES = SEURO * 4.11;
print "Tipo de Cambios en Soles: <br>";
print SSOLES;
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
4 0 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
$EURO = 50;
multiplicamos las variables y almacenamos el resulto en $SOLES, ejemplo::
SSOLES = $EURO * 4.11;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Tipo de Cambios en Soles: <br>";
Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo:
print SSOLES;
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 7
Escriba un pseudocódigo, que muestre automáticamente la fecha y hora actual
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
FECHA, HORA: Cadena de caracteres
3 FECHA = DATE
4 HORA = TIME
5. ESCRIBIR FECHA, HORA
6. Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e 41
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
$FECHA = date("d-m-Y");
$HORA = date("H:i:s");
print "Fecha: $FECHA<br>";
print "Hora: $HORA";
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SFECHA = date("d-m-Y");
$HORA = date("H:i:s");
42 G r u p o E d i t o r i a l . M e g a b y t e
Capítulo 1: Conceptos básicos
En PHP la fecha y hora se captura con date, seguidamente indicando el dia "d",
mes"m", año "Y", hora"H", minutos"i", segundos'V'.
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Fecha: $FECHA<br>";
print "Hora: $HORA";
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 8
Escriba un pseudocódigo, que ingresado 2 cantidades, los sume y luego el resultado
lo convierta en Euros y Dólares dependiendo del tipo de cambios de cada moneda.
Conversiones:
- El tipo de cambio establecido en : 1 Euro =4.11 soles
- El tipo de cambio establecido en : 1 Dolares = 3.21 soles
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
CANTl: Real
CANT2: Real
EURO : Real
DOLAR : Real
TOTAL: Real
3. Calcular TOTAL = CANTl + CANT2
4. Calcular EURO = TOTAL / 4.11
5. Calcular DOLAR = TOTAL / 3.21
6. ESCRIBIR EURO, DOLAR
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 43
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo Codificación en PHP
Resultado PHP en WEB
<?PHP
$CANT1 = 50;
$CANT2 = 60;
$TOTAL = SCANT1 + $CANT2;
$EURO = STOTAL / 4.11;
SDOLAR = STOTAL / 3.21;
print "EURO: $EURO <br>";
print "DOLAR: SDOLAR <br>";
?>
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e c a b y t e
Capítulo 1: Conceptos básicos
$CANT1 = 50;
SCANT2 = 60;
Sumamos y dividimos las variables ingresadas.
$TOTAL = SCANT1 + SCANT2;
SEURO = STOTAL / 4.11;
SDOLAR = STOTAL / 3.21;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "EURO: SEURO <br>";
print "DOLAR: $DOLAR <br>";
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 9
Escriba un pseudocódigo, que dados los tres lados de un triángulo, determine su
área.
Formula:
Area = * (S - Ll) * (S - L2) * (S - L3)
En donde S es: S = (Ll + L2 + L3) / 2
Nota:
Sacar la raíz cuadrada de un número es igual elevar número a la potencia 0.5
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
L1,L2,L3, S, Área: Real
3. Calcular S = (L1+L2 + L3) / 2
4. Calcular Área = (S*(S-L1)*(S-L2)*(S-L3))A0.5
5. ESCRIBIR Área
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 45
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo
Codificación en PHP
<?PHP
$L1 = 10;
$L2 = 13;
$L3 = 12;
$S = ($L1 + $L2 + $L3) / 2;
$ÁREA = pow($S*($S-$Ll)*($S-$L2)*($S-$L3),0.5);
print "Área del Triangulo: $ÁREA";
?>
4 6 G r u p o E d i t o r i a l M e c a b y t e
Capítulo 1: Conceptos básicos
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$L1 = 10;
$L2 = 13;
$L3 = 12;
Sumamos y dividimos las variables ingresadas.
$S = ($L1 + $L2 + $L3) / 2;?
El resultado se vuelve a procesar para luego sacar la potencia con pow.
SÁREA = pow($S*($S-$Ll)*($S-$L2)*($S-$L3),0.5);
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Área del Triangulo: SÁREA";
G r u p o E d i t o r i a l M e g a b y t e 47
Algoritmos y Diagramas de Flujo aplicados en PHP
Ejemplo 10
Construya un pseudocódigo, que dado el radio de una pelota, calcule y muestre el
área y su volumen.
Formulas
- El área de una esfera la calculamos de esta forma:
ÁREA = 4 * Pi * RADIO2
- El volumen de una esfera lo calculamos de esta forma:
VOLUMEN = 4/3 * Pi * RADIO3
Pseudocódigo:
1. Iniciar proceso
2. Declarar Variables
RADIO, ÁREA, VOLUMEN : Real
3. Declarar constante Pi = 3.141592 : Real
4. Leer RADIO
5. Calcular ÁREA = 4 * Pi * (RAD10A2)
6. Calcular VOLUMEN = 4/3 * Pi * (RADIOA3)
7. ESCRIBIR ÁREA, VOLUMEN
8. Terminar el proceso
Diagrama de flujo
4 8 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Codificación en PHP
<?PHP
$RADIO = 20;
$PI = "3.141592";
$ÁREA = 4 * $PI * pow ($RADIO,2);
SVOLUMEN = 4/3 * $PI * pow($RADIO,3) ;
print "Área: SÁREA <br>";
print "Volumen: SVOLUMEN";
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 4 9
Algoritmos y Diagramas de Flujo aplicados en PHP
SRADIO = 20;
SPI = "3.141592";
Calculamos el área.
SÁREA = 4 * $PI * pow (SRADIO,2);
Calculamos el volumen.
$VOLUMEN = 4/3 * SPI * pow($RADIO,3) ;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Área: SÁREA <br>";
print "Volumen: SVOLUMEN";
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 11
Construya un pseudocódigo que calcule la distancia entre dos postes de alumbrado
público dados como P1 para el primer poste y P2 para el segundo poste.
Formula:
Para calcular la distancia entre dos puntos:
D = J (X Í - X2)2 + (Yl - Y2)2
Pseudocódigo:
1. Iniciar proceso
2. Declarar Variables XI, Y l, X2, Y2, DISTANCIA : Real
3. Leer XI, Yl, X2, Y2
3. Calcular DISTANCIA =((X1 - X2)A2 + (Yl - Y2)A2)A0.5
4. ESCRIBIR DISTANCIA
5. Terminar el proceso
5 0 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Diagrama de flujo
Codificación en PHP
<?PHP
$X1 = 20;
«X2 = 30;
$Y1 = 34;
«Y2 = 10;
«DISTANCIA = pow(pow((«Xl-«X2),2) + pow(($Yl-$Y2),2),0.5);
print "Distancia: «DISTANCIA <br>";
G r u p o E d i t o r i a l M e g a b y t e 51
Algoritmos y Diagramas de Flujo aplicados en PFIP
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$X1 = 20;
$X2 = 30;
$Y1 = 34;
$Y2 = 10;
Calculamos la distancia.
SDISTANCIA = pow(pow(($Xl-$X2),2) + pow(($Yl-$Y2),2),0.5);
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Distancia: SDISTANCIA";
52 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
Ejemplo 12
Construya un pseudocódigo que calcule el porcentaje del resultado de una encuesta
si esta a favor (Si) o en contra (No) de una pregunta formulada.
Pseudocódigo:
1. Iniciar proceso
2. Declarar Variables SI, NO, PSI, PNO : Real
3. Leer SI, NO
4. Calcular PSI = (SI * 100) / (SI + NO)
5. Calcular PNI = (NO * 100) / (SI + NO)
6. ESCRIBIR PSI, PNO
7. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
$SI = 798;
$NO = 21;
$PSI = round(($SI * 100) / ($SI + $NO),2);
$PNO = round(($NO * 100) / ($SI + $NO),2);
print "SI: $PSI %<br>";
print "No: $PNO %";
•?>
G r u p o E d i t o r i a l M e g a b y t e 53
Algoritmos y Diagramas de Flujo aplicados en PHP
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "S" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$SI = 798;
$NO = 21;
Calculamos el porcentaje, con round redondeamos el valor a 2 decimales.
$PSI = round(($SI * 100) / (SSI + $NO),2);
SPNO = round(($NO * 100) / (SSI + $NO),2);
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "SI: $PSI%<br>";
print "No: SPNO %";
54 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
Ejemplo 13
Construya un algoritmo, que dado el radio y la altura de un cilindro, calcule e
imprima el área y su volumen.
Formulas:
El volumen de un cilindro:
Volúmen = pi * radio2 * altura
La área del cilindro:
Área = 2 * pi * radio * altura
Pseudocódigo:
1. Iniciar proceso
2. Declarar variables
RADIO, ALTURA, ÁREA, VOLUMEN : Real
3. Declarar constante
P I= 3.1416
4. LEER RADIO,ALTURA
5. Calcular ÁREA = 2 * Pi * RADIO * ALTURA
6. Calcular VOLUMEN = Pi * RADIOA2 * ALTURA
7. ESCRIBIR ÁREA, VOLUMEN
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 55
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
SRADIO = 5;
SALTURA = 30;
SPI = "3.1416";
SÁREA = 2 * SPI * $RADIO * SALTURA;
SVOLUMEN = SPI * pow($RADIO,2) * SALTURA;
print "Área: SÁREA <br>";
print "Volumen: SVOLUMEN
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
56 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 1: Conceptos básicos
$RADIO = 5;
SALTURA = 30;
SPI = "3.1416";
Calculamos el Area y Volumen:
SÁREA = 2 * $PI * $RADIO * SALTURA;
SVOLUMEN = SPI * pow($RADIO,2) * SALTURA;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Área: SÁREA <br>";
print "Volumen: SVOLUMEN
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
G r u p o E d i t o r i a l M e g a b y t e 57
Capítulo II
Estructuras
lógicas
selectivas
Objetivos:
En este capitulo usted aprender a desarrollar Algoritmos
Avanzado basados en lógicas selectivas, para luego
plasmarlo en un Diagramas de flujo y aplicarlo en el
lenguaje PHP
C o n t e n d i ó :
Estructura SL.Entonces (Selección simple)
Estructura Si...Entonces...Si no (Alternativa doble)
Anidamiento de Estructuras condicionales
Ea estructura de selección múltiple
Ejemplos
Algoritmos y Diagramas de flujo Aplicados en PHP
Capítulo 2: Estructuras lógicas selectivas
Las estructuras lógicas selectivas se encuentran en la solución algorítmica
de casi todo tipo de problemas. La utilizamos cuando en el desarrollo de la solución
de un problema debemos tomar una decisión, para establecer un proceso o señalar
un camino alternativo a seguir.
Esta toma de decisión se basa en la evaluación de una o más condiciones que nos
señalarán como alternativa o consecuencia, la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir
se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a
tomar otra decisión y así sucesivamente. Por lo que para alcanzar la solución de
este problema o subproblema debemos aplicar prácticamente un árbol de decisión.
Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones
lógicas las podemos clasificar de la siguiente forma:
1. SI...ENTONCES (Estructura selectiva simple)
2. SI...ENTONCES...SINO (Estructura selectiva doble)
Cabe señalar que cuando a la estructura selectiva las aplicamos en cascada,
podemos utilizar una combinación de las estructuras señaladas anteriormente en
la clasificación.
G r u p o E d i t o r i a l M e g a b y t e 61
Algoritmos y Diagramas de Flujo aplicados en PHP
Estructura Si...Entonces (Selección simple)
La estructura selectiva Si...Entonces permite que el flujo del diagrama siga por
un camino específico si se cumple una condición o conjunto de condiciones. Si al
evaluar la condición (o condiciones) el resultado es verdadero, entonces se
ejecuta(n) cierta(s) operación(es). Luego se continúa con la secuencia normal
del diagrama
La sintaxis para este tipo de estructura es la siguiente:
Si c o n d i c i ó n entonces
H a c e r o p e r a c ió n
Fin_Si
La condición es una expresión lógica. Y operación puede ser una operación
simple o un grupo de operaciones.
El diagrama de flujo de la condicional Si es:
Si la condición es falsa no hace ninguna acción. Veamos unos ejemplos de una
sentencia selectiva simple.
Ejemplo 1
Construya un pseudocódigo, que ingresando el nombre de un color muestre
COLOR ENCONTRADO si el nombre del color es igual al almacenado dentro
del algoritmo.
62 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
COLOR : Entero largo
3. LEER COLOR
4. Si COLOR = BLANCO Entonces
4.1. Escribir "COLOR ENCONTRADO"
5. Fin Si
6. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
SCOLOR = "Blanco";
if (SCOLOR == "Blanco") {
print "Color Encontrado";
}
?>
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 63
Algoritmos y Diagramas de Flujo aplicados en PHP
SCOLOR = "Blanco";
IF iniciamos la condición luego encerramos entre paréntesis () la variable e
igualamos == con el valor que tiene que coincidir, si coincide mostramos entre {}
el resultado mensaje.
if (SCOLOR == "Blanco") {
print "Color Encontrado";
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Color Encontrado";
Resultado PHP en WEB
Ejemplo 2
Construya un pseudocódigo, que ingresada la nota de un alumno si esta es menor
ó igual que 10 muestre DESAPROBADO.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
64 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
NOTA : Real
3. LEER Nota
4. Si Nota <= 10 Entonces
4.1. Escribir "DESAPROBADO"
5. Fin Si
6. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
SNOTA = 9;
if (SNOTA <= 10) {
print "Desaprobado";
}
?>
Resultado PHP en WEB
G r u p o E d i t o r i a l M e g a b y t e 65
Algoritmos y Diagramas de Flujo aplicados en PHP
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SNOTA = 9;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 10, si coincide mostramos entre {}
el resultado mensaje.
if (SNOTA <= 10) {
print "Desaprobado";
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Desaprobado";
Ejemplo 3
Construya un pseudocódigo, que ingresado una cantidad, que sea menor o igual a
100 dólares realice el tipo de cambio a soles.
Conversiones:
- El tipo de cambio establecido en : 1 Dolares =3.21 soles
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
CANTIDAD, TOTAL : Entero
3. LEER CANTIDAD
4. Si CANTIDAD <= 100 Entonces
4.1 TOTAL = CANTIDAD * 3.21
4.2 ESCRIBIR TOTAL
5. Fin Si
6. Terminar el proceso
66 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Diagrama de flujo Codificación en PHP
<?PHP
«CANTIDAD = 80;
if («CANTIDAD <= 100) {
«TOTAL = «CANTIDAD * 3.21;
print «TOTAL;
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "«" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 67
Algoritmos y Diagramas de Flujo aplicados en PHP
$CANTIDAD = 80;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 100, si coincide realizamos la
operación:
$TOTAL = «CANTIDAD * 3.21;
mostramos entre {} el resultado mensaje.
if («CANTIDAD <= 100) {
«TOTAL = «CANTIDAD * 3.21;
print «TOTAL;
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print «TOTAL;
Ejemplo 4
Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un
aumento del 2.5 si su sueldo es menor ó igual a S/ 500.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO : Entero
NSUELDO : Entero
3. LEER SUELDO
4. Si SUELDO <= 500 Entonces
4.1 NSUELDO = SUELDO * 2.5
4.2 ESCRIBIR NSUELDO
5. Fin Si
6. Terminar el proceso
68 G r u p o E d i t o r i a l M e g a b y t e
Capitulo 2: Estructuras lógicas selectivas
Diagrama de flujo Codificación en PHP
<?PHP
$SUELDO = 410;
if («SUELDO <= 500) {
«NSUELDO = «SUELDO * 2.5;
print "Nuevo Sueldo: ";
print «NSUELDO;
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "«" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 69
Algoritmos y Diagramas de Flujo aplicados en PHP
SSUELDO = 410;
IF iniciamos la condición luego encerramos entre paréntesis 0 Ia variable y
comparamos si es menor igual <= con el valor 410, si coincide realizamos la
operación:
$NSUELDO = SSUELDO * 2.5;
mostramos entre {} el resultado mensaje.
if (SSUELDO <= 500) {
SNSUELDO = SSUELDO * 2.5;
print "Nuevo Sueldo:";
print SNSUELDO;
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Nuevo Sueldo: ";
print SNSUELDO;
Estructura Si...Entonces...Si no (Alternativa doble)
La selección simple es limitada, pero en ocasiones necesaria, por otro lado la
alternativa doble nos permite tomar decisiones en ambos sentidos, es decir cuando
la sentencia de comparación sea verdadero o cuando sea falso, en otras palabras
cuando la respuesta de la comparación sea verdadera se ejecutarán una o más
acciones, así mismo si la respuesta es falsa se ejecutarán acciones diferentes.
Veamos el pseudocódigo el cual explica mejor el concepto de alternativa doble.
Si Condición Entonces
Acciones 1
sino
Acciones2
Fin Si {
70 G r u p o E d i t o r i a l M e c a b y t e
Capítulo 2: Estructuras lógicas selectivas
Donde:
Condición expresa la condición o conjunto de condiciones a evaluarse.
Acciones 1 expresa la operación o conjunto de operaciones que se van a realizar
si la condición resulta verdadera.
Acciones2 expresa la operación o conjunto de operaciones que se van a realizar
si la condición resulta falsa.
Ejemplo 5
Construya un pseudocódigo, que ingresando el nombre de un color muestre
COLOR ENCONTRADO si el nombre del color es igual al almacenado dentro
del algoritmo sino COLOR NO ENCONTRADO en caso no sea igual.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
COLOR : Entero largo
3. LEER COLOR
4. Si COLOR = BLANCO Entonces
4.1. Escribir "COLOR ENCONTRADO"
5. Si no
5.1. Escribir "COLOR NO ENCONTRADO"
6. Fin_Si
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 71
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo Codificación en PHP
<?PHP
SCOLOR = "Negro";
if (SCOLOR == "Blanco") {
print "Color Encontrado";
}else{
print "Color NO Encontrado";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
72 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
SCOLOR = "Blanco";
IF iniciamos la condición luego encerramos entre paréntesis () la variable e
igualamos == con el valor que tiene que coincidir, si coincide mostramos entre {}
el resultado mensaje.
if (SCOLOR == "Blanco") {
print "Color Encontrado";
}
ELSE sino coincide mostramos el segundo mensaje
else {
print "Color NO Encontrado";
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Color Encontrado";
print "Color NO Encontrado";
Ejemplo 6
Construya un pseudocódigo, que ingresada la nota de un alumno si esta es menor
ó igual que 10 muestre DESAPROBADO, sino APROBADO
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
NOTA : Real
3. LEER Nota
4. Si Nota <= 10 Entonces
4.1. Escribir "DESAPROBADO"
5. Si no
5.1 Escribir "APROBADO"
6. Fin Si
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 73
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo Codificación en PHP
<?PHP
$NOTA =12;
if (SNOTA <= 10) {
print "Desaprobado";
}else{
print "Aprobado";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
74 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
SNOTA =12;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 12, si coincide mostramos entre {}
el resultado mensaje.
if ($NOTA <= 10) {
print "Desaprobado";
}
ELSE sino coincide mostramos el segundo mensaje
else{
print "Aprobado";
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Desaprobado";
print "Aprobado";
Ejemplo 7
Construya un pseudocódigo, que ingresado una cantidad, que sea menor o igual a
50 dólares realice el tipo de cambio a EUROS, sino mostrar un mensaje que diga
"Cambio como máximo 50".
Conversiones:
- El tipo de cambio establecido en : 1 Dólares =3.21 soles
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
CANTIDAD, TOTAL : Entero
3. LEER CANTIDAD
4. Si CANTIDAD <= 50 Entonces
4.1 TOTAL = CANTIDAD *4.11
4.2 ESCRIBIR TOTAL
G r u p o E d i t o r i a l M e g a b y t e 75
Algoritmos y Diagramas de Flujo aplicados en PHP
5. Si no
5.1 ESCRIBIR "Cambio como máximo 50"
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo Codificación en PHP
<?PHP
«CANTIDAD = 80;
if («CANTIDAD <= 50) {
«TOTAL = «CANTIDAD * 4.11;
print «TOTAL;
}else{
print "Cambio como máximo 50";
}
?>
Resultado PHP en WEB
Archivo Editar Ver Ir Marcadores Herramientas A&jda
- [7yS> • J http://joel v @ i r Q L
Primeros pasos mÚltimas noticias
Cambio como máximo 50
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SCANTIDAD = 80;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 50, sí coincide mostramos entre {}
el resultado mensaje.
if (SCANTIDAD <= 50) {
STOTAL = SCANTIDAD * 4.11;
print STOTAL;
}
ELSE sino coincide mostramos el segundo mensaje
else{
print "Cambio como máximo 50";
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print STOTAL;
print "Cambio como máximo 50";
Ejemplo 8
Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un
aumento del 2.5 si su sueldo es menor ó igual a S/ 500. y si es mayor ó igual S/.
600 se le aumente el 1.7.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO : Entero
NSUELDO : Entero
G r u p o E d i t o r i a l M e g a b y t e 77
Algoritmos y Diagramas de Flujo aplicados en PHP
3. LEER SUELDO
4. Si SUELDO <= 500 Entonces
4.1 NSUELDO = SUELDO * 2.5
4.2 ESCRIBIR NSUELDO
5. Si no SUELDO >= 600 Entonces
5.1 NSUELDO = SUELDO * 1.7
5.2 ESCRIBIR NSUELDO 1
5. Fin Si
6. Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PHP
SSUELDO = 700;
if ($SUELDO <= 500) {
SNSUELDO = $SUELDO * 2.5;
print "Nuevo Sueldo:";
print SNSUELDO;
}else if (SSUELDO >= 600) {
SNSUELDO = SSUELDO * 1.7;
print "Nuevo Sueldo:";
print SNSUELDO;
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 79
Algoritmos y Diagramas de Flujo aplicados en PHP
SSUELDO = 700;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 500, si coincide mostramos entre
{} el resultado mensaje.
if (SSUELDO <= 500) {
SNSUELDO = SSUELDO * 2.5;
print "Nuevo Sueldo:";
print SNSUELDO;
}
ELSE sino coincide calculamos con la segunda condición y si coincide mostramos
el mensaje:
else if (SSUELDO >= 600) {
SNSUELDO = SSUELDO * 1.7;
print "Nuevo Sueldo:";
print SNSUELDO;
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Nuevo Sueldo:";
print SNSUELDO;
Anidamiento de Estructuras condicionales
A menudo tendrá la necesidad de anidar una o más estructuras condicionales, ya
sean simples o dobles, o combinaciones de ellas.
Se dice que las estructuras están anidadas, cuando hay unas dentro de ellas, esto
lo veremos muy a menudo. Por ejemplo veamos el siguiente pseudocódigo.
Si Condiciónl Entonces
Si Condición2 Entonces
Acciones 1
Fin si
Fin Si
80 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Aquí observamos que primero se debe cumplir la Condición 1, para luego evaluar
la Condición2, solo al cumplirse esta última, se procederá a la ejecución de
Acciones 1.
Si Condición 1 Entonces
Acciones 1
Si Condición2 Entonces
Acciones2
Si no
Acciones3
F in si
Fin Si
En este ejemplo, una vez cumplida la Condición 1, realizamos la Acciónl y luego
evaluamos la Condición2, dependiendo el resultado de la Condición2, se procederá
a realizar Acciones2 o Acciones3.
Ejemplo 9
Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un
aumento del 2.5 si su sueldo es menor ó igual a S/ 500. y si es mayor ó igual S/.
600 se le aumente el 1.7. Pero que muestre un mensaje "Cantidad NO Aceptada"
si ingresa un sueldo mayor igual que 1000, caso contrario procesar el aumento.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO : Entero
NSUELDO : Entero
3. LEER SUELDO
4. Si SUELDO >= 1000 Entonces
4.1 ESCRIBIR "Cantidad NO Aceptada"
5. Si no
G r ijp o E d i t o r i a l M e g a b y t e 81
Algoritmos y Diagramas de Flujo aplicados en PHP
5.1 Si SUELDO <= 500 Entonces
5.1.1 NSUELDO = SUELDO * 2.5
5.1.2 ESCRIBIR NSUELDO
5.2 Si no SUELDO >= 600 Entonces
5.2.1 NSUELDO = SUELDO * 1.7
5.2.2 ESCRIBIR NSUELDO
5.3 F inSi
6. Fin Si
7. Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PHP
$SUELDO = 700;
if ($SUELDO >= 1000) {
print "Cantidad NO Aceptada";
} else {
if ($SUELDO <= 500) {
SNSUELDO = $SUELDO * 2.5;
print "Nuevo Sueldo:";
print SNSUELDO;
}else if (SSUELDO >= 600) {
SNSUELDO = SSUELDO * 1.7;
print "Nuevo Sueldo:";
print SNSUELDO;
}
}
Resultado PHP en WEB
G r u p o E d i t o r i a l M e g a b y t e 83
Algoritmos y Diagramas de Flujo aplicados en PHP
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SSUELDO = 700;
IF iniciamos la condición luego encerramos entre paréntesis 0 Ia variable y
comparamos si es menor igual <= con el valor 1000, si coincide mostramos entre
{} el resultado mensaje.
if (SSUELDO >= 1000) {
print "Cantidad NO Aceptada";
} else {
//.....
}
ELSE sino coincide calculamos con la segunda condición y si coincide procesamos
la cantidad ingresada:
if (SSUELDO <= 500) {
SNSUELDO = SSUELDO * 2.5;
print "Nuevo Sueldo:";
print SNSUELDO;
}else if (SSUELDO >= 600) {
SNSUELDO = SSUELDO * 1.7;
print "Nuevo Sueldo:";
print SNSUELDO;
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Nuevo Sueldo: ";
print SNSUELDO;
84 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
E jem plo 10
Basado en el ejemplo anterior construya un pseudocódigo que, al sueldo de un
trabajador se le aplíquele un aumento del 3.0 si su sueldo es menor ó igual a S/
600. y si es mayor a S/. 600 se le aumente el 4.0 con las siguientes validaciones:
- Si el sueldo es igual o menor a 100 se de un aumento especial de 8.0.
- Muestre un mensaje "Aumento No Aplicado" si ingresa una sueldo mayor igual
que 1500, caso contrario procesar el aumento.
Véase que en este ejemplo se esta utilizando 3 tipos de aumentos.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO : Entero
NSUELDO : Entero
3. LEER SUELDO
4. Si SUELDO >= 1500 Entonces
4.1 ESCRIBIR "Aumento No Aplicado1»
5. Si no
5.1 Si SUELDO <= 100 Entonces
5.1.1 NSUELDO = SUELDO * 8.0
5.1.2 ESCRIBIR NSUELDO
5.2 Si no SUELDO <= 600 Entonces
5.1.1 NSUELDO = SUELDO * 3.0
5.1.2 ESCRIBIR NSUELDO
5.3 Si no SUELDO > 600 Entonces
5.2.1 NSUELDO = SUELDO * 4.0
5.2.2 ESCRIBIR NSUELDO
5.4 Fin Si
6. Fin Si
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 85
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo
Codificación en PHP
<?PHP
SSUELDO = 100;
if (SSUELDO >= 1500) {
print "Aumento No Aplicado";
} else {
if (SSUELDO <= 100) {
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
SNSUELDO = $SUELDO * 8.0;
print "Nuevo Sueldo:
print SNSUELDO;
}else if (SSUELDO <= 600) {
SNSUELDO = SSUELDO * 3.0;
print "Nuevo Sueldo:";
print SNSUELDO;
}else if (SSUELDO > 600) {
SNSUELDO = SSUELDO * 4.0;
print "Nuevo Sueldo:";
print SNSUELDO;
}
}
Resultado PHP en WEB
1
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
G r u p o E d i t o r i a l M e g a b y t e 87
Algoritmos y Diagramas de Flujo aplicados en PHP
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si es menor igual <= con el valor 500, si coincide mostramos entre
{} el resultado mensaje.
if (SSUELDO >= 1500) {
print "Aumento no Aplicado";
} else {
//.....
}
ELSE sino coincide calculamos con la segunda condición y si coincide procesamos
la cantidad ingresada:
if (SSUELDO <= 100) {
SNSUELDO = SSUELDO * 8.0;
print "Nuevo Sueldo:";
print SNSUELDO;
}else if (SSUELDO <= 600) {
SNSUELDO = SSUELDO * 3.0;
print "Nuevo Sueldo:";
print SNSUELDO;
Jelse if (SSUELDO > 600) {
SNSUELDO = SSUELDO * 4.0;
print "Nuevo Sueldo:";
print SNSUELDO;
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Nuevo Sueldo:";
print SNSUELDO;
88 G r u p o E d i t o r i a l M e c a b y t e
Capítulo 2: Estructuras lógicas selectivas
Ejem plo 11
Construya un pseudocódigo, donde se ingresen tres cantidades y estas se ordenen
de mayor a menor.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
A, B, C : Entero
3. Leer A, B. C
4. Sí A B Entonces
Si A > C Entonces
Si B > C Entonces
Escribir A, B, C
Sino
Escribir A, C, B
FinSi
Sino
Escribir C, A, B
Fin_Si
5. Si no
Si B > C Entonces
Si A ^ C Entonces
Escribir B, A y C
Sino
Escribir B, C y A
FinSi
Sino
Escribir C, B y A
FinSi
6. Fin
7. Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 89
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
$A = 4;
$B = 9;
$C = 6;
if ($A > $B) {
if ($A > $C) {
90 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
if ($B > $C) {
print "$A <br>";
print "$B <br>";
print "$C <br>";
} else {
print "$A <br>";
print "$C <br>";
print "$B <br>";
}
} else {
print "$C <br>";
print ’ $A <br>";
print "SB <br>";
}
} else {
if ($B >$C ) {
if ($A >$C) ■
print "$B <br>";
print "$A <br>";
print "$C <br>";
} else {
print "$B <br>";
print "$C <br>";
print " $A <br>";
}
} else {
print "$C <br>";
print "$B <br>";
print "$A <br>";
G r u p o E d i t o r i a l M e g a b y t e 91
Algoritmos y Diagramas de Flujo aplicados en PHP
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si A es mayor > que B
ELSE sino coincide calculamos con la segunda condición y si coincide procesamos
el valor ingresado, de esta manera se trata de comparar cual es mayor.
if ($A > $B) {
II...
} else {
II.
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "$A <br>";
print "$B <br>";
print "$C <br>";
E jem plo 12
Construya un pseudocódigo, que lea una nota de un alumno universitario y que
muestre un mensaje de acuerdo al promedio de su nota:
- Descalificado (10),
-Aprobado (11),
- Bueno (15),
- Excelente (18)
- Muy Excelente (20).
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
Nota : Entero
3. Leer Nota
4. Si Nota <=10 Entonces
Escribir Descalificado.
5. Si no
Si Nota >= 11 y Nota <= 14 Entonces
Escribir Aprobado
FinSi
6. Si no
Si Nota >= 15 y Nota <= 17 Entonces
Escribir Bueno
FinSi
G r u p o E d i t o r i a l M e g a b y t e 93
Algoritmos y Diagramas de Flujo aplicados en PHP
94 G r u p o E d i t o r i a l M e c a b y t e
Capítulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PH P
SNOTA = 18;
if ($NOTA <= 10) {
print "Descalificado";
}elseif (SNOTA >= 11 and SNOTA <= 14){
print "Aprobado";
}elseif (SNOTA >= 15 and SNOTA <= 17){
print "Bueno";
Jelseif (SNOTA >= 18 and SNOTA <= 19){
print "Excelente";
Jelseif (SNOTA = 20){
print "Muy Excelente";
}
?>
Resultado PHP en WEB
G r u p o E d i t o r i a l M e g a b y t e 95
Algoritmos y Diagramas de Flujo aplicados en PHP
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$NOTA = 18;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si Nota es menor > igual = que 10.
if ($NOTA >= 10) {
//.....
} else {
//.....
}
ELSE sino coincide calculamos con la segunda condición y si coincide procesamos
la cantidad ingresada, nótese que estamos utilizando AND para verificar si la
nota esta en un rango de numérico.
elseif (SNOTA >= 18 and SNOTA <= 19)
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Muy Excelente";
Ejem plo 13
Construya un pseudocódigo, que muestre un mensaje si un numero es par o impar,
y si el valor ingresado no es numero mostrar otro mensaje Ingrese un numero.
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
NUMERO : Entero
96 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
3. LEER NUMERO
4. Si NUMERO > 0 Entonces
Si (NUMERO MOD 2)=0 Entonces
Escribir ‘Número ingresado es Par’
Sino
Escribir ‘Número ingresado es Impar’
Fin_Si
5. Sino
6. Escribir ‘Ingrese un Numero’
7. F inS i
8. Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e 97
Algoritmos y Diagramas de Flujo aplicados en PHP
Codificación en PHP
<?PHP
$NUMERO = 18;
if ($NUMERO > 0) {
if ($NUMERO % 2 == 0) {
print "Numero Par";
}else{
print "Numero Impar";
}
}else{
print "Ingrese un Numero";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
98 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
«NUMERO = 18;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si NUMERO es mayor > que 0, si el valor ingresa no es numérico
mostrara un mensaje de alerta.
if («NUMERO > 0) {
//.....
} else {
//.....
}
Si coincide calculamos el resto de la división % entre 2 y lo comparamos = a 0, si
el resto de la división es igual a 0 cero es par caso contrario es impar.
(«NUMERO % 2 == 0)
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Ingrese un Numero";
Ejem plo 14
Construya un pseudocódigo que lea las edades de 2 niños y determine cuál es el
mayor y cual es el menor. Debe validar que si la edad es mayor que 10 no es
considerado niño.
Algoritmo:
Iniciar proceso
Declarar Variables
EDAD1, EDAD2 : Entero
G r u p o E d i t o r i a l M e g a b y t e 99
Algoritmos y Diagramas de Flujo aplicados en PHP
Leer EDAD 1, EDAD2
Si EDAD1< 10 or EDAD2 < 10 Entonces
Si EDAD1 <> EDAD2 Entonces
Si EDAD1 > EDAD2 Entonces
Escribir Él mayor es EDAD 1
Escribir El menor es EDAD2
Sino
Escribir El mayor es EDAD2
Escribir El menor es EDAD1
Fin Si
Sino
Escribir ‘Las edades son iguales’
Fin_Si
Sino
Escribir ‘Una de la edades es mayor a 10’
FinSi
Terminar el proceso
Diagrama de flujo
100 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PHP
SEDAD 1 = 5;
SEDAD2 = 3;
if (SEDAD1 < 10 OR SEDAD2 < 10) {
if (S E D A D l.o EDAD2) {
if (SEDAD1 > EDAD2) {
print "Edad mayor SEDAD1 <BR>";
print "Edad menor SEDAD2 <BR>";
}else{
print "Edad mayor SEDAD2 <BR>";
G r u p o E d i t o r i a l M e g a b y t e 101
Algoritmos y Diagramas de Flujo aplicados en PHP
print "Edad menor SEDAD3 <BR>";
}
}else{
print "Edades iguales";
}
}else{
print "Una de las edades es mayor a 10";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SEDAD1 = 5;
SE D A D 2 = 3;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si algunas de las edades es mayor a 10.
102 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
if ($EDAD1 < 10 OR $EDAD2 < 10) {
//.....
} else {
//.....
}
Utilizamos OR para verificar si una de las edades es mayor a 10
if ($EDAD1 < 10 OR $EDAD2 < 10)
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Edad mayor SEDAD1 <BR>";
print "Edad menor $EDAD2 <BR>";
Ejemplo 15
Construya un pseudocódigo que permita ingresar 3 números y mostrar un mensaje
cuando unos de ellos se repitan y otro mensaje si no existen repetidos.
Algoritmo:
Iniciar proceso
Declarar Variables
NUM1 : Carácter
NUM2 : Carácter
NUM3 : Carácter
Leer NUM1, NUM2, NUM3'
Si NUM1 = NUM2 O NUM1 = NUM3 O NUM2 = NUM3 Entonces
Escrbir ‘Existe un par de números iguales’
Si no
Escrbir ‘Ninguno Repetido’
Fin Si
Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 103
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo
Codificación en PHP
<?PH P
SNUM1 = 5;
$NUM2 = 3;
$NUM3 = 3;
if ($NUM1 == $NUM2 OR $NUM1 == $NUM3 OR
$NUM3 == $NUM2) {
print "Existe un par de números repetidos";
}else{
print "Ninguno Repetido";
}
?>
104 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SNUM1 = 5;
SNUM2 = 3;
$NUM3 = 3;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si algunos de los números son iguales.
if ($NUMI == $NUM2 OR $NUM1 == $NUM3
OR $NUM3 == $NUM2) {
//.....
} else {
//.....
}
Utilizamos OR para verificar si unos de los pares de números son iguales
SNUM1 == $NUM2 OR $NUM1 == $NUM3
OR $NUM3 == SNUM2
G r u p o E d i t o r i a l M e g a b y t e 105
Algoritmos y Diagramas de Flujo aplicados en PHP
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Existe un par de números repetidos";
E jem plo 16
Construya un pseudocódigo que lea tres números enteros por teclado y emita un
mensaje indicando si están o no ordenados de menor a mayor y validar que solo
ingresen números.
Algoritmo:
Iniciar proceso
Declarar Variables
NUM 1, NUM2, NUM3: Entero
Leer NUM1, NUM2, NUM3
Si NUM 1 > 0 y NUM2 > 0 y NUM3 > 0 Entonces
Si NUM1 < NUM2 Y NUM2 < NUM3 Entonces
Escribir ‘Ordenados de menor a mayor’
Si no
Escribir ‘No están ordenados’
Fin Si
Si no
Escribir ‘Ingrese solo números’
Fin Si
Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e
Capitulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PHP
SNUM1 = 5;
SNUM2 = 6;
$NUM3 = 7;
if (SNUM1 > 0 and SNUM2 > 0 and SNUM2 >0) {
if (SNUM1 < SNUM2 and $NUM2 < $NUM3 ) {
print "Ordenados de menor a mayor";
}else{
print "No ordenados";
G r u p o E d i t o r i a l M e g a b y t e 107
Algoritmos y Diagramas de Flujo aplicados en PHP
}else{
print "Ingrese solo números";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo "$" y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$NUM1 = 5;
$NUM2 = 6;
$NUM3 = 7;
IF iniciamos la condición luego encerramos entre paréntesis () la variable y
comparamos si algunos de los números son mayores a 0.
G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
if ($NUM1 > O and SNUM2 > Oand $NUM2 >0) {
//.....
} else {
//.....
}
Utilizamos AND para verificar que todos cumplan la condición caso contrario
mostrara un mensaje, sino realizara la segunda condición y verificara si están
ordenados de menor a mayor comparando si el último número es mayor y el
primero es menor:
if ($NUM1 < $NUM2 and $NUM2 < SNUM3 ) {
//.....
} else {
//.....
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "No ordenados";
La estructura de selección múltiple
La estructura de selección múltiple permite que el flujo del programa se bifurque
por varias ramas en el punto de la toma de decisión(es), esto en función del valor
que tome el selector. Así, si el selector toma el valor 1 se ejecutará la accción 1,
si toma el valor 2 se ejecutará la acción 2, si toma el valor N se realizará la acción
N, y si toma un valor distinto de los valores comprendidos entre 1y N, se continuará
con el flujo normal del diagrama realizándose la acción N+1.
Ejemplo 17
Construya un pseudocódigo que pida dos números enteros y muestre por pantalla
el siguiente menú:
G r u p o E d i t o r i a l M e g a b y t e 109,,
Algoritmos y Diagramas de Flujo aplicados en PHP
MENÚ
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
Elija una opción:
El usuario deberá elegir una opción y el programa deberá mostrar el resultado y
finalizar.
Algoritmo:
Iniciar proceso
Declarar Variables
A, B, Opción : Entero
R : Real
Leer A,B
Escribir MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
Elija opción:
Leer Opción
Leer A, B
En caso de Opción
Caso 1: R = A + B
Caso 2: R = A - B
Caso 3: R = A * B
Caso 4: R = A / B
Fin_Caso
Escribir R
Terminar el proceso
110 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Diagrama de flujo
Codificación en PHP
<?PHP
$A = 5;
$B = 6;
$MENU = 3;
switch (SMENU) {
G r u p o E d i t o r i a l M e g a b y t e 111/
Algoritmos y Diagramas de Flujo aplicados en PHP
case 1:
$R = $A + $B;
echo "Resultado $R";
break;
case 2:
SR = SA - $B;
echo "Resultado $R";
break;
case 3:
$R = $A * $B;
echo "Resultado $R";
break;
case 4:
$R = $A / $B;
echo "Resultado $R";
break;
Resultado PHP en WEB
112 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$A = 5;
$B = 6;
SMENU = 3;
switch evalúa y compara cada expresión de la sentencia case:
switch ($MENU) {
case 1:
11...
case 2:
11...
case 3:
11..
case 4:
11....
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
echo "Resultado $R";
Ejem plo 18
Construya un pseudocódigo , qué valide la fecha de nacimiento de una persona,
considere que el año válido sea mayor a 1900.
Algoritmo:
Iniciar proceso
Declarar Variables
DD, MM, AA, NDias : Entero
G r u p o E d i t o r i a l M e g a b y t e 111,
Algoritmos y Diagramas de Flujo aplicados en PHP
Leer DD, MM, AA
En caso de MM
Caso 1 : TDias = 31
Caso 2 :
Si (AA Mod 4 =0 Y AA MOD 400 = 0) O (AA Mod
400 =0) Entonces
FinSi
Caso 3 : TDias = 31
Caso 4 : TDias = 30
Caso 5 : TDias = 31
Caso 6 : TDias = 30
Caso 7 : TDias = 31
Caso 8 : TDias = 31
Caso 9 : TDias = 30
Caso 10 : TDias = 31
Caso 11 : TDias = 30
Caso 12 : TDias = 31
FinCaso
Si AA>1900 Y (MM>0 Y MM<=12) Y (DD>0 Y DD<=TDias)
Hacer TDias = 29
Sino
Hacer TDias = 28
Escribir ‘Fecha válida’
Si no
Escribir ‘Fecha no válida’
Fin Si
Terminar el proceso
Diagrama de flujo
c INICIO
/:DD, MM, AA
T
114 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
Codificación en PHP
<?PHP
$DD = 16;
$MM = 5;
$AA = 1778;
switch ($MM) {
case 1: $TD1AS = 31;
break;
G r u p o E d i t o r i a l M e g a b y t e 115
Algoritmos y Diagramas de Flujo aplicados en PHP
case
case
case
case
case
case
case
case
case
case
case
if (($AA % 4 = O and $AA % 400 == 0) or
($AA % 400==0)){
STDias = 29;
}else{
STDias = 28;
}
break;
3: STDIAS = 31;
break;
4: STDIAS = 30;
break;
5: STDIAS = 31;
break;
6: STDIAS = 30;
break;
7: STDIAS = 31;
break;
8: STDIAS = 31;
break;
9: STDIAS = 30;
break;
10:STDIAS = 31;
break;
U:$TDIAS = 30;
break;
12:STDIAS = 31;
break;
116 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 2: Estructuras lógicas selectivas
if($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and
$DD <= $TDIAS)){
print "Fecha válida";
}else{
print "Fecha no válida";
}
?>
Resultado PHP en WEB
Explicación PHP
PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
$DD = 16;
$MM = 5;
$AA = 1778;
switch evalúa y compara cada expresión de la sentencia case:
switch ($MM) {
G r u p o E d i t o r i a l M e g a b y t e 117
Algoritmos y Diagramas de Flujo aplicados en PHP
case 1:
11...
case 2:
11...
case 3:
11..
case 4:
11....
}
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
print "Fecha válida";
print "Fecha no válida";
Para febrero tratamos de definir cuantos días tiene el mes con la siguiente
condición:
if (($AA % 4 == 0 and $AA % 400 == 0) or ($AA % 400==0)){
STDias = 29;
}else{
STDias = 28;
}
Al final validamos si el año es mayor de 1900 con la siguiente condición, nótese
que también estamos validando el mes y el día:
if($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and $DD <=
$TDIAS)){
print "Fecha válida";
}else{
print "Fecha no válida";
}
118 G r u p o E d i t o r i a l M e g a b y t e
Capítulo III
Estructuras
Lógicas
Repetitivas
Ob jetivo s:
En este capitulo usted aprender a desarrollar Algoritmos
Avanzado basados en lógicas repetitivas, para luego
plasm arlo en un Diagram as de flujo y aplicarlo en el
lenguaje PHP
Contendió:
Estructura Hacer Mientras
Estructura Mientras
Estructura Desde
Ejemplos
Algoritmos y Diagramas de flojo Aplicados en PHP
Capítulo 3: Estructuras lógicas repetitivas
Es muy común encontrar en los algoritmos operaciones que se deben ejecutar un
número repetido de veces. Si bien las instrucciones son las mismas, los datos
sobre los que se opera varían. El conjunto de instrucciones que se ejecuta
repetidamente se llama ciclo.
Todo ciclo debe terminar de ejecutar luego de un número finito de veces, por lo
que es necesario en cada interacción del mismo, evaluar las condiciones necesarias
para decidir si debe seguir ejecutándose o debe detenerse. En todo ciclo, siempre
debe existir una condición de parada o fin de ciclo.
En algunos algoritmos podemos establecer a priori que el ciclo se repetirá un
número definido de veces. Es decir, el número de repeticiones no dependerá de
las proposiciones dentro del ciclo. Llamaremos Desde a la escritura algorítmica
repetitiva que se ejecuta un núméro definido de veces.
Por otra parte, en algunos algoritmos no podemos establecer a priori el número
de veces que ha de ejecutar el ciclo, sino que este número dependerá de las
proposiciones dentro del mismo. Llamaremos mientras a la estructura algorítmica
repetitiva que se ejecuta mientras la condición evaluada resulta verdadera.
TambiéN tenemos la estructura Hacer Mientras.
En la práctica tanto la estructura Hacer Mientras como la estaictura Mientras se
pueden usar indistintamente para obtener un resultado.
G r u p o E d i t o r i a l M e g a b y t e fiBBI
Algoritmos y Diagramas de Flujo aplicados en PHP
Estructura Hacer Mientras
La estructura Hacer Mientras como lo señalamos anteriormente, es la estructura
algorítmica adecuada para utilizar en un ciclo que se ejecutará un número definido
de veces. Por ejemplo cuando necesitamos calcular la nómina total de la empresa,
tenemos que sumar los sueldos de los N empleados de la misma. Cuando
necesitamos obtener el promedio de calificaciones de un curso, debemos sumar
las N calificaciones de los alumnos y dividir esa suma entre N. Es decir, sabemos
de antemano cuántas veces tenemos que repetir una determinada operación,
acción o tárea. El número de repeticiones no depende de las proposiciones dentro
del ciclo. El número de veces se obtiene del planteamiento del problema o de una
lectura que indica que el número de iteraciones se debe realizar para N
ocurrencias.
La sintaxis para esta estructura es la siguiente:
H acer
{Proceso}
M ientras (Condición)
{Fin del ciclo}
Proceso, es cualquier operación o conjunto de operaciones que deban ejecutarse
mientras se repita el ciclo. El ciclo se repetirá siempre que la Condición sea
verdadera, es decir se cumplirá hasta que la Condición sea falsa.
Esta estructura garantiza por lo menos una iteración del bloque de proceso, debido
a que primero realiza el proceso y al final evalúa la condición.
122 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 3: Estructuras lógicas repetitivas
Muchas veces usaremos esta estructura con el uso de un contador, y la condición
estará ligada a dicho contador, obteniendo así la siguiente sintaxis:
V = Vi
Hacer
{proceso}
Calcular V = V + INC
Mientras que (Condición)
{Fin del ciclo}
Donde V : es una variable de control
Vi : es el valor inicial.
INC : es el incremento
V (contador del ciclo, generalmente representado por las letras I, J, K, V) toma
un valor inicial (Vi) y se compara con el valor esperado en la condición. El ciclo
se ejecuta hasta que la condición sea verdadera. El valor de V se incrementa en
cada iteración.
El incremento de INC por lo general es en un unidad, pero eso depende mucho de
la naturaleza del problemas, veremos casos en que el incremento será de dos
unidades o de tres unidades, etc , en general podremos tener un incremento en X
unidades, donde X es un número entero.
No es una regla que los valores Vi, V, VF e INC sean enteros, veremos casos en
que será necesario un aumento de 0.02 por ejemplo, en ese caso dichas variables
tendrán que ser reales.
En resumen las variables de control son enteras o son reales o cualquier otro
tipo, pero no pueden ser una mezcla de ambas.
Por otro lado 110 siempre tendremos incrementos, si no decrementos, en este
caso el algoritmo sufre un pequeño cambio, como mostramos a continuación.
V=Vi
Hacer
G r u p o E d i t o r i a l M e g a b y t e 123
Algoritmos v Diagramas de Flujo aplicados en PHP
{proceso}
Calcular V = V - INC
M ientras (Condición)
{Fin del ciclo}
E jem plo 1
Escriba un pseudocódigo, donde ingresado los sueldos de 10 obreros de una
fabrica, obtenga el total de los sueldos de la misma.
Pseudocódigo:
Iniciar proceso
Declarar Variables
I : Entero
TOTAL,SUELDO : Real
Hacer 1 = 0
TOTAL = 0
Hacer
Leer SUELDO
Calcular TOTAL = TOTAL + SUELDO
1 = 1 + 1
Mientras 1< 10
Escribir TOTAL
Terminar el proceso
Codificación en PHP
<?php
SSUELDO = 600;
SI = 0;
STOTAL = 0;
124 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 3: Estructuras lógicas repetitivas
do {
STOTAL = STOTAL + SSUELDO;
SI = SI + 1;
} while (SI < 10);
echo "Total de sueldos <br>";
echo STOTAL;
?>
Diagrama de flujo
G r u p o E d i t o r i a l M k g a b y t e 125
Algoritmos y Diagramas de Flujo aplicados en PHP
Resultado PHP en WEB
Explicación PHP
PHP trabaja con valores enviados desde un formulario en modo Get y Post ó por
enlace URL, en este ejemplo usted colocara los valores en el código para que sea
procesado.
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SSUELDO = 600;
SI = 0;
STOTAL = 0;
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
echo "Total de sueldos <br>";
Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo:
echo STOTAL;
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
126 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 3: Estructuras lógicas repetitivas
El do ... while permite repetir una secuencia mientras $1 sea menor que < 10,
dentro de este bucle sumar una cantidad hasta 10 veces donde todo se acumulara
en STOTAL, también utilizamos el bucle para contar $1 el cual permitirá indicarle
al while que se detenga cuando este sea menor <10, si no se define el $1, el bucle
se repetirá indefinidamente:
do {
STOTAL = STOTAL + SSUELDO;
SI = $1 + 1;
} while (SI < 10);
Ejem plo 2
Escriba un pseudocódigo, que muestre la lista de años desde 1995 hasta el 2005,
y al finalizar muestre un mensaje de lista finalizada.
Pseudocódigo:
Iniciar proceso
Declarar Variables
I : Entero
ANIO: Real
Hacer
Leer ANIO
Calcular ANIO= ANIO + 1
1= 1+1
Escribir ANIO
Mientras I < 10
Escribir Lista Fianlizada
Terminar el proceso
G r u p o E d i t o r i a l M e g a b y t e 127
Algoritmos y Diagramas de Flujo aplicados en PHP
Diagrama de flujo
Codificación en PHP
<?php
,
SANIO = 1995;
O
II
do {
SANIO = SANIO + 1;
echo "SANIO <br>";
SI = SI + i;
128 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 3: Estructuras lógicas repetitivas
} while ($ 1 < 10);
echo "Lista Finalizada";
? >
Explicación PHP
PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las
variables le anteponemos el signo y luego ingresamos el valor para cada
variable entre comillas y finalizando con ejemplo:
SANIO = 1995;
SI = 0;
G r u p o E d i t o r i a l M e g a b y t e 129
Algoritmos y Diagramas de Flujo aplicados en PHP
El print permite imprimir los valores ó comentarios encerrados entre comillas,
que desea mostrar en la pantalla, ejemplo:
echo "SANIO <br>";
echo "Lista Finalizada";
la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que
se vea todo en una línea.
El do ... while permite repetir una secuencia mientras $1 sea menor que < 10,
dentro de este bucle sumara los años hasta 10 veces y los ira mostrando uno por
uno echo "SANIO <br>";, también utilizamos el bucle para contar $1 el cual
permitirá indicarle al while que se detenga cuando este sea menor <10, si no se
define el $1, el bucle se repetirá indefinidamente:
do {
SANIO = SANIO + 1;
echo "SANIO <br>";
SI = SI + 1;
} while ($1 < 10);
Ejemplo 3
Escriba un pseudocódigo, que cuente del 1 al 20 cuantos números son divisibles
entre 2 y muestre cuales son los números.
Pseudocódigo:
Iniciar proceso
Declarar Variables
I : Entero
N: Entero
CONT: Entero
130 G r u p o E d i t o r i a l M e g a b y t e
Capítulo 3: Estructuras lógicas repetitivas
Hacer
Si N MOD 2 = 0 entonces
Escribir N
CONT = CONT + 1
Finsi
1= 1+1
N = N + 1
Mientras I < 20
Escribir Total de números divisibles entre 2: CONT
Terminar el proceso
Diagrama de flujo
G r u p o E d i t o r i a l M e g a b y t e 131
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP
Algoritmos y diagramas de flujo en PHP

Más contenido relacionado

La actualidad más candente

12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de coddenriquesyso
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 
Applications of stack
Applications of stackApplications of stack
Applications of stackeShikshak
 
Stacks Implementation and Examples
Stacks Implementation and ExamplesStacks Implementation and Examples
Stacks Implementation and Examplesgreatqadirgee4u
 
Data Structures in javaScript 2015
Data Structures in javaScript 2015Data Structures in javaScript 2015
Data Structures in javaScript 2015Nir Kaufman
 
Ejercicios base de_datos
Ejercicios base de_datosEjercicios base de_datos
Ejercicios base de_datosxinithazangels
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamientoOrlando Torres
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
R Programming: Learn To Manipulate Strings In R
R Programming: Learn To Manipulate Strings In RR Programming: Learn To Manipulate Strings In R
R Programming: Learn To Manipulate Strings In RRsquared Academy
 
design and analysis of algorithm
design and analysis of algorithmdesign and analysis of algorithm
design and analysis of algorithmMuhammad Arish
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]Muhammad Hammad Waseem
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directatavo_3315_
 

La actualidad más candente (20)

12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de codd
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
Single linked list
Single linked listSingle linked list
Single linked list
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
 
Queues
QueuesQueues
Queues
 
Stacks Implementation and Examples
Stacks Implementation and ExamplesStacks Implementation and Examples
Stacks Implementation and Examples
 
Data Structures in javaScript 2015
Data Structures in javaScript 2015Data Structures in javaScript 2015
Data Structures in javaScript 2015
 
Stack and Queue
Stack and Queue Stack and Queue
Stack and Queue
 
Ejercicios base de_datos
Ejercicios base de_datosEjercicios base de_datos
Ejercicios base de_datos
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
R Programming: Learn To Manipulate Strings In R
R Programming: Learn To Manipulate Strings In RR Programming: Learn To Manipulate Strings In R
R Programming: Learn To Manipulate Strings In R
 
Complejidad Algoritmica
Complejidad AlgoritmicaComplejidad Algoritmica
Complejidad Algoritmica
 
design and analysis of algorithm
design and analysis of algorithmdesign and analysis of algorithm
design and analysis of algorithm
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Lista simple
Lista simpleLista simple
Lista simple
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 

Destacado

Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phplgcj1989
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Landa, n.a. (2010). c# guia total del programador
Landa, n.a. (2010). c# guia total del programadorLanda, n.a. (2010). c# guia total del programador
Landa, n.a. (2010). c# guia total del programadorEdwin Mamani López
 
Periféricos teclados, mouse y parlantes
Periféricos   teclados, mouse y parlantesPeriféricos   teclados, mouse y parlantes
Periféricos teclados, mouse y parlantesEdwin Mamani López
 
Sistema operativo resolución de problemas
Sistema operativo   resolución de problemasSistema operativo   resolución de problemas
Sistema operativo resolución de problemasEdwin Mamani López
 
Mantenimiento preventivo y salida laboral
Mantenimiento preventivo y salida laboralMantenimiento preventivo y salida laboral
Mantenimiento preventivo y salida laboralEdwin Mamani López
 
Impresoras inkjet, láser y matriciales
Impresoras inkjet, láser y matricialesImpresoras inkjet, láser y matriciales
Impresoras inkjet, láser y matricialesEdwin Mamani López
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujomorenitamar
 
Sistema operativo instalación y configuración
Sistema operativo   instalación y configuraciónSistema operativo   instalación y configuración
Sistema operativo instalación y configuraciónEdwin Mamani López
 
Hackers Black Book Español
Hackers Black Book EspañolHackers Black Book Español
Hackers Black Book Españoldegarden
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujoManuU_u
 

Destacado (20)

Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-php
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Tablets y celulares
Tablets y celularesTablets y celulares
Tablets y celulares
 
Landa, n.a. (2010). c# guia total del programador
Landa, n.a. (2010). c# guia total del programadorLanda, n.a. (2010). c# guia total del programador
Landa, n.a. (2010). c# guia total del programador
 
Fundamentos de redes
Fundamentos de redesFundamentos de redes
Fundamentos de redes
 
Periféricos teclados, mouse y parlantes
Periféricos   teclados, mouse y parlantesPeriféricos   teclados, mouse y parlantes
Periféricos teclados, mouse y parlantes
 
Equipos all in on (aio)
Equipos all in on (aio)Equipos all in on (aio)
Equipos all in on (aio)
 
Hardware y sstresing
Hardware y sstresingHardware y sstresing
Hardware y sstresing
 
Redes wifi
Redes wifiRedes wifi
Redes wifi
 
Sistema operativo resolución de problemas
Sistema operativo   resolución de problemasSistema operativo   resolución de problemas
Sistema operativo resolución de problemas
 
Mantenimiento preventivo y salida laboral
Mantenimiento preventivo y salida laboralMantenimiento preventivo y salida laboral
Mantenimiento preventivo y salida laboral
 
Impresoras inkjet, láser y matriciales
Impresoras inkjet, láser y matricialesImpresoras inkjet, láser y matriciales
Impresoras inkjet, láser y matriciales
 
Almacenamiento removible
Almacenamiento removibleAlmacenamiento removible
Almacenamiento removible
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Sistema operativo instalación y configuración
Sistema operativo   instalación y configuraciónSistema operativo   instalación y configuración
Sistema operativo instalación y configuración
 
Notebooks y netbooks
Notebooks y netbooksNotebooks y netbooks
Notebooks y netbooks
 
Java
JavaJava
Java
 
Hackers Black Book Español
Hackers Black Book EspañolHackers Black Book Español
Hackers Black Book Español
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 

Similar a Algoritmos y diagramas de flujo en PHP

Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libre
Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libreFundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libre
Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libreFausto Torres
 
Fundamentos de programacion piensa en c
Fundamentos de programacion piensa en c Fundamentos de programacion piensa en c
Fundamentos de programacion piensa en c Nayla Mar
 
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)Mary Pastrano
 
Más Investigación o "prueba/error" y...a comenzar otra vez!
Más Investigación o "prueba/error" y...a comenzar otra vez!Más Investigación o "prueba/error" y...a comenzar otra vez!
Más Investigación o "prueba/error" y...a comenzar otra vez!José Quintás Alonso
 
Temario sistemas de información
Temario sistemas de informaciónTemario sistemas de información
Temario sistemas de informaciónArmando Maravilla
 
tdr- COMPUTADORAS Y TECNOLOGÍA S.A
tdr- COMPUTADORAS Y TECNOLOGÍA S.Atdr- COMPUTADORAS Y TECNOLOGÍA S.A
tdr- COMPUTADORAS Y TECNOLOGÍA S.Acamilo batero
 
Realidad aumentada 1a_edicion
Realidad aumentada 1a_edicionRealidad aumentada 1a_edicion
Realidad aumentada 1a_ediciondayitk295
 
Realidad aumentada 1a_edicion
Realidad aumentada 1a_edicionRealidad aumentada 1a_edicion
Realidad aumentada 1a_edicionlaura23jimenez
 
Software user guide_spanish
Software user guide_spanishSoftware user guide_spanish
Software user guide_spanishqwqwqwqeee
 
Manual de procedimietos
Manual de procedimietosManual de procedimietos
Manual de procedimietoselgatonegro2
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructionstimmaujim
 
273054362 guia-de-configuracion-absentismos-y-vacaciones-docx
273054362 guia-de-configuracion-absentismos-y-vacaciones-docx273054362 guia-de-configuracion-absentismos-y-vacaciones-docx
273054362 guia-de-configuracion-absentismos-y-vacaciones-docxJohnny Alberto Miranda Mendoza
 
Localización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesLocalización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesHenry Quilla
 
7.3.1.2 packet tracer simulation exploration of tcp and udp instructions
7.3.1.2 packet tracer simulation   exploration of tcp and udp instructions7.3.1.2 packet tracer simulation   exploration of tcp and udp instructions
7.3.1.2 packet tracer simulation exploration of tcp and udp instructionstimmaujim
 

Similar a Algoritmos y diagramas de flujo en PHP (20)

Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libre
Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libreFundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libre
Fundamentos de programacion_piensa_en_c_osvaldo_cairo_battistutti-libre
 
Fundamentos de programacion piensa en c
Fundamentos de programacion piensa en c Fundamentos de programacion piensa en c
Fundamentos de programacion piensa en c
 
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)
13052014 fundamentos de-programacion-piensa-en-c-1edi-cairo (1)
 
Fundamentos programacion c
Fundamentos programacion cFundamentos programacion c
Fundamentos programacion c
 
Más Investigación o "prueba/error" y...a comenzar otra vez!
Más Investigación o "prueba/error" y...a comenzar otra vez!Más Investigación o "prueba/error" y...a comenzar otra vez!
Más Investigación o "prueba/error" y...a comenzar otra vez!
 
Temario sistemas de información
Temario sistemas de informaciónTemario sistemas de información
Temario sistemas de información
 
tdr- COMPUTADORAS Y TECNOLOGÍA S.A
tdr- COMPUTADORAS Y TECNOLOGÍA S.Atdr- COMPUTADORAS Y TECNOLOGÍA S.A
tdr- COMPUTADORAS Y TECNOLOGÍA S.A
 
Realidad aumentada 1a_edicion
Realidad aumentada 1a_edicionRealidad aumentada 1a_edicion
Realidad aumentada 1a_edicion
 
Realidad aumentada 1a_edicion
Realidad aumentada 1a_edicionRealidad aumentada 1a_edicion
Realidad aumentada 1a_edicion
 
Software user guide_spanish
Software user guide_spanishSoftware user guide_spanish
Software user guide_spanish
 
Manual de procedimietos
Manual de procedimietosManual de procedimietos
Manual de procedimietos
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
3.3.3.3 packet tracer explore a network instructions
3.3.3.3 packet tracer   explore a network instructions3.3.3.3 packet tracer   explore a network instructions
3.3.3.3 packet tracer explore a network instructions
 
273054362 guia-de-configuracion-absentismos-y-vacaciones-docx
273054362 guia-de-configuracion-absentismos-y-vacaciones-docx273054362 guia-de-configuracion-absentismos-y-vacaciones-docx
273054362 guia-de-configuracion-absentismos-y-vacaciones-docx
 
Manual de curso de centro de maquinado
Manual de curso de centro de maquinadoManual de curso de centro de maquinado
Manual de curso de centro de maquinado
 
IPES-COT-MON-2021.pdf
IPES-COT-MON-2021.pdfIPES-COT-MON-2021.pdf
IPES-COT-MON-2021.pdf
 
Localización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesLocalización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitales
 
7.3.1.2 packet tracer simulation exploration of tcp and udp instructions
7.3.1.2 packet tracer simulation   exploration of tcp and udp instructions7.3.1.2 packet tracer simulation   exploration of tcp and udp instructions
7.3.1.2 packet tracer simulation exploration of tcp and udp instructions
 
Xesthproyecto
XesthproyectoXesthproyecto
Xesthproyecto
 

Más de Edwin Mamani López

Más de Edwin Mamani López (16)

Rodriguez, m.a. (1991). metodología de la programación a través de pseudocódigo
Rodriguez, m.a. (1991). metodología de la programación a través de pseudocódigoRodriguez, m.a. (1991). metodología de la programación a través de pseudocódigo
Rodriguez, m.a. (1991). metodología de la programación a través de pseudocódigo
 
Monitores lcd y led
Monitores lcd y ledMonitores lcd y led
Monitores lcd y led
 
Monitores crt
Monitores crtMonitores crt
Monitores crt
 
Discos rígidos y unidades SSD
Discos rígidos y unidades SSDDiscos rígidos y unidades SSD
Discos rígidos y unidades SSD
 
Tarjetas gráficas y de audio
Tarjetas gráficas y de audioTarjetas gráficas y de audio
Tarjetas gráficas y de audio
 
Memoria RAM
Memoria RAMMemoria RAM
Memoria RAM
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Motherboard bios y reparación
Motherboard bios y reparaciónMotherboard bios y reparación
Motherboard bios y reparación
 
Motherboard conectores, zócalos y energía
Motherboard   conectores, zócalos y energíaMotherboard   conectores, zócalos y energía
Motherboard conectores, zócalos y energía
 
Motherboard partes y funcionamiento
Motherboard   partes y funcionamientoMotherboard   partes y funcionamiento
Motherboard partes y funcionamiento
 
Fuentes de energía y gabinetes
Fuentes de energía y gabinetesFuentes de energía y gabinetes
Fuentes de energía y gabinetes
 
Componentes y armado de pc
Componentes y armado de pcComponentes y armado de pc
Componentes y armado de pc
 
El taller y las herramientas
El taller y las herramientasEl taller y las herramientas
El taller y las herramientas
 
Silabo taller de base de datos
Silabo   taller de base de datosSilabo   taller de base de datos
Silabo taller de base de datos
 
Silabo lógica de programación
Silabo   lógica de programaciónSilabo   lógica de programación
Silabo lógica de programación
 
Silabo gestión y administración web
Silabo   gestión y administración webSilabo   gestión y administración web
Silabo gestión y administración web
 

Algoritmos y diagramas de flujo en PHP

  • 1.
  • 3. Megabyte G R U P O E D I T O R T A L Primera Edición, Octubre 2006 Área : C om putación e Inform ática H echo el D epósito Legal en la B iblioteca N acional del Perú N9 20 06 - 9786 (Ley N9 26905 / D .S. N9 0 1 7-98-ED ) R .U .C . N920507993444 IS B N : 9972 - 821 - 85 - 4 © E dw ard A burto C orrea G erente G eneral___________ © Joel de la C ruz V illar A utor ______________ © G ean C ario A polinario G arcía D iseño de C arátu la Algoritmos y Diagramas de Flujo aplicados en PHP Derechos Reservados / Decreto Ley 822 P ro h ib id a la re p ro d u c c ió n t o t a l o p a r c ia l d e e s te lib r o , su tra ta m ie n to in fo rm á tic o la tra n s m is ió n de n in g u n a o tra fo rm a o p o r c u a lq u ie r o tro m e d io ya sea e le c tró n ic o , m e c á n ic o , p o r fo to c o p ia , p o r re g is tro u o tro s m é to d o s sin p e rm iso p re v io y p o r e s c rito d e los titu la re s de C o p yrig h t. D istrib ución y V entas Jr. R ufino Torrico 889 of. 208 - C ercado de Lim a Telefax: 332-4110 N extel: 407*4515 w w w .g ru p o m e g a b y te .c o m v e n ta s @ g ru p o m e g a b y te .c o m w w w .e d ito ria lm e g a b y te .c o m v e n ta s @ e d ito ria lm e g a b y te .c o m Cta. B anco de C rédito S/. 191-12591005-0-86 $. 191-12591006-1-87
  • 4. Dedicatoria Dedicatoria En memoria de un gran Amigo E.B.A. C. y a Carmen Rosa por su apoyo en la realización de esta obra G r u p o E d i t o r i a l M e g a b y t e 5
  • 5.
  • 6. Contenido de CD Contenido del CD El CD incluye todos los ejemplos explicados en libro en formato Web, cada ejemplo esta en un archivo con extensión PHP que tiene que ser ejecutado desde un servidor LINUX, UNIX ó Windows que soporte paginas PHP desde la versión 4.x a superior, también es recomendable utilizar Intente Explorer 6 a superior ó Firefox, para poder ser apreciados sin problemas. Usted puede cambiar los valores de las variables que están en la parte superior de cada archivo y probarlos, no es recomendable editar el código al menos que tenga el conocimiento para realizarlo. Los ejemplos no requieren dependencias como base de datos u otros programas, también puede ejecutarse desde cualquier directorio Web.
  • 7.
  • 8. Indice / Indice Introducción............................................................................................................... 15 Capítulo I Conceptos Básicos Algoritmos.................................................................. 19 Programa...........................................................................................................19 Heurística.......................................................................................................... 20 Diagrama de flujo.............................................................................................20 Variables............................................................................................................22 Constantes........................................................................................................22 Expresiones.......................................................................................................22 Operadores...............................................................................................................22 Aritméticos........................................................................................................ 22 Relaciónales.....................................................................................................23 Lógicos...............................................................................................................23 AND (Y)..............................................................................................................23 OR (O)................................................................................................................24 NOT (NO).................................................................................................................. 24 Prioridad de los Operadores....................................................................... 24 ENTRADA / SALIDA de datos.............................................................................. 24 LEER..................................................................................................................25 G r u p o E d i t o r i a l M e g a b y t e 9
  • 9. Algoritmos y Diagramas de Flujo aplicados en PHP ESCRIBIR...................................................'...................................................... 25 Tipos de datos escalares.......................................................................................25 Asignaciones............................................................................................................ 26 Declaración de variables........................................................................................26 Técnicas de desarrollo de algoritmos.................................................................26 Pseudocódigo............................................................................................................28 Ejemplo 1: Imprimir el área de un triángulo....................................................... 28 Ejemplo 2: Formando una oración..................................................................... 31 Ejemplo 3: Escriba el resultado de la siguiente expresión Aritmética 33 Ejemplo 4: Promedio de sus calificaciones....................................................... 35 Ejemplo 5: Calcular peso expresado en kilogramos y su altura expresada en metros............................................. 37 Ejemplo 6: Convertir Euros a nuevos soles.......................................................39 Ejemplo 7: Mostrar la fecha y hora actual..........................................................41 Ejemplo 8: Convertir en Euros y Dólares 2 cantidades................................... 43 Ejemplo 9: Calcular el área de un triangulo.......................................................45 Ejemplo 10: Calcular el área y volumen de una pelota................................... 48 Ejemplo 11: Calcularla distancia entre dos postes de alumbrado público 50 Ejemplo 12: Calcular el porcentaje de una encuesta.......................................53 Ejemplo 13: Calcular el radio y la altura de un cilindro................................... 55 Capítulo II Estructuras lógicas selectivas Estructura Si...Entonces (Selecciónsimple)......................................................... 62 Ejemplo 1: Buscar un co lo r..................................................................................62 Ejemplo 2: Mostrar nota menor igual.................................................................. 64 Ejemplo 3: calcular cantidad menor igual..........................................................66 Ejemplo 4: Aplicar aumento de sueldo................................................................68 10 G r u p o E d i t o r i a l M e g a b y t e
  • 10. índice Estructura Si...Entonces...Si no (Alternativa doble).........................................70 Ejemplo 5: Mostrar mensaje de acuerdo auna condición................................ 71 Ejemplo 6: Mostrar mensaje de acuerdo auna notaaprobatoria........................73 Ejemplo 7: Realizar tipo de cambio de acuerdoal valor dela moneda 75 Ejemplo 8: Aplicar aumento de acuerdo al sueldo.........................................77 Anidamiento de Estructuras condicionales.........................................................80 Ejemplo 9: Validar el aumento de unempleado................................................. 81 Ejemplo 10: Aplicar y validar aumentos.............................................................85 Ejemplo 11: ordenar cantidades..........................................................................89 Ejemplo 12: Mostrar mensaje de acuerdo a una nota...................................93 Ejemplo 13: validar y mostrar un mensaje si el númeroespar/impar. 96 Ejemplo 14: Validar edades de niños................................................................ 99 Ejemplo 15: Mostrar mensaje si existe un numero repetido......................... 103 Ejemplo 16: Ordenar números de menor amayor........................................... 106 La estructura de selección múltiple....................................................................109 Ejemplo 17: calcular 2 valores en un menú deselección.............................. 109 Ejemplo 18: Validar fecha de nacimiento.......................................................... 113 Capítulo III Estructuras Lógicas Repetitivas Estructura Hacer Mientras....................................................................................122 Ejemplo 1: Obtener el total de sueldos........................................................... 124 Ejemplo 2: Listar a ñ o s.........................................................................................127 Ejemplo 3: Contar números divisibles...............................................................130 Estructura Mientras.................................................................................................133 Ejemplo 4: Obtener el total de sueldos de 10obreros................................. 134 Ejemplo 5. Lista los años del 2000 al 2010......................................................138 G r u p o E d i t o r i a l M e g a b y t e 11
  • 11. Algoritmos y Diagramas de Flujo aplicados en PHP Ejemplo 6: Mostrar cuantos números NO son divisibles entre 2 ...................141 Estructura Desde................................................................................................... 144 Ejemplo 7: Mostrar el total de números divisibles y no divisibles.................145 Ejemplo 8: Generar la tabla de multiplicar del 5.............................................. 148 Ejemplo 9: Generar la tabla de multiplicar del 1 al 9......................................150 Ejemplo 10: hallar el número de término para la progresiónsiguiente: 1, 2, 4,.......,*20000.......................................................................................................... 153 Capítulo IV Arreglos- Arrays ¿Que es un array?.................................................................................................159 Ejemplo 1: Almacenar nombres de ciudades.............................................. 159 arrays asociativos.................................................................................................. 161 Ejemplo 2: Ejemplo asociativos.................................................................. 161 arrays Multidimensionales.................................................................................... 162 Ejemplo 3: Ejemplo Multidimensionales.....................................................162 array_slice()............................................................................................................163 Ejemplo 4: Ejemplo array_slice()...............................................................163 array_shift()............................................................................................................166 Ejemplo 5: Ejemplo array_shift()................................................................. 166 unset().......................................................................................................................168 Ejemplo 6: Ejemplo unset()........................................................................168 array_push()...........................................................................................................170 Ejemplo 7: Ejemplo array_push()............................................................... 170 Finalizando Arrays PHP........................................................................................ 173 En que caso se utiliza array PHP?.................................................................... 174 Ejemplo 9: Busque el nombre de una persona en un arreglo.........................174 12 G r u p o E d i t o r i a l M e c a b y t e
  • 12. Indice Ejemplo 10: Inserte el nombre de una persona en un arreglo...................... 176 Ejemplo 11: Elimine el nombre de una persona en un arreglo...................... 179 Ejemplo 12: Busque a un empleado por su código y le aumente el sueldo en 2.5.......................................................................................................................181 Ejemplo 13: Muestre los nombres y notas aprobatorias de 5 alumnos del aula A y 5 alumnos del aula B................................ 183 Ejemplo 14: Utilizando 2 arreglos Alumnos, Nota, tome como nota desaprobatoria menor a 13..............................................................................................................186 Ejemplo 15: Ingresar el nombre de un persona en un arreglo y mostrarlo el arreglo.......................................................................................................................188 G r u p o E d i t o r i a l M e g a b y t e 13
  • 13.
  • 14. Introducción Introducción El libro de algoritmos esta compuesto de 4 capítulos que contiene teoría y ejemplos básicos de programación, el algoritmo es el Inicio de la programación porque esta conformado de pseudocódigos y diagramas de flujo que dan una visión amplia de como debe iniciarse y finalizar una programación basada en operadores, estructuras selectivas, estructuras repetitivas y manejo de arreglos. El pseudocódigo no es directamente un lenguaje de programación que se pueda ejecutar en un computador y probar su correcto funcionamiento y tampoco indica si esta correctamente colocado los bloques de código, ya que cada lenguaje de programación como C, C++, JavaScript, entre otros, trabaja sus funciones distintamente a otros, pero siempre manteniendo la lógica inicial de algoritmos. Por esta razón el libro contiene ejemplos aplicados en PHP, dado que PHP es un lenguaje que se ejecuta desde un servidor este trabaja muy bien cuando se le indica lo que tiene que hacer desde las variables. G rl p o E d i t o r i a l M e g a b y t e 15
  • 15.
  • 16. Capítulo I Conceptos Básicos Objetives: En este capitulo usted aprender a desarrollar Algoritmos Básicos basados en operadores aritméticos, para luego plasm arlo en un Diagramas de flujo y aplicarlo en el lenguaje PHP. C o n t e n d i ó : Algoritmos Operadores ENTRADA/SALIDA de datos Tipos de datos escalares Asignaciones Declaración de variables Técnicas de desarrollo de algoritmos Pseudocódigo Ejemplos
  • 17.
  • 18. Capítulo 1: Conceptos básicos Los algoritmos Constituyen un listado de instrucciones que indican el camino a seguir para dar solución a un problema. Se puede decir que un algoritmo es la suma de una parte lógica, mas una parte de control, en donde la parte lógica especifica el conocimiento en la solución del problema y la parte de control es la estrategia para solucionar el problema. Características de los algoritmos - Un algoritmo no debe de ser ambiguo. - Debe de tener una secuencia inicial y Final - Cada paso deberá tener una secuencia sucesiva y única. - El algoritmo debe de ser siempre eficiente y dar una solución al problema o de lo contrario mostrar un mensaje que diga "Sin solución" Programa Un programa esta definido por un "algoritmo", porque forma el conjunto de instrucciones que forman el algoritmo (codificados en un lenguaje de programación) y que se procesa en una computadora para solucionar un problema específico. G r u p o E d i t o r i a l M e g a b y t e 19
  • 19. Heurística L'n algoritmo que da o produce una solución a un problema planteado aunque esta solución no sea la óptima es llamado "Heurístico". Diagrama de flujo El diagrama de flujo es una representación gráfica que conforman el algoritmo. En el siguiente ejemplo se muestra un diagrama de flujo para: DIVIDIR (/) dos variables B y C, donde el resultado es almacenado en la variable A. (Ver Gráfico 1) Algoritmos v Diagramas de Flujo aplicados en PHP Gráfico 1 2 0 G r u p o E d i t o r i a l M e g a b y t e
  • 20. Capítulo 1: Conceptos básicos Los símbolos del diagrama mas comunes son: Terminal: Se usa para indicar el inicio o fin de un diagrama de flujo Proceso: Cualquier tipo de operación que pueda originar cambio de valor, operaciones aritméticas, de transformaciones, etc. Entrada/Salida: Se usa para indicar el ingreso o salida de datos. Salida: Se utiliza para mostrar datos, será el símbolo usado en este texto. Conector: Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Salida: Indica operaciones lógicas o de comparación entre datos y en función del resultado determina cual camino alternativo del programa se debe seguir. En caso de: Usado para indicar varias acciones posibles según sea un dato de entrado al control. Desde: Estructura repetitiva q indica un ciclo de N repeticiones de una o mas acciones. G r u p o E d i t o r i a l M e g a b y t e 21
  • 21. Algoritmos y Diagramas de Flujo aplicados en PHP Variables Se utilizan para contener datos de distintos tipos: números, letras, cadenas de caracteres, valores lógicos, etc. El valor contenido en una variable puede cambiar a lo largo de la ejecución de un programa. Constantes Son elementos que contienen datos, el valor asignado a una constante es fijo y no se puede cambiar durante toda la ejecución de un programa. Expresiones Las expresiones son combinaciones de constantes, variables, simbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: A + (B + 3 ) / C Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones implicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relaciónales Lógicas Operadores Aritm éticos Los operadores aritméticos permiten realizar cualquier operación aritmética (suma, resta, multiplicación y división). En la siguiente tabla se muestran los operadores. 22 G r u p o E d i t o r i a l M e c a b y t e
  • 22. Capítulo 1: Conceptos básicos O p e ra d o r A cció n E jem p lo R esu ltad o - Resta x = 5 - 3 2 + Suma x = 2 + 3 5 * Multiplicación x = 2 * 3 6 / División x = 6 /2 3 A Potencia x = 3 A 2 9 MOD Módulo x = 5 MOD 2 1 DIV División entera x= 5 DIV 2 2 El operador MOD devuelve el residuo de una división entera, mientras que el operador DIV permite realizar una división entre dos números enteros, alli rádica la diferencia con el operador «/». Relaciónales Permiten evaluar las relaciones entre un par de operandos. Los operadores relaciónales son: Operador Acción > M ayor que >= M ayor o igual que < M enor que <= M enor o igual que = Igual != o o Distinto Lógicos Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero). Los operadores lógicos son tres; dos de ellos son binarios, el último (negación) es unario. AND (Y) Produce un resultado con valor de verdad true cuando ambos operandos tienen valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad false. Sintaxis: variable 1 AND variable2 G r u p o E d i t o r i a l M e g a b y t e 23
  • 23. Algoritmos y Diagramas de Flujo aplicados en PHP OR (O) Produce un resultado con valor de falso false cuando ambos operadores tienen valores falsos; en cualquier otro caso el resultado tendrá un valor de verdad true. Sintaxis: variable 1 OR variable2 NOT (NO) Invierte el valor de verdad de operando. Sintaxis: NOT operando Ejemplo : Si operando tiene un valor de verdad true, not operando produce un resultado con valor falso false. Prioridad de los Operadores Los operadores deben ser evaluados según la siguiente prioridad 1 - 0 2 .-A 3.- *, /, Mod, Not 4.- +, And 5.- >, < ,> = ,< = ,< >, =, Or ENTRADA / SALIDA de datos Los dispositivos de entrada / salida permiten que el usuario interactúe con el sistema. Por medio de los dispositivos de entrada el usuario ingresa los datos a procesar en el sistema y los dispositivos de salida muestran el resultado. Las instrucciones de E/S dan acceso al programador a las funciones básicas de estos dispositivos, permitiéndole capturar datos de los dispositivos de entrada y asignarlos a variables para operar con ellos y mostrar resultados del proceso en los dispositivos de salida. 24 G r u p o E d i t o r i a l M e g a b y t e
  • 24. Capítulo 1: Conceptos básicos LEER Permite el ingreso de datos al computador, el dato leido debe ser almacenado en una variable, la sintaxis es la siguiente: LEER variable ESCRIBIR Permite reportar resultados de un proceso, también se usa para enviar un mensaje al operador. La sintaxis es la siguiente: ESCRIBIR Variable ESCRIBIR ‘Texto’ ESCRIBIR Expresión Veamos unos ejemplos, según sean las sintaxis anteriores respectivamente ESCRIBIR Resultado Esta instrucción devuelve el contenido de la variable Resultado ESCRIBIR ‘Prepárese para el ingreso de datos’ Esta instrucción muestra al usuario el contenido de los apostrofes, nótese que para poder mostrar un texto este debe ir encerrado en apostrofes o comillas según el lenguaje que utilice. ESCRIBIR 4*n Esta instrucción primero calcula la expresión 4*n y luego muestra ese resultado. Tipos de datos escalares Son aquellos tipos de datos cuyos miembros están compuestos por un solo ítem (dato). Los tipos de datos escalares nativos son aquellos tipos de datos escalares que ya están implementados en el lenguaje junto a sus respectivas operaciones. Entre estos tipos de datos tenemos Entero, Real, Carácter, Booleano; más adelante veremos otros tipos de datos. G r u p o E d i t o r i a l M e g a b y t e 25
  • 25. Algoritmos y Diagramas de Flujo aplicados en PHP Asignaciones Una asignación consiste en darle un determinado valor a una variable o constante, por ejemplo en la siguiente sentencia observamos que a la variable A, se le da el valor de 5. A = 5 De manera similar podemos tener la siguiente asignación A = 4 + (3 * YA2) vemos que una expresión a sido asignada a la variable A Algunos autores usan el símbolo en vez de igual ( = ) para una asignación. Declaración de variables Mediante la declaración de variables describimos las características de las mismas. La sintaxis que usaremos es la siguiente: N om bredevariable : Tipo Entiéndase por tipo, al tipo de dato de la variable. Técnicas de desarrollo de algoritmos Existen dos principales técnicas de diseño de algoritmos de programación, el Top Down y el Bottom Up. Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. La utilización de la técnica de diseño Top-Down tiene 3 objetivos básicos: - Simplificación del problema y de los subprogramas de cada descomposición. 26 G r u p o E d i t o r i a l M e g a b y t e
  • 26. Capítulo 1: Conceptos básicos - Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas. - El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento. Bottom Up El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando laprogramación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha limite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen. Entonces... La diferencia entre estas dos técnicas de programación se fundamenta en el resultado que presentan frente a un problema dado. Como ejemplo una pais, el cual se compone de varios provincias (Lima, Arequipa, Tacna,...), en cada uno de ellos se fueron presentando problemas a los cuales se les dió una solución basada en un enfoque ascendente (Bottom Up): creando programas que satisfacían sólo el problema que se presentaba. Cuando el pais decidió integrar un sistema global para suplir todas las necesidades de todos las provincias se dió cuenta que cada una de las G r u p o E d i t o r i a l M e g a b y t e 27
  • 27. Algoritmos y Diagramas de Flujo aplicados en PHP soluciones presentadas no era compatible la una con la otra, no representaba una globalidad, característica principal de los sistemas. Como no hubo un previo análisis, diseño de una solución a nivel global en todos sus provincias, centralización de información, que son características propias de un diseño Descendente (Top Down) y características fundamentales de los sistemas; el pais no puede satisfacer su necesidad a nivel global. La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el diseño ideal para la solución de un problema. Pseudocódigo Diremos que una notación es un pseudocódigo si mediante ella podemos describir el algoritmo, utilizando palabras y frases del lenguaje natural sujetas a unas determinadas reglas. Todo pseudocódigo debe posibilitar la descripción de: - Instrucciones de entrada / salida. - Instrucciones de proceso. - Sentencias de control del flujo de ejecución. - Acciones compuestas, a refínar posteriormente. Para entender mejor estos conceptos veamos algunos ejemplos. Ejemplo 1 Elabore un algoritmo y su pseudocósigo para calcular e imprimir el área de un triángulo. Solución: Declarar Variables B,H : real Entrada: (datos a introducir al computador) Base = B Altura = H 28 G r u p o E d i t o r i a l M e g a b y t e
  • 28. Capítulo 1: Conceptos básicos Operación: Calcular área del triángulo (Base x Altura)/2 Salida: (Resultado que mostrará el computador) Pseudocódigo: 1. Iniciar proceso 2. Declarar variables H : real B : real A : real 3. LEER B 4. LEER H 5. A = ( B * H ) / 2 6. ESCRIBIR A 7. Terminar el proceso Explicación Pseudocódigo: 1.- Se inicia el proceso, todo programa o bloque de programa, debe tener un indicativo de inicio. 2.- Declaramos las variables a usar, las variables "H" y "B" son de tipo real, de eso se deduce que el resultado de una operación entre estas dos variables también sea del tipo real, por eso "A" también es del tipo real. 3.- Leemos el valor de la variables "B", por ejemplo digamos el valor introducido sea "6" 4.- Leemos el valor de la variable "H", para este ejemplo ingresemos "10". 5.- Calculamos la expresión (B*H)/2 y dicho resultado lo almacenamos en la variable "A", entonces será: A = (6*10)/2, por lo tanto tendremos A = 30. 6.- Escribimos el resultado de la operación, en este caso será "30". 7.- Cuando un proceso o programa se inica, debemos indicar su fin, caso contrario, dicho proceso puede ejecutarse infinitamente. G r u p o E d i t o r i a l M e g a b y t e 29
  • 29. Algoritmos y Diagramas de Flujo aplicados en PHP A continuación crearemos el diagrama de flujo de este ejercicio y luego su codificación en Lenguaje PHP: Diagrama de flujo Codificación en PHP <?PHP $B = "6"; $H = "10"; print "Área de un Triangulo <br>"; print "Base = $B <br>"; print "Altura = $H <br>"; $A = ($B * $H / 2); print "Resultado: print $A; ?> Resultado PHP en WEB 30 G r u p o E d i t o r i a l M e g a b y t e
  • 30. Capítulo 1: Conceptos básicos Explicación PHP PHP trabaja con valores enviados desde un formulario en modo Get y Post ó por enlace URL, en este ejemplo usted colocara los valores en el codigo para que sea procesado. PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $B = "6"; $H = "10"; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Área de un Triangulo <br>"; print "Base = $B <br>"; print "Altura = $H <br>"; print "Resultado: Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo: print $A; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 2 Construya un pseudocódigo, que dados los datos A, B y C que representan palabras, escriba los mismos formando una oración. Pseudocódigo: 1. Iniciar proceso 2. Declarar variables A, B, C: Carácter 3. LEERA, B, C 4. ESCRIBIRA, B, C 5. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 31
  • 31. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Resultado PHP en WEB Codificación en PHP <?PHP $A = "La"; SB = "Casa"; $C = "Blanca"; print "Resultado: <BR>"; print $A." ".SB." ".SC ; ?> 32 G r u p o E d i t o r i a l M e g a b v t e
  • 32. Capítulo 1: Conceptos básicos Explicación: Primero almacenamos las palabras en cada variable, luego lo imprimimos en una cadena para formar la oración Ejemplo 3 Construya un pseudocódigo, que dado los datos enteros A, B y C, escriba el resultado de la siguiente expresión: (A + B - C) 3 5 Pseudocódigo: 1. Iniciar proceso 2. Declarar variables A, B y C : Entero R : Real 3. LEER A, B y C 4. Calcular R = ((A + B - C)A3)/5 4. ESCRIBIR R 5. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP $A = 3 $B = 6 $C = 4; $R = pow(($A+$B-$C),3)/5; print "Resultado: <BR>"; print $R; ?> G r u p o E d i t o r i a l M e g a b y t e 33
  • 33. Algoritmos y Diagramas de Flujo aplicados en PHP Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $A = 3; SB = 6; $C = 4; Con pow llevamos a la potencia un valor numérico, ejemplo:: $R = pow(($A+$B-$C),3)/5; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Resultado: <BR>"; Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo: print $R; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. 34 G r u p o E d i t o r i a l M e g a b y t e
  • 34. Capítulo 1: Conceptos básicos Ejemplo 4 Construya un pseudocódigo, que dado el código del carnet universitario y 4 notas de un alumno obtenidas a lo largo del semestre; construya un pseudocódigo imprima la codigo del carnet del alumno y el promedio de sus calificaciones. Pseudocódigo: 1. Iniciar proceso 2. Declarar variables CODIGO : Entero largo N I, N2, N3, N4, PRO : Real 3. LEER Mat, N I, N2, N3, N4 4. Calcular PRO = (NI + N2 + N3 + N4)/4 4. ESCRIBIR MAT, PRO 5. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP SCODIGO = "AB-2006"; $N1 = 16 $N2 = 11 $N3 = 18 $N4 = 15 SPRO = ($Nl+$N2+$N3+$N4)/4; print "Codigo: SCODIGO <br>"; print "Promedio: SPRO ?> G r u p o E d i t o r i a l M e g a b y t e
  • 35. Algoritmos y Diagramas de Flujo aplicados en PHP Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SCODIGO = "AB-2006"; $N1 = 16; $N2 = 11; $N3 = 18; $N4 = 15; Sumamos y dividimos las variables y almacenamos el resulto en $PRO, ejemplo:: $PRO = ($Nl+$N2+$N3+$N4)/4; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Codigo: SCODIGO <br>"; print "Promedio: $PRO 36 G r u p o E d i t o r i a l M e g a b y t e
  • 36. Capítulo 1: Conceptos básicos Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo: print $PRO; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 5 Construya un pseudocódigo, que dado el nombre de una persona, su peso y su altura, expresados estos dos últimos en libras y pies, respectivamente; escriba el nombre de la persona, su peso expresado en kilogramos y su altura expresada en metros. Conversiones: - Para convertir de libras a kilogramos, multiplica por 0.4535924 - Para convertir de pies a metros, multiplicar por 0.3048006 Pseudocódigo: 1. Iniciar proceso 2. Declarar variables NOM : Cadena de caracteres PES, ALT : Real 3. LEER NOM, PES, ALT 4. Calcular PESO = PES * 0.4535924 5. Calcular ALTURA = ALT * 0.3048006 6. ESCRIBIR NOM, PESO, ALTURA 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 37
  • 37. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP $NOM = "Víctor"; $PES = 140; SALT = 80; $PESO = $PES * 0.4535924; 5ALTURA = $ALT * 0.3048006; print "Nombre: $NOM <br>"; print "Peso: $PESO <br>"; print "Altura: SALTURA"; ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 38 G r u p o E d i t o r i a l M e g a b y t e
  • 38. Capítulo 1: Conceptos básicos $NOM = "Víctor"; SPES = 140; $ALT = 80; Multiplicamos las variables y almacenamos el resulto en SPESO y SALTURA, ejemplo:: $PESO = SPES * 0.4535924; SALTURA = SALT * 0.3048006; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Nombre: SNOM <br>"; print "Peso: SPESO <br>"; print "Altura: SALTURA la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 6 Construya un pseudocódigo, que dado como dato una cantidad expresada en Euros, convierta esa cantidad a nuevos soles. Conversiones: - El tipo de cambio establecido en : 1 Euro = 4.11 soles Pseudocódigo: 1. Iniciar proceso 2. Declarar variables EURO, SOLES : Real 3. Calcular SOLES = EURO * 4.11 4. ESCRIBIR SOLES 5. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 39
  • 39. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP $EURO = 50; SSOLES = SEURO * 4.11; print "Tipo de Cambios en Soles: <br>"; print SSOLES; ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 4 0 G r u p o E d i t o r i a l M e g a b y t e
  • 40. Capítulo 1: Conceptos básicos $EURO = 50; multiplicamos las variables y almacenamos el resulto en $SOLES, ejemplo:: SSOLES = $EURO * 4.11; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Tipo de Cambios en Soles: <br>"; Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo: print SSOLES; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 7 Escriba un pseudocódigo, que muestre automáticamente la fecha y hora actual Pseudocódigo: 1. Iniciar proceso 2. Declarar variables FECHA, HORA: Cadena de caracteres 3 FECHA = DATE 4 HORA = TIME 5. ESCRIBIR FECHA, HORA 6. Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e 41
  • 41. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP $FECHA = date("d-m-Y"); $HORA = date("H:i:s"); print "Fecha: $FECHA<br>"; print "Hora: $HORA"; ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SFECHA = date("d-m-Y"); $HORA = date("H:i:s"); 42 G r u p o E d i t o r i a l . M e g a b y t e
  • 42. Capítulo 1: Conceptos básicos En PHP la fecha y hora se captura con date, seguidamente indicando el dia "d", mes"m", año "Y", hora"H", minutos"i", segundos'V'. El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Fecha: $FECHA<br>"; print "Hora: $HORA"; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 8 Escriba un pseudocódigo, que ingresado 2 cantidades, los sume y luego el resultado lo convierta en Euros y Dólares dependiendo del tipo de cambios de cada moneda. Conversiones: - El tipo de cambio establecido en : 1 Euro =4.11 soles - El tipo de cambio establecido en : 1 Dolares = 3.21 soles Pseudocódigo: 1. Iniciar proceso 2. Declarar variables CANTl: Real CANT2: Real EURO : Real DOLAR : Real TOTAL: Real 3. Calcular TOTAL = CANTl + CANT2 4. Calcular EURO = TOTAL / 4.11 5. Calcular DOLAR = TOTAL / 3.21 6. ESCRIBIR EURO, DOLAR 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 43
  • 43. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP Resultado PHP en WEB <?PHP $CANT1 = 50; $CANT2 = 60; $TOTAL = SCANT1 + $CANT2; $EURO = STOTAL / 4.11; SDOLAR = STOTAL / 3.21; print "EURO: $EURO <br>"; print "DOLAR: SDOLAR <br>"; ?> Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e c a b y t e
  • 44. Capítulo 1: Conceptos básicos $CANT1 = 50; SCANT2 = 60; Sumamos y dividimos las variables ingresadas. $TOTAL = SCANT1 + SCANT2; SEURO = STOTAL / 4.11; SDOLAR = STOTAL / 3.21; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "EURO: SEURO <br>"; print "DOLAR: $DOLAR <br>"; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 9 Escriba un pseudocódigo, que dados los tres lados de un triángulo, determine su área. Formula: Area = * (S - Ll) * (S - L2) * (S - L3) En donde S es: S = (Ll + L2 + L3) / 2 Nota: Sacar la raíz cuadrada de un número es igual elevar número a la potencia 0.5 Pseudocódigo: 1. Iniciar proceso 2. Declarar variables L1,L2,L3, S, Área: Real 3. Calcular S = (L1+L2 + L3) / 2 4. Calcular Área = (S*(S-L1)*(S-L2)*(S-L3))A0.5 5. ESCRIBIR Área 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 45
  • 45. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?PHP $L1 = 10; $L2 = 13; $L3 = 12; $S = ($L1 + $L2 + $L3) / 2; $ÁREA = pow($S*($S-$Ll)*($S-$L2)*($S-$L3),0.5); print "Área del Triangulo: $ÁREA"; ?> 4 6 G r u p o E d i t o r i a l M e c a b y t e
  • 46. Capítulo 1: Conceptos básicos Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $L1 = 10; $L2 = 13; $L3 = 12; Sumamos y dividimos las variables ingresadas. $S = ($L1 + $L2 + $L3) / 2;? El resultado se vuelve a procesar para luego sacar la potencia con pow. SÁREA = pow($S*($S-$Ll)*($S-$L2)*($S-$L3),0.5); El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Área del Triangulo: SÁREA"; G r u p o E d i t o r i a l M e g a b y t e 47
  • 47. Algoritmos y Diagramas de Flujo aplicados en PHP Ejemplo 10 Construya un pseudocódigo, que dado el radio de una pelota, calcule y muestre el área y su volumen. Formulas - El área de una esfera la calculamos de esta forma: ÁREA = 4 * Pi * RADIO2 - El volumen de una esfera lo calculamos de esta forma: VOLUMEN = 4/3 * Pi * RADIO3 Pseudocódigo: 1. Iniciar proceso 2. Declarar Variables RADIO, ÁREA, VOLUMEN : Real 3. Declarar constante Pi = 3.141592 : Real 4. Leer RADIO 5. Calcular ÁREA = 4 * Pi * (RAD10A2) 6. Calcular VOLUMEN = 4/3 * Pi * (RADIOA3) 7. ESCRIBIR ÁREA, VOLUMEN 8. Terminar el proceso Diagrama de flujo 4 8 G r u p o E d i t o r i a l M e g a b y t e
  • 48. Capítulo 1: Conceptos básicos Codificación en PHP <?PHP $RADIO = 20; $PI = "3.141592"; $ÁREA = 4 * $PI * pow ($RADIO,2); SVOLUMEN = 4/3 * $PI * pow($RADIO,3) ; print "Área: SÁREA <br>"; print "Volumen: SVOLUMEN"; ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 4 9
  • 49. Algoritmos y Diagramas de Flujo aplicados en PHP SRADIO = 20; SPI = "3.141592"; Calculamos el área. SÁREA = 4 * $PI * pow (SRADIO,2); Calculamos el volumen. $VOLUMEN = 4/3 * SPI * pow($RADIO,3) ; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Área: SÁREA <br>"; print "Volumen: SVOLUMEN"; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 11 Construya un pseudocódigo que calcule la distancia entre dos postes de alumbrado público dados como P1 para el primer poste y P2 para el segundo poste. Formula: Para calcular la distancia entre dos puntos: D = J (X Í - X2)2 + (Yl - Y2)2 Pseudocódigo: 1. Iniciar proceso 2. Declarar Variables XI, Y l, X2, Y2, DISTANCIA : Real 3. Leer XI, Yl, X2, Y2 3. Calcular DISTANCIA =((X1 - X2)A2 + (Yl - Y2)A2)A0.5 4. ESCRIBIR DISTANCIA 5. Terminar el proceso 5 0 G r u p o E d i t o r i a l M e g a b y t e
  • 50. Capítulo 1: Conceptos básicos Diagrama de flujo Codificación en PHP <?PHP $X1 = 20; «X2 = 30; $Y1 = 34; «Y2 = 10; «DISTANCIA = pow(pow((«Xl-«X2),2) + pow(($Yl-$Y2),2),0.5); print "Distancia: «DISTANCIA <br>"; G r u p o E d i t o r i a l M e g a b y t e 51
  • 51. Algoritmos y Diagramas de Flujo aplicados en PFIP Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $X1 = 20; $X2 = 30; $Y1 = 34; $Y2 = 10; Calculamos la distancia. SDISTANCIA = pow(pow(($Xl-$X2),2) + pow(($Yl-$Y2),2),0.5); El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Distancia: SDISTANCIA"; 52 G r u p o E d i t o r i a l M e g a b y t e
  • 52. Capítulo 1: Conceptos básicos Ejemplo 12 Construya un pseudocódigo que calcule el porcentaje del resultado de una encuesta si esta a favor (Si) o en contra (No) de una pregunta formulada. Pseudocódigo: 1. Iniciar proceso 2. Declarar Variables SI, NO, PSI, PNO : Real 3. Leer SI, NO 4. Calcular PSI = (SI * 100) / (SI + NO) 5. Calcular PNI = (NO * 100) / (SI + NO) 6. ESCRIBIR PSI, PNO 7. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP $SI = 798; $NO = 21; $PSI = round(($SI * 100) / ($SI + $NO),2); $PNO = round(($NO * 100) / ($SI + $NO),2); print "SI: $PSI %<br>"; print "No: $PNO %"; •?> G r u p o E d i t o r i a l M e g a b y t e 53
  • 53. Algoritmos y Diagramas de Flujo aplicados en PHP Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "S" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $SI = 798; $NO = 21; Calculamos el porcentaje, con round redondeamos el valor a 2 decimales. $PSI = round(($SI * 100) / (SSI + $NO),2); SPNO = round(($NO * 100) / (SSI + $NO),2); El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "SI: $PSI%<br>"; print "No: SPNO %"; 54 G r u p o E d i t o r i a l M e g a b y t e
  • 54. Capítulo 1: Conceptos básicos la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. Ejemplo 13 Construya un algoritmo, que dado el radio y la altura de un cilindro, calcule e imprima el área y su volumen. Formulas: El volumen de un cilindro: Volúmen = pi * radio2 * altura La área del cilindro: Área = 2 * pi * radio * altura Pseudocódigo: 1. Iniciar proceso 2. Declarar variables RADIO, ALTURA, ÁREA, VOLUMEN : Real 3. Declarar constante P I= 3.1416 4. LEER RADIO,ALTURA 5. Calcular ÁREA = 2 * Pi * RADIO * ALTURA 6. Calcular VOLUMEN = Pi * RADIOA2 * ALTURA 7. ESCRIBIR ÁREA, VOLUMEN 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 55
  • 55. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP SRADIO = 5; SALTURA = 30; SPI = "3.1416"; SÁREA = 2 * SPI * $RADIO * SALTURA; SVOLUMEN = SPI * pow($RADIO,2) * SALTURA; print "Área: SÁREA <br>"; print "Volumen: SVOLUMEN ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 56 G r u p o E d i t o r i a l M e g a b y t e
  • 56. Capítulo 1: Conceptos básicos $RADIO = 5; SALTURA = 30; SPI = "3.1416"; Calculamos el Area y Volumen: SÁREA = 2 * $PI * $RADIO * SALTURA; SVOLUMEN = SPI * pow($RADIO,2) * SALTURA; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Área: SÁREA <br>"; print "Volumen: SVOLUMEN la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. G r u p o E d i t o r i a l M e g a b y t e 57
  • 57.
  • 58. Capítulo II Estructuras lógicas selectivas Objetivos: En este capitulo usted aprender a desarrollar Algoritmos Avanzado basados en lógicas selectivas, para luego plasmarlo en un Diagramas de flujo y aplicarlo en el lenguaje PHP C o n t e n d i ó : Estructura SL.Entonces (Selección simple) Estructura Si...Entonces...Si no (Alternativa doble) Anidamiento de Estructuras condicionales Ea estructura de selección múltiple Ejemplos Algoritmos y Diagramas de flujo Aplicados en PHP
  • 59.
  • 60. Capítulo 2: Estructuras lógicas selectivas Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. La utilizamos cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir. Esta toma de decisión se basa en la evaluación de una o más condiciones que nos señalarán como alternativa o consecuencia, la rama a seguir. Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente. Por lo que para alcanzar la solución de este problema o subproblema debemos aplicar prácticamente un árbol de decisión. Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas las podemos clasificar de la siguiente forma: 1. SI...ENTONCES (Estructura selectiva simple) 2. SI...ENTONCES...SINO (Estructura selectiva doble) Cabe señalar que cuando a la estructura selectiva las aplicamos en cascada, podemos utilizar una combinación de las estructuras señaladas anteriormente en la clasificación. G r u p o E d i t o r i a l M e g a b y t e 61
  • 61. Algoritmos y Diagramas de Flujo aplicados en PHP Estructura Si...Entonces (Selección simple) La estructura selectiva Si...Entonces permite que el flujo del diagrama siga por un camino específico si se cumple una condición o conjunto de condiciones. Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) operación(es). Luego se continúa con la secuencia normal del diagrama La sintaxis para este tipo de estructura es la siguiente: Si c o n d i c i ó n entonces H a c e r o p e r a c ió n Fin_Si La condición es una expresión lógica. Y operación puede ser una operación simple o un grupo de operaciones. El diagrama de flujo de la condicional Si es: Si la condición es falsa no hace ninguna acción. Veamos unos ejemplos de una sentencia selectiva simple. Ejemplo 1 Construya un pseudocódigo, que ingresando el nombre de un color muestre COLOR ENCONTRADO si el nombre del color es igual al almacenado dentro del algoritmo. 62 G r u p o E d i t o r i a l M e g a b y t e
  • 62. Capítulo 2: Estructuras lógicas selectivas Algoritmo: 1. Iniciar proceso 2. Declarar Variables COLOR : Entero largo 3. LEER COLOR 4. Si COLOR = BLANCO Entonces 4.1. Escribir "COLOR ENCONTRADO" 5. Fin Si 6. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP SCOLOR = "Blanco"; if (SCOLOR == "Blanco") { print "Color Encontrado"; } ?> Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 63
  • 63. Algoritmos y Diagramas de Flujo aplicados en PHP SCOLOR = "Blanco"; IF iniciamos la condición luego encerramos entre paréntesis () la variable e igualamos == con el valor que tiene que coincidir, si coincide mostramos entre {} el resultado mensaje. if (SCOLOR == "Blanco") { print "Color Encontrado"; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Color Encontrado"; Resultado PHP en WEB Ejemplo 2 Construya un pseudocódigo, que ingresada la nota de un alumno si esta es menor ó igual que 10 muestre DESAPROBADO. Algoritmo: 1. Iniciar proceso 2. Declarar Variables 64 G r u p o E d i t o r i a l M e g a b y t e
  • 64. Capítulo 2: Estructuras lógicas selectivas NOTA : Real 3. LEER Nota 4. Si Nota <= 10 Entonces 4.1. Escribir "DESAPROBADO" 5. Fin Si 6. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP SNOTA = 9; if (SNOTA <= 10) { print "Desaprobado"; } ?> Resultado PHP en WEB G r u p o E d i t o r i a l M e g a b y t e 65
  • 65. Algoritmos y Diagramas de Flujo aplicados en PHP Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SNOTA = 9; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 10, si coincide mostramos entre {} el resultado mensaje. if (SNOTA <= 10) { print "Desaprobado"; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Desaprobado"; Ejemplo 3 Construya un pseudocódigo, que ingresado una cantidad, que sea menor o igual a 100 dólares realice el tipo de cambio a soles. Conversiones: - El tipo de cambio establecido en : 1 Dolares =3.21 soles Algoritmo: 1. Iniciar proceso 2. Declarar Variables CANTIDAD, TOTAL : Entero 3. LEER CANTIDAD 4. Si CANTIDAD <= 100 Entonces 4.1 TOTAL = CANTIDAD * 3.21 4.2 ESCRIBIR TOTAL 5. Fin Si 6. Terminar el proceso 66 G r u p o E d i t o r i a l M e g a b y t e
  • 66. Capítulo 2: Estructuras lógicas selectivas Diagrama de flujo Codificación en PHP <?PHP «CANTIDAD = 80; if («CANTIDAD <= 100) { «TOTAL = «CANTIDAD * 3.21; print «TOTAL; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "«" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 67
  • 67. Algoritmos y Diagramas de Flujo aplicados en PHP $CANTIDAD = 80; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 100, si coincide realizamos la operación: $TOTAL = «CANTIDAD * 3.21; mostramos entre {} el resultado mensaje. if («CANTIDAD <= 100) { «TOTAL = «CANTIDAD * 3.21; print «TOTAL; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print «TOTAL; Ejemplo 4 Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un aumento del 2.5 si su sueldo es menor ó igual a S/ 500. Algoritmo: 1. Iniciar proceso 2. Declarar Variables SUELDO : Entero NSUELDO : Entero 3. LEER SUELDO 4. Si SUELDO <= 500 Entonces 4.1 NSUELDO = SUELDO * 2.5 4.2 ESCRIBIR NSUELDO 5. Fin Si 6. Terminar el proceso 68 G r u p o E d i t o r i a l M e g a b y t e
  • 68. Capitulo 2: Estructuras lógicas selectivas Diagrama de flujo Codificación en PHP <?PHP $SUELDO = 410; if («SUELDO <= 500) { «NSUELDO = «SUELDO * 2.5; print "Nuevo Sueldo: "; print «NSUELDO; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "«" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 69
  • 69. Algoritmos y Diagramas de Flujo aplicados en PHP SSUELDO = 410; IF iniciamos la condición luego encerramos entre paréntesis 0 Ia variable y comparamos si es menor igual <= con el valor 410, si coincide realizamos la operación: $NSUELDO = SSUELDO * 2.5; mostramos entre {} el resultado mensaje. if (SSUELDO <= 500) { SNSUELDO = SSUELDO * 2.5; print "Nuevo Sueldo:"; print SNSUELDO; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Nuevo Sueldo: "; print SNSUELDO; Estructura Si...Entonces...Si no (Alternativa doble) La selección simple es limitada, pero en ocasiones necesaria, por otro lado la alternativa doble nos permite tomar decisiones en ambos sentidos, es decir cuando la sentencia de comparación sea verdadero o cuando sea falso, en otras palabras cuando la respuesta de la comparación sea verdadera se ejecutarán una o más acciones, así mismo si la respuesta es falsa se ejecutarán acciones diferentes. Veamos el pseudocódigo el cual explica mejor el concepto de alternativa doble. Si Condición Entonces Acciones 1 sino Acciones2 Fin Si { 70 G r u p o E d i t o r i a l M e c a b y t e
  • 70. Capítulo 2: Estructuras lógicas selectivas Donde: Condición expresa la condición o conjunto de condiciones a evaluarse. Acciones 1 expresa la operación o conjunto de operaciones que se van a realizar si la condición resulta verdadera. Acciones2 expresa la operación o conjunto de operaciones que se van a realizar si la condición resulta falsa. Ejemplo 5 Construya un pseudocódigo, que ingresando el nombre de un color muestre COLOR ENCONTRADO si el nombre del color es igual al almacenado dentro del algoritmo sino COLOR NO ENCONTRADO en caso no sea igual. Algoritmo: 1. Iniciar proceso 2. Declarar Variables COLOR : Entero largo 3. LEER COLOR 4. Si COLOR = BLANCO Entonces 4.1. Escribir "COLOR ENCONTRADO" 5. Si no 5.1. Escribir "COLOR NO ENCONTRADO" 6. Fin_Si 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 71
  • 71. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?PHP SCOLOR = "Negro"; if (SCOLOR == "Blanco") { print "Color Encontrado"; }else{ print "Color NO Encontrado"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 72 G r u p o E d i t o r i a l M e g a b y t e
  • 72. Capítulo 2: Estructuras lógicas selectivas SCOLOR = "Blanco"; IF iniciamos la condición luego encerramos entre paréntesis () la variable e igualamos == con el valor que tiene que coincidir, si coincide mostramos entre {} el resultado mensaje. if (SCOLOR == "Blanco") { print "Color Encontrado"; } ELSE sino coincide mostramos el segundo mensaje else { print "Color NO Encontrado"; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Color Encontrado"; print "Color NO Encontrado"; Ejemplo 6 Construya un pseudocódigo, que ingresada la nota de un alumno si esta es menor ó igual que 10 muestre DESAPROBADO, sino APROBADO Algoritmo: 1. Iniciar proceso 2. Declarar Variables NOTA : Real 3. LEER Nota 4. Si Nota <= 10 Entonces 4.1. Escribir "DESAPROBADO" 5. Si no 5.1 Escribir "APROBADO" 6. Fin Si 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 73
  • 73. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?PHP $NOTA =12; if (SNOTA <= 10) { print "Desaprobado"; }else{ print "Aprobado"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 74 G r u p o E d i t o r i a l M e g a b y t e
  • 74. Capítulo 2: Estructuras lógicas selectivas SNOTA =12; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 12, si coincide mostramos entre {} el resultado mensaje. if ($NOTA <= 10) { print "Desaprobado"; } ELSE sino coincide mostramos el segundo mensaje else{ print "Aprobado"; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Desaprobado"; print "Aprobado"; Ejemplo 7 Construya un pseudocódigo, que ingresado una cantidad, que sea menor o igual a 50 dólares realice el tipo de cambio a EUROS, sino mostrar un mensaje que diga "Cambio como máximo 50". Conversiones: - El tipo de cambio establecido en : 1 Dólares =3.21 soles Algoritmo: 1. Iniciar proceso 2. Declarar Variables CANTIDAD, TOTAL : Entero 3. LEER CANTIDAD 4. Si CANTIDAD <= 50 Entonces 4.1 TOTAL = CANTIDAD *4.11 4.2 ESCRIBIR TOTAL G r u p o E d i t o r i a l M e g a b y t e 75
  • 75. Algoritmos y Diagramas de Flujo aplicados en PHP 5. Si no 5.1 ESCRIBIR "Cambio como máximo 50" 6. Fin_Si 7. Terminar el proceso Diagrama de flujo Codificación en PHP <?PHP «CANTIDAD = 80; if («CANTIDAD <= 50) { «TOTAL = «CANTIDAD * 4.11; print «TOTAL; }else{ print "Cambio como máximo 50"; } ?> Resultado PHP en WEB Archivo Editar Ver Ir Marcadores Herramientas A&jda - [7yS> • J http://joel v @ i r Q L Primeros pasos mÚltimas noticias Cambio como máximo 50 G r u p o E d i t o r i a l M e g a b y t e
  • 76. Capítulo 2: Estructuras lógicas selectivas Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SCANTIDAD = 80; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 50, sí coincide mostramos entre {} el resultado mensaje. if (SCANTIDAD <= 50) { STOTAL = SCANTIDAD * 4.11; print STOTAL; } ELSE sino coincide mostramos el segundo mensaje else{ print "Cambio como máximo 50"; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print STOTAL; print "Cambio como máximo 50"; Ejemplo 8 Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un aumento del 2.5 si su sueldo es menor ó igual a S/ 500. y si es mayor ó igual S/. 600 se le aumente el 1.7. Algoritmo: 1. Iniciar proceso 2. Declarar Variables SUELDO : Entero NSUELDO : Entero G r u p o E d i t o r i a l M e g a b y t e 77
  • 77. Algoritmos y Diagramas de Flujo aplicados en PHP 3. LEER SUELDO 4. Si SUELDO <= 500 Entonces 4.1 NSUELDO = SUELDO * 2.5 4.2 ESCRIBIR NSUELDO 5. Si no SUELDO >= 600 Entonces 5.1 NSUELDO = SUELDO * 1.7 5.2 ESCRIBIR NSUELDO 1 5. Fin Si 6. Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e
  • 78. Capítulo 2: Estructuras lógicas selectivas Codificación en PHP <?PHP SSUELDO = 700; if ($SUELDO <= 500) { SNSUELDO = $SUELDO * 2.5; print "Nuevo Sueldo:"; print SNSUELDO; }else if (SSUELDO >= 600) { SNSUELDO = SSUELDO * 1.7; print "Nuevo Sueldo:"; print SNSUELDO; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 79
  • 79. Algoritmos y Diagramas de Flujo aplicados en PHP SSUELDO = 700; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 500, si coincide mostramos entre {} el resultado mensaje. if (SSUELDO <= 500) { SNSUELDO = SSUELDO * 2.5; print "Nuevo Sueldo:"; print SNSUELDO; } ELSE sino coincide calculamos con la segunda condición y si coincide mostramos el mensaje: else if (SSUELDO >= 600) { SNSUELDO = SSUELDO * 1.7; print "Nuevo Sueldo:"; print SNSUELDO; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Nuevo Sueldo:"; print SNSUELDO; Anidamiento de Estructuras condicionales A menudo tendrá la necesidad de anidar una o más estructuras condicionales, ya sean simples o dobles, o combinaciones de ellas. Se dice que las estructuras están anidadas, cuando hay unas dentro de ellas, esto lo veremos muy a menudo. Por ejemplo veamos el siguiente pseudocódigo. Si Condiciónl Entonces Si Condición2 Entonces Acciones 1 Fin si Fin Si 80 G r u p o E d i t o r i a l M e g a b y t e
  • 80. Capítulo 2: Estructuras lógicas selectivas Aquí observamos que primero se debe cumplir la Condición 1, para luego evaluar la Condición2, solo al cumplirse esta última, se procederá a la ejecución de Acciones 1. Si Condición 1 Entonces Acciones 1 Si Condición2 Entonces Acciones2 Si no Acciones3 F in si Fin Si En este ejemplo, una vez cumplida la Condición 1, realizamos la Acciónl y luego evaluamos la Condición2, dependiendo el resultado de la Condición2, se procederá a realizar Acciones2 o Acciones3. Ejemplo 9 Construya un pseudocódigo que, al sueldo de un empleado se le aplíquele un aumento del 2.5 si su sueldo es menor ó igual a S/ 500. y si es mayor ó igual S/. 600 se le aumente el 1.7. Pero que muestre un mensaje "Cantidad NO Aceptada" si ingresa un sueldo mayor igual que 1000, caso contrario procesar el aumento. Algoritmo: 1. Iniciar proceso 2. Declarar Variables SUELDO : Entero NSUELDO : Entero 3. LEER SUELDO 4. Si SUELDO >= 1000 Entonces 4.1 ESCRIBIR "Cantidad NO Aceptada" 5. Si no G r ijp o E d i t o r i a l M e g a b y t e 81
  • 81. Algoritmos y Diagramas de Flujo aplicados en PHP 5.1 Si SUELDO <= 500 Entonces 5.1.1 NSUELDO = SUELDO * 2.5 5.1.2 ESCRIBIR NSUELDO 5.2 Si no SUELDO >= 600 Entonces 5.2.1 NSUELDO = SUELDO * 1.7 5.2.2 ESCRIBIR NSUELDO 5.3 F inSi 6. Fin Si 7. Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e
  • 82. Capítulo 2: Estructuras lógicas selectivas Codificación en PHP <?PHP $SUELDO = 700; if ($SUELDO >= 1000) { print "Cantidad NO Aceptada"; } else { if ($SUELDO <= 500) { SNSUELDO = $SUELDO * 2.5; print "Nuevo Sueldo:"; print SNSUELDO; }else if (SSUELDO >= 600) { SNSUELDO = SSUELDO * 1.7; print "Nuevo Sueldo:"; print SNSUELDO; } } Resultado PHP en WEB G r u p o E d i t o r i a l M e g a b y t e 83
  • 83. Algoritmos y Diagramas de Flujo aplicados en PHP Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SSUELDO = 700; IF iniciamos la condición luego encerramos entre paréntesis 0 Ia variable y comparamos si es menor igual <= con el valor 1000, si coincide mostramos entre {} el resultado mensaje. if (SSUELDO >= 1000) { print "Cantidad NO Aceptada"; } else { //..... } ELSE sino coincide calculamos con la segunda condición y si coincide procesamos la cantidad ingresada: if (SSUELDO <= 500) { SNSUELDO = SSUELDO * 2.5; print "Nuevo Sueldo:"; print SNSUELDO; }else if (SSUELDO >= 600) { SNSUELDO = SSUELDO * 1.7; print "Nuevo Sueldo:"; print SNSUELDO; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Nuevo Sueldo: "; print SNSUELDO; 84 G r u p o E d i t o r i a l M e g a b y t e
  • 84. Capítulo 2: Estructuras lógicas selectivas E jem plo 10 Basado en el ejemplo anterior construya un pseudocódigo que, al sueldo de un trabajador se le aplíquele un aumento del 3.0 si su sueldo es menor ó igual a S/ 600. y si es mayor a S/. 600 se le aumente el 4.0 con las siguientes validaciones: - Si el sueldo es igual o menor a 100 se de un aumento especial de 8.0. - Muestre un mensaje "Aumento No Aplicado" si ingresa una sueldo mayor igual que 1500, caso contrario procesar el aumento. Véase que en este ejemplo se esta utilizando 3 tipos de aumentos. Algoritmo: 1. Iniciar proceso 2. Declarar Variables SUELDO : Entero NSUELDO : Entero 3. LEER SUELDO 4. Si SUELDO >= 1500 Entonces 4.1 ESCRIBIR "Aumento No Aplicado1» 5. Si no 5.1 Si SUELDO <= 100 Entonces 5.1.1 NSUELDO = SUELDO * 8.0 5.1.2 ESCRIBIR NSUELDO 5.2 Si no SUELDO <= 600 Entonces 5.1.1 NSUELDO = SUELDO * 3.0 5.1.2 ESCRIBIR NSUELDO 5.3 Si no SUELDO > 600 Entonces 5.2.1 NSUELDO = SUELDO * 4.0 5.2.2 ESCRIBIR NSUELDO 5.4 Fin Si 6. Fin Si 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 85
  • 85. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?PHP SSUELDO = 100; if (SSUELDO >= 1500) { print "Aumento No Aplicado"; } else { if (SSUELDO <= 100) { G r u p o E d i t o r i a l M e g a b y t e
  • 86. Capítulo 2: Estructuras lógicas selectivas SNSUELDO = $SUELDO * 8.0; print "Nuevo Sueldo: print SNSUELDO; }else if (SSUELDO <= 600) { SNSUELDO = SSUELDO * 3.0; print "Nuevo Sueldo:"; print SNSUELDO; }else if (SSUELDO > 600) { SNSUELDO = SSUELDO * 4.0; print "Nuevo Sueldo:"; print SNSUELDO; } } Resultado PHP en WEB 1 Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: G r u p o E d i t o r i a l M e g a b y t e 87
  • 87. Algoritmos y Diagramas de Flujo aplicados en PHP IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si es menor igual <= con el valor 500, si coincide mostramos entre {} el resultado mensaje. if (SSUELDO >= 1500) { print "Aumento no Aplicado"; } else { //..... } ELSE sino coincide calculamos con la segunda condición y si coincide procesamos la cantidad ingresada: if (SSUELDO <= 100) { SNSUELDO = SSUELDO * 8.0; print "Nuevo Sueldo:"; print SNSUELDO; }else if (SSUELDO <= 600) { SNSUELDO = SSUELDO * 3.0; print "Nuevo Sueldo:"; print SNSUELDO; Jelse if (SSUELDO > 600) { SNSUELDO = SSUELDO * 4.0; print "Nuevo Sueldo:"; print SNSUELDO; } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Nuevo Sueldo:"; print SNSUELDO; 88 G r u p o E d i t o r i a l M e c a b y t e
  • 88. Capítulo 2: Estructuras lógicas selectivas Ejem plo 11 Construya un pseudocódigo, donde se ingresen tres cantidades y estas se ordenen de mayor a menor. Algoritmo: 1. Iniciar proceso 2. Declarar Variables A, B, C : Entero 3. Leer A, B. C 4. Sí A B Entonces Si A > C Entonces Si B > C Entonces Escribir A, B, C Sino Escribir A, C, B FinSi Sino Escribir C, A, B Fin_Si 5. Si no Si B > C Entonces Si A ^ C Entonces Escribir B, A y C Sino Escribir B, C y A FinSi Sino Escribir C, B y A FinSi 6. Fin 7. Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 89
  • 89. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP $A = 4; $B = 9; $C = 6; if ($A > $B) { if ($A > $C) { 90 G r u p o E d i t o r i a l M e g a b y t e
  • 90. Capítulo 2: Estructuras lógicas selectivas if ($B > $C) { print "$A <br>"; print "$B <br>"; print "$C <br>"; } else { print "$A <br>"; print "$C <br>"; print "$B <br>"; } } else { print "$C <br>"; print ’ $A <br>"; print "SB <br>"; } } else { if ($B >$C ) { if ($A >$C) ■ print "$B <br>"; print "$A <br>"; print "$C <br>"; } else { print "$B <br>"; print "$C <br>"; print " $A <br>"; } } else { print "$C <br>"; print "$B <br>"; print "$A <br>"; G r u p o E d i t o r i a l M e g a b y t e 91
  • 91. Algoritmos y Diagramas de Flujo aplicados en PHP ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si A es mayor > que B ELSE sino coincide calculamos con la segunda condición y si coincide procesamos el valor ingresado, de esta manera se trata de comparar cual es mayor. if ($A > $B) { II... } else { II. G r u p o E d i t o r i a l M e g a b y t e
  • 92. Capítulo 2: Estructuras lógicas selectivas El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "$A <br>"; print "$B <br>"; print "$C <br>"; E jem plo 12 Construya un pseudocódigo, que lea una nota de un alumno universitario y que muestre un mensaje de acuerdo al promedio de su nota: - Descalificado (10), -Aprobado (11), - Bueno (15), - Excelente (18) - Muy Excelente (20). Algoritmo: 1. Iniciar proceso 2. Declarar Variables Nota : Entero 3. Leer Nota 4. Si Nota <=10 Entonces Escribir Descalificado. 5. Si no Si Nota >= 11 y Nota <= 14 Entonces Escribir Aprobado FinSi 6. Si no Si Nota >= 15 y Nota <= 17 Entonces Escribir Bueno FinSi G r u p o E d i t o r i a l M e g a b y t e 93
  • 93. Algoritmos y Diagramas de Flujo aplicados en PHP 94 G r u p o E d i t o r i a l M e c a b y t e
  • 94. Capítulo 2: Estructuras lógicas selectivas Codificación en PHP <?PH P SNOTA = 18; if ($NOTA <= 10) { print "Descalificado"; }elseif (SNOTA >= 11 and SNOTA <= 14){ print "Aprobado"; }elseif (SNOTA >= 15 and SNOTA <= 17){ print "Bueno"; Jelseif (SNOTA >= 18 and SNOTA <= 19){ print "Excelente"; Jelseif (SNOTA = 20){ print "Muy Excelente"; } ?> Resultado PHP en WEB G r u p o E d i t o r i a l M e g a b y t e 95
  • 95. Algoritmos y Diagramas de Flujo aplicados en PHP Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $NOTA = 18; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si Nota es menor > igual = que 10. if ($NOTA >= 10) { //..... } else { //..... } ELSE sino coincide calculamos con la segunda condición y si coincide procesamos la cantidad ingresada, nótese que estamos utilizando AND para verificar si la nota esta en un rango de numérico. elseif (SNOTA >= 18 and SNOTA <= 19) El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Muy Excelente"; Ejem plo 13 Construya un pseudocódigo, que muestre un mensaje si un numero es par o impar, y si el valor ingresado no es numero mostrar otro mensaje Ingrese un numero. Algoritmo: 1. Iniciar proceso 2. Declarar Variables NUMERO : Entero 96 G r u p o E d i t o r i a l M e g a b y t e
  • 96. Capítulo 2: Estructuras lógicas selectivas 3. LEER NUMERO 4. Si NUMERO > 0 Entonces Si (NUMERO MOD 2)=0 Entonces Escribir ‘Número ingresado es Par’ Sino Escribir ‘Número ingresado es Impar’ Fin_Si 5. Sino 6. Escribir ‘Ingrese un Numero’ 7. F inS i 8. Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e 97
  • 97. Algoritmos y Diagramas de Flujo aplicados en PHP Codificación en PHP <?PHP $NUMERO = 18; if ($NUMERO > 0) { if ($NUMERO % 2 == 0) { print "Numero Par"; }else{ print "Numero Impar"; } }else{ print "Ingrese un Numero"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: 98 G r u p o E d i t o r i a l M e g a b y t e
  • 98. Capítulo 2: Estructuras lógicas selectivas «NUMERO = 18; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si NUMERO es mayor > que 0, si el valor ingresa no es numérico mostrara un mensaje de alerta. if («NUMERO > 0) { //..... } else { //..... } Si coincide calculamos el resto de la división % entre 2 y lo comparamos = a 0, si el resto de la división es igual a 0 cero es par caso contrario es impar. («NUMERO % 2 == 0) El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Ingrese un Numero"; Ejem plo 14 Construya un pseudocódigo que lea las edades de 2 niños y determine cuál es el mayor y cual es el menor. Debe validar que si la edad es mayor que 10 no es considerado niño. Algoritmo: Iniciar proceso Declarar Variables EDAD1, EDAD2 : Entero G r u p o E d i t o r i a l M e g a b y t e 99
  • 99. Algoritmos y Diagramas de Flujo aplicados en PHP Leer EDAD 1, EDAD2 Si EDAD1< 10 or EDAD2 < 10 Entonces Si EDAD1 <> EDAD2 Entonces Si EDAD1 > EDAD2 Entonces Escribir Él mayor es EDAD 1 Escribir El menor es EDAD2 Sino Escribir El mayor es EDAD2 Escribir El menor es EDAD1 Fin Si Sino Escribir ‘Las edades son iguales’ Fin_Si Sino Escribir ‘Una de la edades es mayor a 10’ FinSi Terminar el proceso Diagrama de flujo 100 G r u p o E d i t o r i a l M e g a b y t e
  • 100. Capítulo 2: Estructuras lógicas selectivas Codificación en PHP <?PHP SEDAD 1 = 5; SEDAD2 = 3; if (SEDAD1 < 10 OR SEDAD2 < 10) { if (S E D A D l.o EDAD2) { if (SEDAD1 > EDAD2) { print "Edad mayor SEDAD1 <BR>"; print "Edad menor SEDAD2 <BR>"; }else{ print "Edad mayor SEDAD2 <BR>"; G r u p o E d i t o r i a l M e g a b y t e 101
  • 101. Algoritmos y Diagramas de Flujo aplicados en PHP print "Edad menor SEDAD3 <BR>"; } }else{ print "Edades iguales"; } }else{ print "Una de las edades es mayor a 10"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SEDAD1 = 5; SE D A D 2 = 3; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si algunas de las edades es mayor a 10. 102 G r u p o E d i t o r i a l M e g a b y t e
  • 102. Capítulo 2: Estructuras lógicas selectivas if ($EDAD1 < 10 OR $EDAD2 < 10) { //..... } else { //..... } Utilizamos OR para verificar si una de las edades es mayor a 10 if ($EDAD1 < 10 OR $EDAD2 < 10) El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Edad mayor SEDAD1 <BR>"; print "Edad menor $EDAD2 <BR>"; Ejemplo 15 Construya un pseudocódigo que permita ingresar 3 números y mostrar un mensaje cuando unos de ellos se repitan y otro mensaje si no existen repetidos. Algoritmo: Iniciar proceso Declarar Variables NUM1 : Carácter NUM2 : Carácter NUM3 : Carácter Leer NUM1, NUM2, NUM3' Si NUM1 = NUM2 O NUM1 = NUM3 O NUM2 = NUM3 Entonces Escrbir ‘Existe un par de números iguales’ Si no Escrbir ‘Ninguno Repetido’ Fin Si Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 103
  • 103. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?PH P SNUM1 = 5; $NUM2 = 3; $NUM3 = 3; if ($NUM1 == $NUM2 OR $NUM1 == $NUM3 OR $NUM3 == $NUM2) { print "Existe un par de números repetidos"; }else{ print "Ninguno Repetido"; } ?> 104 G r u p o E d i t o r i a l M e g a b y t e
  • 104. Capítulo 2: Estructuras lógicas selectivas Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SNUM1 = 5; SNUM2 = 3; $NUM3 = 3; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si algunos de los números son iguales. if ($NUMI == $NUM2 OR $NUM1 == $NUM3 OR $NUM3 == $NUM2) { //..... } else { //..... } Utilizamos OR para verificar si unos de los pares de números son iguales SNUM1 == $NUM2 OR $NUM1 == $NUM3 OR $NUM3 == SNUM2 G r u p o E d i t o r i a l M e g a b y t e 105
  • 105. Algoritmos y Diagramas de Flujo aplicados en PHP El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Existe un par de números repetidos"; E jem plo 16 Construya un pseudocódigo que lea tres números enteros por teclado y emita un mensaje indicando si están o no ordenados de menor a mayor y validar que solo ingresen números. Algoritmo: Iniciar proceso Declarar Variables NUM 1, NUM2, NUM3: Entero Leer NUM1, NUM2, NUM3 Si NUM 1 > 0 y NUM2 > 0 y NUM3 > 0 Entonces Si NUM1 < NUM2 Y NUM2 < NUM3 Entonces Escribir ‘Ordenados de menor a mayor’ Si no Escribir ‘No están ordenados’ Fin Si Si no Escribir ‘Ingrese solo números’ Fin Si Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e
  • 106. Capitulo 2: Estructuras lógicas selectivas Codificación en PHP <?PHP SNUM1 = 5; SNUM2 = 6; $NUM3 = 7; if (SNUM1 > 0 and SNUM2 > 0 and SNUM2 >0) { if (SNUM1 < SNUM2 and $NUM2 < $NUM3 ) { print "Ordenados de menor a mayor"; }else{ print "No ordenados"; G r u p o E d i t o r i a l M e g a b y t e 107
  • 107. Algoritmos y Diagramas de Flujo aplicados en PHP }else{ print "Ingrese solo números"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $NUM1 = 5; $NUM2 = 6; $NUM3 = 7; IF iniciamos la condición luego encerramos entre paréntesis () la variable y comparamos si algunos de los números son mayores a 0. G r u p o E d i t o r i a l M e g a b y t e
  • 108. Capítulo 2: Estructuras lógicas selectivas if ($NUM1 > O and SNUM2 > Oand $NUM2 >0) { //..... } else { //..... } Utilizamos AND para verificar que todos cumplan la condición caso contrario mostrara un mensaje, sino realizara la segunda condición y verificara si están ordenados de menor a mayor comparando si el último número es mayor y el primero es menor: if ($NUM1 < $NUM2 and $NUM2 < SNUM3 ) { //..... } else { //..... } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "No ordenados"; La estructura de selección múltiple La estructura de selección múltiple permite que el flujo del programa se bifurque por varias ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector. Así, si el selector toma el valor 1 se ejecutará la accción 1, si toma el valor 2 se ejecutará la acción 2, si toma el valor N se realizará la acción N, y si toma un valor distinto de los valores comprendidos entre 1y N, se continuará con el flujo normal del diagrama realizándose la acción N+1. Ejemplo 17 Construya un pseudocódigo que pida dos números enteros y muestre por pantalla el siguiente menú: G r u p o E d i t o r i a l M e g a b y t e 109,,
  • 109. Algoritmos y Diagramas de Flujo aplicados en PHP MENÚ 1. Sumar 2. Restar 3. Multiplicar 4. Dividir Elija una opción: El usuario deberá elegir una opción y el programa deberá mostrar el resultado y finalizar. Algoritmo: Iniciar proceso Declarar Variables A, B, Opción : Entero R : Real Leer A,B Escribir MENU 1. Sumar 2. Restar 3. Multiplicar 4. Dividir Elija opción: Leer Opción Leer A, B En caso de Opción Caso 1: R = A + B Caso 2: R = A - B Caso 3: R = A * B Caso 4: R = A / B Fin_Caso Escribir R Terminar el proceso 110 G r u p o E d i t o r i a l M e g a b y t e
  • 110. Capítulo 2: Estructuras lógicas selectivas Diagrama de flujo Codificación en PHP <?PHP $A = 5; $B = 6; $MENU = 3; switch (SMENU) { G r u p o E d i t o r i a l M e g a b y t e 111/
  • 111. Algoritmos y Diagramas de Flujo aplicados en PHP case 1: $R = $A + $B; echo "Resultado $R"; break; case 2: SR = SA - $B; echo "Resultado $R"; break; case 3: $R = $A * $B; echo "Resultado $R"; break; case 4: $R = $A / $B; echo "Resultado $R"; break; Resultado PHP en WEB 112 G r u p o E d i t o r i a l M e g a b y t e
  • 112. Capítulo 2: Estructuras lógicas selectivas Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $A = 5; $B = 6; SMENU = 3; switch evalúa y compara cada expresión de la sentencia case: switch ($MENU) { case 1: 11... case 2: 11... case 3: 11.. case 4: 11.... } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: echo "Resultado $R"; Ejem plo 18 Construya un pseudocódigo , qué valide la fecha de nacimiento de una persona, considere que el año válido sea mayor a 1900. Algoritmo: Iniciar proceso Declarar Variables DD, MM, AA, NDias : Entero G r u p o E d i t o r i a l M e g a b y t e 111,
  • 113. Algoritmos y Diagramas de Flujo aplicados en PHP Leer DD, MM, AA En caso de MM Caso 1 : TDias = 31 Caso 2 : Si (AA Mod 4 =0 Y AA MOD 400 = 0) O (AA Mod 400 =0) Entonces FinSi Caso 3 : TDias = 31 Caso 4 : TDias = 30 Caso 5 : TDias = 31 Caso 6 : TDias = 30 Caso 7 : TDias = 31 Caso 8 : TDias = 31 Caso 9 : TDias = 30 Caso 10 : TDias = 31 Caso 11 : TDias = 30 Caso 12 : TDias = 31 FinCaso Si AA>1900 Y (MM>0 Y MM<=12) Y (DD>0 Y DD<=TDias) Hacer TDias = 29 Sino Hacer TDias = 28 Escribir ‘Fecha válida’ Si no Escribir ‘Fecha no válida’ Fin Si Terminar el proceso Diagrama de flujo c INICIO /:DD, MM, AA T 114 G r u p o E d i t o r i a l M e g a b y t e
  • 114. Capítulo 2: Estructuras lógicas selectivas Codificación en PHP <?PHP $DD = 16; $MM = 5; $AA = 1778; switch ($MM) { case 1: $TD1AS = 31; break; G r u p o E d i t o r i a l M e g a b y t e 115
  • 115. Algoritmos y Diagramas de Flujo aplicados en PHP case case case case case case case case case case case if (($AA % 4 = O and $AA % 400 == 0) or ($AA % 400==0)){ STDias = 29; }else{ STDias = 28; } break; 3: STDIAS = 31; break; 4: STDIAS = 30; break; 5: STDIAS = 31; break; 6: STDIAS = 30; break; 7: STDIAS = 31; break; 8: STDIAS = 31; break; 9: STDIAS = 30; break; 10:STDIAS = 31; break; U:$TDIAS = 30; break; 12:STDIAS = 31; break; 116 G r u p o E d i t o r i a l M e g a b y t e
  • 116. Capítulo 2: Estructuras lógicas selectivas if($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and $DD <= $TDIAS)){ print "Fecha válida"; }else{ print "Fecha no válida"; } ?> Resultado PHP en WEB Explicación PHP PHP inicia con la etiqueta <?PHP y tennina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: $DD = 16; $MM = 5; $AA = 1778; switch evalúa y compara cada expresión de la sentencia case: switch ($MM) { G r u p o E d i t o r i a l M e g a b y t e 117
  • 117. Algoritmos y Diagramas de Flujo aplicados en PHP case 1: 11... case 2: 11... case 3: 11.. case 4: 11.... } El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: print "Fecha válida"; print "Fecha no válida"; Para febrero tratamos de definir cuantos días tiene el mes con la siguiente condición: if (($AA % 4 == 0 and $AA % 400 == 0) or ($AA % 400==0)){ STDias = 29; }else{ STDias = 28; } Al final validamos si el año es mayor de 1900 con la siguiente condición, nótese que también estamos validando el mes y el día: if($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and $DD <= $TDIAS)){ print "Fecha válida"; }else{ print "Fecha no válida"; } 118 G r u p o E d i t o r i a l M e g a b y t e
  • 118. Capítulo III Estructuras Lógicas Repetitivas Ob jetivo s: En este capitulo usted aprender a desarrollar Algoritmos Avanzado basados en lógicas repetitivas, para luego plasm arlo en un Diagram as de flujo y aplicarlo en el lenguaje PHP Contendió: Estructura Hacer Mientras Estructura Mientras Estructura Desde Ejemplos Algoritmos y Diagramas de flojo Aplicados en PHP
  • 119.
  • 120. Capítulo 3: Estructuras lógicas repetitivas Es muy común encontrar en los algoritmos operaciones que se deben ejecutar un número repetido de veces. Si bien las instrucciones son las mismas, los datos sobre los que se opera varían. El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo. Todo ciclo debe terminar de ejecutar luego de un número finito de veces, por lo que es necesario en cada interacción del mismo, evaluar las condiciones necesarias para decidir si debe seguir ejecutándose o debe detenerse. En todo ciclo, siempre debe existir una condición de parada o fin de ciclo. En algunos algoritmos podemos establecer a priori que el ciclo se repetirá un número definido de veces. Es decir, el número de repeticiones no dependerá de las proposiciones dentro del ciclo. Llamaremos Desde a la escritura algorítmica repetitiva que se ejecuta un núméro definido de veces. Por otra parte, en algunos algoritmos no podemos establecer a priori el número de veces que ha de ejecutar el ciclo, sino que este número dependerá de las proposiciones dentro del mismo. Llamaremos mientras a la estructura algorítmica repetitiva que se ejecuta mientras la condición evaluada resulta verdadera. TambiéN tenemos la estructura Hacer Mientras. En la práctica tanto la estructura Hacer Mientras como la estaictura Mientras se pueden usar indistintamente para obtener un resultado. G r u p o E d i t o r i a l M e g a b y t e fiBBI
  • 121. Algoritmos y Diagramas de Flujo aplicados en PHP Estructura Hacer Mientras La estructura Hacer Mientras como lo señalamos anteriormente, es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutará un número definido de veces. Por ejemplo cuando necesitamos calcular la nómina total de la empresa, tenemos que sumar los sueldos de los N empleados de la misma. Cuando necesitamos obtener el promedio de calificaciones de un curso, debemos sumar las N calificaciones de los alumnos y dividir esa suma entre N. Es decir, sabemos de antemano cuántas veces tenemos que repetir una determinada operación, acción o tárea. El número de repeticiones no depende de las proposiciones dentro del ciclo. El número de veces se obtiene del planteamiento del problema o de una lectura que indica que el número de iteraciones se debe realizar para N ocurrencias. La sintaxis para esta estructura es la siguiente: H acer {Proceso} M ientras (Condición) {Fin del ciclo} Proceso, es cualquier operación o conjunto de operaciones que deban ejecutarse mientras se repita el ciclo. El ciclo se repetirá siempre que la Condición sea verdadera, es decir se cumplirá hasta que la Condición sea falsa. Esta estructura garantiza por lo menos una iteración del bloque de proceso, debido a que primero realiza el proceso y al final evalúa la condición. 122 G r u p o E d i t o r i a l M e g a b y t e
  • 122. Capítulo 3: Estructuras lógicas repetitivas Muchas veces usaremos esta estructura con el uso de un contador, y la condición estará ligada a dicho contador, obteniendo así la siguiente sintaxis: V = Vi Hacer {proceso} Calcular V = V + INC Mientras que (Condición) {Fin del ciclo} Donde V : es una variable de control Vi : es el valor inicial. INC : es el incremento V (contador del ciclo, generalmente representado por las letras I, J, K, V) toma un valor inicial (Vi) y se compara con el valor esperado en la condición. El ciclo se ejecuta hasta que la condición sea verdadera. El valor de V se incrementa en cada iteración. El incremento de INC por lo general es en un unidad, pero eso depende mucho de la naturaleza del problemas, veremos casos en que el incremento será de dos unidades o de tres unidades, etc , en general podremos tener un incremento en X unidades, donde X es un número entero. No es una regla que los valores Vi, V, VF e INC sean enteros, veremos casos en que será necesario un aumento de 0.02 por ejemplo, en ese caso dichas variables tendrán que ser reales. En resumen las variables de control son enteras o son reales o cualquier otro tipo, pero no pueden ser una mezcla de ambas. Por otro lado 110 siempre tendremos incrementos, si no decrementos, en este caso el algoritmo sufre un pequeño cambio, como mostramos a continuación. V=Vi Hacer G r u p o E d i t o r i a l M e g a b y t e 123
  • 123. Algoritmos v Diagramas de Flujo aplicados en PHP {proceso} Calcular V = V - INC M ientras (Condición) {Fin del ciclo} E jem plo 1 Escriba un pseudocódigo, donde ingresado los sueldos de 10 obreros de una fabrica, obtenga el total de los sueldos de la misma. Pseudocódigo: Iniciar proceso Declarar Variables I : Entero TOTAL,SUELDO : Real Hacer 1 = 0 TOTAL = 0 Hacer Leer SUELDO Calcular TOTAL = TOTAL + SUELDO 1 = 1 + 1 Mientras 1< 10 Escribir TOTAL Terminar el proceso Codificación en PHP <?php SSUELDO = 600; SI = 0; STOTAL = 0; 124 G r u p o E d i t o r i a l M e g a b y t e
  • 124. Capítulo 3: Estructuras lógicas repetitivas do { STOTAL = STOTAL + SSUELDO; SI = SI + 1; } while (SI < 10); echo "Total de sueldos <br>"; echo STOTAL; ?> Diagrama de flujo G r u p o E d i t o r i a l M k g a b y t e 125
  • 125. Algoritmos y Diagramas de Flujo aplicados en PHP Resultado PHP en WEB Explicación PHP PHP trabaja con valores enviados desde un formulario en modo Get y Post ó por enlace URL, en este ejemplo usted colocara los valores en el código para que sea procesado. PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SSUELDO = 600; SI = 0; STOTAL = 0; El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: echo "Total de sueldos <br>"; Si solo imprimirá el resultado no es necesario encerarlo entre comillas, ejemplo: echo STOTAL; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. 126 G r u p o E d i t o r i a l M e g a b y t e
  • 126. Capítulo 3: Estructuras lógicas repetitivas El do ... while permite repetir una secuencia mientras $1 sea menor que < 10, dentro de este bucle sumar una cantidad hasta 10 veces donde todo se acumulara en STOTAL, también utilizamos el bucle para contar $1 el cual permitirá indicarle al while que se detenga cuando este sea menor <10, si no se define el $1, el bucle se repetirá indefinidamente: do { STOTAL = STOTAL + SSUELDO; SI = $1 + 1; } while (SI < 10); Ejem plo 2 Escriba un pseudocódigo, que muestre la lista de años desde 1995 hasta el 2005, y al finalizar muestre un mensaje de lista finalizada. Pseudocódigo: Iniciar proceso Declarar Variables I : Entero ANIO: Real Hacer Leer ANIO Calcular ANIO= ANIO + 1 1= 1+1 Escribir ANIO Mientras I < 10 Escribir Lista Fianlizada Terminar el proceso G r u p o E d i t o r i a l M e g a b y t e 127
  • 127. Algoritmos y Diagramas de Flujo aplicados en PHP Diagrama de flujo Codificación en PHP <?php , SANIO = 1995; O II do { SANIO = SANIO + 1; echo "SANIO <br>"; SI = SI + i; 128 G r u p o E d i t o r i a l M e g a b y t e
  • 128. Capítulo 3: Estructuras lógicas repetitivas } while ($ 1 < 10); echo "Lista Finalizada"; ? > Explicación PHP PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo y luego ingresamos el valor para cada variable entre comillas y finalizando con ejemplo: SANIO = 1995; SI = 0; G r u p o E d i t o r i a l M e g a b y t e 129
  • 129. Algoritmos y Diagramas de Flujo aplicados en PHP El print permite imprimir los valores ó comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo: echo "SANIO <br>"; echo "Lista Finalizada"; la etiqueta html <br> es para dar un salto de línea y de esta manera evitara que se vea todo en una línea. El do ... while permite repetir una secuencia mientras $1 sea menor que < 10, dentro de este bucle sumara los años hasta 10 veces y los ira mostrando uno por uno echo "SANIO <br>";, también utilizamos el bucle para contar $1 el cual permitirá indicarle al while que se detenga cuando este sea menor <10, si no se define el $1, el bucle se repetirá indefinidamente: do { SANIO = SANIO + 1; echo "SANIO <br>"; SI = SI + 1; } while ($1 < 10); Ejemplo 3 Escriba un pseudocódigo, que cuente del 1 al 20 cuantos números son divisibles entre 2 y muestre cuales son los números. Pseudocódigo: Iniciar proceso Declarar Variables I : Entero N: Entero CONT: Entero 130 G r u p o E d i t o r i a l M e g a b y t e
  • 130. Capítulo 3: Estructuras lógicas repetitivas Hacer Si N MOD 2 = 0 entonces Escribir N CONT = CONT + 1 Finsi 1= 1+1 N = N + 1 Mientras I < 20 Escribir Total de números divisibles entre 2: CONT Terminar el proceso Diagrama de flujo G r u p o E d i t o r i a l M e g a b y t e 131