Está en la página 1de 48

COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.

​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA


“JEAN​ ​PEAGET”
Acuerdo​ ​Ministerial​ ​No.​ ​200-09

Quito​ ​–​ ​Ecuador

1ro​ ​INF​ ​(03)


PROGRAMACIÓN​ ​Y​ ​BASES​ ​DE
DATOS
Lógica​ ​de​ ​Programación
Estudiante:​ ​……………………………….
e-mail:​ ​…………………………………
Móvil:​ ​……………….

www.educaciononline.edu.ec 1
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

ÍNDICE

LÓGICA​ ​DE​ ​PROGRAMACIÓN

UNIDAD​ ​I

1. INTRODUCCIÓN
2. QUE​ ​ES​ ​UN​ ​ALGORITMO
3. EJEMPLOS
4. POST​ ​TEST

UNIDAD​ ​II

ALGORITMOS​ ​REALIZADOS​ ​POR​ ​LAS​ ​COMPUTADORAS

PARTES​ ​DE​ ​UN​ ​ALGORITMO

1. INICIO​ ​Y​ ​FIN​.


2. DECLARACIÓN​ ​DE​ ​VARIABLES

UNIDAD​ ​III

3. ENTRADA​ ​DE​ ​DATOS


4. SALIDA​ ​DE​ ​DATOS
5. ASIGNACIÓN
1. ASIGNACIÓN​ ​EN​ ​VARIABLES​ ​NUMERICAS
2. ASIGNACION​ ​EN​ ​VARIABLES​ ​DE​ ​TIPO​ ​CADENA
3. ASIGNACION​ ​EN​ ​VARIABLES​ ​DE​ ​TIPO​ ​LOGICO
6. INSTRUCCIONES​ ​DE​ ​DECISIÓN​
1. INSTRUCCION​ ​DE​ ​DECISIÓN​ ​SI
2. INSTRUCCION​ ​DE​ ​DECISIÓN​ ​SI​ ​NO
7. INSTRUCCIONES​ ​DE​ ​REPETICIÓN
1. MIENTRAS
2. PARA
8. SUBALGORITMOS
1. FUNCIONES
2. PROCEDIMIENTOS
● ESTRUCTURAS​ ​DE​ ​DATOS
1. VECTORES
2. MATRICES
3. REGISTROS
1. VECTOR​ ​DE​ ​REGISTROS
2. MATRIZ​ ​DE​ ​REGISTROS
4. LISTAS​ ​SIMPLEMENTE​ ​LIGADAS
5. LISTAS​ ​SIMPLEMENTE​ ​LIGADAS​ ​CIRCULARES
www.educaciononline.edu.ec 2
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
6. LISTAS​ ​SIMPLEMENTE​ ​LIGADAS​ ​CIRCULARES​ ​CON​ ​REGISTRO
CABEZA​.
7. LISTAS​ ​DOBLEMENTE​ ​LIGADAS

www.educaciononline.edu.ec 3
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

UNIDAD​ ​I
INTRODUCCIÓN

En la actualidad las computadoras se han convertido en una de las


herramientas más importantes en todas las actividades humanas. Por las
grandes cantidades de información que procesan a unas velocidades que el ser
humano​ ​no​ ​podría​ ​igualar.
De aquí la importancia de aprender a manejar dicha herramienta pero lo más
importante es desarrollar la habilidad de resolver problemas con la utilización
de​ ​las​ ​computadoras.​ ​Espero​ ​que​ ​este​ ​trabajo ​ ​sirva​ ​a​ ​ese​ ​propósito.

QUE​ ​ES​ ​UN​ ​ALGORITMO

Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le


damos​ ​solución​ ​a​ ​un​ ​problema​ ​determinado.

En la vida diaria cada uno de nosotros diseña y realiza algoritmos para


solucionar los problemas cotidianos, es así que al levantarnos de la cama ya
tenemos en la mente una serie de pasos que debemos seguir para llegar al sitio
de estudio o al sitio de trabajo. Una vez en el sitio de estudio, tenemos en
nuestra mente una serie de tareas que debemos realizar en unos horarios ya
definidos.

Si quisiéramos realizar una comida especial, en nuestra mente construimos un


algoritmo o serie de pasos que debemos seguir en un orden específico para que
todo nos salga como queremos. Si quisiéramos transcribir estos pasos en una
hoja de papel, para que otra persona realizará las mismas tareas y obtenga el
mismo resultado que nosotros, debemos seguir una serie de normas para que
esta otra persona nos entienda. Por ejemplo debe estar escrito en el idioma que
ella comprende, se deben enumerar los pasos etc. Las normas que se deben
seguir al momento de transcribir el algoritmo depende de quien será el
encargado de ejecutarlo, por ejemplo si quisiéramos escribir la receta para que
la ejecute una persona adulta las normas serán diferentes a las que debemos
seguir​ ​si​ ​quisiéramos​ ​escribir​ ​la​ ​receta​ ​para​ ​que​ ​le​ ​ejecute​ ​una​ ​niña.

www.educaciononline.edu.ec 4
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
CARACTERÍSTICAS​ ​DE​ ​LOS​ ​ALGORITMOS

1.​ ​Un​ ​algoritmo​ ​debe​ ​ser​ ​preciso​ ​e​ ​indicar​ ​el​ ​orden​ ​de​ ​realización​ ​de​ ​cada​ ​paso.

2. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe


obtener​ ​el​ ​mismo​ ​resultado​ ​cada​ ​vez.

3. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en


algún​ ​momento,​ ​o​ ​sea​ ​debe​ ​tener​ ​un​ ​número​ ​finito​ ​de​ ​pasos.

Clasificación​ ​de​ ​los​ ​algoritmos,​ ​según​ ​quien​ ​los​ ​ejecute:

· ​ ​Algoritmos​ ​para​ ​ser​ ​ejecutados​ ​por​ ​personas​.

· ​ ​Algoritmos​ ​para​ ​ser​ ​ejecutados​ ​por​ ​las​ ​computadoras​.

ALGORITMOS​ ​PARA​ ​SER​ ​EJECUTADOS​ ​POR​ ​PERSONAS

Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera
que esta persona lo entienda claramente, algunas de las normas que debe seguir la
construcción​ ​del​ ​algoritmo​ ​son​ ​las​ ​siguientes:

● debe​ ​estar​ ​escrito​ ​en​ ​el​ ​idioma​ ​que​ ​comprende​ ​la​ ​persona​ ​que​ ​realizará​ ​el​ ​algoritmo.
● debe​ ​enumerar​ ​cada​ ​uno​ ​de​ ​los​ ​pasos​ ​a​ ​realizar​ ​en​ ​un​ ​orden​ ​lógico.
● debe utilizar palabras que comprenda claramente la persona que realizará el
algoritmo.

Algunos de los algoritmos diseñados para que sean ejecutados por personas son: las
recetas​ ​de​ ​cocina,​ ​los​ ​manuales​ ​de​ ​funcionamiento,​ ​itinerarios,​ ​guía​ ​de​ ​matricula​ ​etc.

Ejemplos​ ​de​ ​algoritmos​ ​para​ ​ser​ ​ejecutados​ ​por​ ​personas:

● Un cliente ejecuta un pedido a una fábrica. La fabrica examina en su banco de datos si


el cliente esta activo (no es moroso con sus deudas) entonces se acepta el pedido, en
caso​ ​contrario​ ​se​ ​rechaza.

1.​ ​Inicio

2.​ ​Leer​ ​el​ ​pedido

3.​ ​Examinar​ ​ficha​ ​del​ ​cliente

4.​ ​Si​ ​el​ ​cliente​ ​esta​ ​activo​ ​aceptar​ ​el​ ​pedido,​ ​en​ ​caso​ ​contrario​ ​rechazar​ ​el​ ​pedido.

www.educaciononline.edu.ec 5
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
5.​ ​terminar

Ejemplos

● Un cliente llega a una entidad bancaria para realizar una consignación, el cajero le
pide el número de la cuenta y el dinero a consignar, verifica que la cuenta si existe, si
la cuenta es valida se hace la consignación (al saldo le aumenta el dinero recibido) de
lo​ ​contrario​ ​devuelve​ ​el​ ​dinero.

1.​ ​Inicio

2.​ ​pedir​ ​número​ ​de​ ​la​ ​cuenta​ ​y​ ​el​ ​dinero

3.​ ​si​ ​la​ ​cuenta​ ​es​ ​valida​ ​siga​ ​en​ ​4​ ​de​ ​lo​ ​contrario​ ​siga​ ​en​ ​6

4.​ ​saldo=​ ​saldo​ ​+dinero

5​ ​ir​ ​a​ ​7

6​ ​devolver​ ​el​ ​dinero

7​ ​terminar

● En la taquilla de una sala de cine, se pide la identificación de los usuarios, se verifica si


es mayor de edad (mayores 17 años) si es así se cobra el valor de la entrada y se deja
pasar,​ ​en​ ​caso​ ​contrario​ ​no​ ​se​ ​deja​ ​entrar.

1.​ ​Inicio

2.​ ​Pedir​ ​cédula

3.​ ​Si​ ​la​ ​edad​ ​es​ ​mayor​ ​a​ ​17​ ​siga​ ​en​ ​4​ ​en​ ​caso​ ​contrario​ ​siga​ ​en​ ​6

4.​ ​Pedir​ ​el​ ​valor​ ​de​ ​la​ ​entrada​ ​y​ ​dejar​ ​pasar​ ​al​ ​cliente

5.​ ​siga​ ​en​ ​7

6.​ ​no​ ​dejar​ ​pasar​ ​al​ ​cliente

7.​ ​terminar

● Decir si un numero N es primo. Recuerde que un número es primo si solamente es


divisible​ ​por​ ​1​ ​y​ ​por​ ​sí​ ​mismo.

www.educaciononline.edu.ec 6
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
1​ ​Inicio

2.​ ​X=2

3.​ ​Si​ ​N​ ​/​ ​X​ ​es​ ​entero​ ​escribir​ ​el​ ​número​ ​no​ ​es​ ​primo​ ​ir​ ​a​ ​6,​ ​si​ ​no​ ​continuar

4.​ ​X​ ​=X+1

5.​ ​Si​ ​X​ ​=​ ​N​ ​escribir​ ​el​ ​numero​ ​si​ ​es​ ​primo​ ​y​ ​continuar,​ ​si​ ​no​ ​ir​ ​a​ ​3

6.​ ​terminar

Post​ ​Test​ ​1

Diseñar​ ​algoritmos​ ​que​ ​resuelvan​ ​los​ ​posibles​ ​problemas​ ​que​ ​se​ ​presentan​ ​para:

1.​ ​un​ ​retiro​ ​de​ ​dinero​ ​por​ ​parte​ ​de​ ​un​ ​cliente​ ​en​ ​una​ ​entidad​ ​bancaria

2. crear un algoritmo que describa los pasos necesarios par ir a la universidad a clase
de 6 Am tenga en cuenta que si llega 10 minutos tarde no puede entrar al salón de
clase​ ​y​ ​si​ ​al​ ​llegar​ ​no​ ​trae​ ​el​ ​carnet​ ​no​ ​puede​ ​entrar​ ​a​ ​la​ ​universidad.

3.​ ​ir​ ​al​ ​cine

4.​ ​Reparar​ ​un​ ​pinchazo​ ​de​ ​una​ ​bicicleta.

5.​ ​Hacer​ ​una​ ​llamada​ ​a​ ​un​ ​compañero.

www.educaciononline.edu.ec 7
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Unidad​ ​II
Algoritmos​ ​para​ ​ser​ ​ejecutadas​ ​por​ ​las​ ​computadoras
Los pasos para la solución de un problema utilizando como herramienta la
computadora​ ​son:
1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen a
la​ ​solución​ ​de​ ​un​ ​problema​ ​dado​ ​(análisis​ ​del​ ​problema​ ​y​ ​desarrollo​ ​del​ ​algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado
(fase de codificación). La actividad de expresar un algoritmo en forma de programa se
denomina​ ​programación.
3.​ ​Ejecución​ ​y​ ​validación​ ​de​ ​programa​ ​por​ ​la​ ​computadora.
El primer paso es el mas importante, en el se determina el problema y describimos
una posible solución, utilizando nuestra malicia, conocimientos y habilidad para dar
una​ ​solución​ ​al​ ​problema.
Si queremos hacer algoritmos para que las computadoras los ejecuten, debemos
seguir ciertas normas y ese es uno de los objetivos de este trabajo, enseñar las normas
que se deben seguir para realizar algoritmos que luego serán ejecutados por las
computadoras. El otro objetivo es darle la posibilidad de desarrollar la habilidad de
solucionar problemas, pero como todas las habilidades esta sólo se adquiere después
de​ ​hacer​ ​muchos​ ​intentos.

USO​ ​DE​ ​PROGRAMACIÓN​ ​CON​ ​SCRATCH

Módulo​ ​de​ ​scratch

PARTES​ ​DE​ ​UN​ ​ALGORITMO

INICIO​ ​Y​ ​FIN

Una de las características de los algoritmos es que deben ser finitos. Se debe
indicar​ ​claramente​ ​donde​ ​inicia​ ​y​ ​donde​ ​termina.

Para indicar donde comienza nuestro algoritmo vamos a utilizar la palabra


INICIO y para indicar donde se termina nuestro algoritmo vamos a utilizar las
palabras​ ​FIN​ ​PROGRAMA.

Ejemplo: el siguiente algoritmo, que no hace nada sólo indica donde inicia y
donde​ ​termina.

www.educaciononline.edu.ec 8
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

inicio

fin​ ​programa

DECLARACIÓN​ ​DE​ ​VARIABLES


Los datos son una parte muy importante en un algoritmo, pues son ellos el
punto de partida y son ellos quienes sufren las transformaciones que darán los
resultados deseados. Por esta razón el algoritmo debe guardar los datos en un
sitio donde los pueda leer y modificar cada vez que lo requiera. Los sitios
donde el algoritmo guarda los datos los llamaremos ESPACIOS DE MEMORIA y
el​ ​tamaño​ ​de​ ​estos ​ ​dependen​ ​del​ ​tipo​ ​de​ ​dato​​ ​que​ ​se​ ​quiera​ ​guardar​ ​en​ ​ellos.
Además si se tienen varios datos se debe tener la posibilidad de diferenciarlos
de una manera que no se presenten confusiones asignándoles un ​identificador
válido​​ ​y​ ​único​ ​a​ ​estos​ ​espacios​ ​de​ ​memoria.
Un espacio de memoria se denomina VARIABLE cuando su contenido puede
variar en el tiempo y de CONSTANTE cuando no se permite que su contenido
varié.
Lo primero que se hace en al algoritmo es declarar las variables. Donde se
separan los espacios de memoria del tamaño indicado según el tipo de dato que
guardarán y asignándoles un nombre o identificador válido, con el cual nos
referiremos​ ​a​ ​la​ ​información​ ​que​ ​se​ ​guarda​ ​en​ ​dicho​ ​espacio​ ​de​ ​memoria.

Para​ ​declarar​ ​las​ ​variables​ ​se​ ​hará​ ​de​ ​la​ ​siguiente​ ​forma:
variable​ ​=​ ​tipo_variable
x=entero;​ ​nombre​ ​=​ ​cadena

Post​ ​test​ ​2​ ​(problemas​ ​propuestos)


1. hacer un algoritmo que declare una variable para guardar el número de meses del
año​ ​y​ ​otra​ ​variable​ ​para​ ​guardar​ ​el​ ​porcentaje​ ​de​ ​meses​ ​que​ ​tienen​ ​30​ ​o​ ​31​ ​días.
2. hacer un algoritmo que declare una variable para guardar el número de horas de
estudio,​ ​y​ ​otra​ ​para​ ​guardar​ ​el​ ​nombre.
3. hacer un algoritmo que declare una variable para guardar cuantas materias se han
perdido​ ​en​ ​el​ ​semestre​ ​y​ ​otra​ ​para​ ​guardar​ ​el​ ​porcentaje​ ​de​ ​materias​ ​ganadas.

www.educaciononline.edu.ec 9
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
4. hacer un algoritmo que declare una variable para guardar el promedio del
semestre, otra para guardar el nombre de un estudiante y otra para guardar el
número​ ​de​ ​notas​ ​perdidas.
5. hacer un algoritmo que declare una variable para guardar el nombre de una
persona, otra para guardar la comida preferida y otra para guardar la cantidad de
dinero​ ​que​ ​posee.
6. hacer un algoritmo que declare una variable para guardar el nombre de un
animal, otra para guardar la comida preferida y otra para guardar la cantidad de
patas​ ​que​ ​tiene.
7. hacer un algoritmo que declare una variable para guardar el nombre de un
deportista, otra para guardar la distancia recorrida y otra para guardar la
cantidad​ ​de​ ​intentos.

www.educaciononline.edu.ec 10
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

UNIDAD​ ​III
ENTRADA​ ​DE​ ​DATOS

Cuando un algoritmo requiera que el usuario ingrese datos, se utilizará la


instrucción LEA y la variable o la lista de variables donde se guardarán los
datos​ ​ingresados​ ​por​ ​el​ ​usuario.

Lea​ ​variable1

Lea​ ​variable1,​ ​variable2,variableN


de​ ​esta​ ​forma​ ​se​ ​podrá​ ​tener​ ​la​ ​siguiente​ ​instrucción:

Lea​ ​X,​ ​Y,​ ​Z

donde se le pide al usuario que entre tres datos el primero de los cuales se
guarda en el espacio de memoria que tiene identificador X, el segundo se
guardará en el espacio de memoria que tiene identificador Y y el tercero se
guardará​ ​en​ ​el​ ​espacio​ ​de​ ​memoria​ ​que​ ​tiene​ ​identificador​ ​Z.

Post​ ​Test​ ​3​ ​(PROBLEMAS​ ​PROPUESTOS)


1. hacer un algoritmo que lea el número de meses del año y la cantidad de meses
que​ ​se​ ​trabajan.
2. hacer un algoritmo que lea el nombre de una persona y número de horas que
estudia​ ​en​ ​la​ ​semana.
3. hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias
perdidas​ ​y​ ​el​ ​porcentaje​ ​de​ ​materias​ ​ganadas.
4. hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre
y​ ​el ​ ​número​ ​de​ ​notas​ ​perdidas.
5. hacer un algoritmo que lea el nombre de una persona, la comida preferida y la
cantidad​ ​de​ ​dinero​ ​que​ ​posee.
6. hacer un algoritmo que lea el nombre de un animal, la comida preferida y la
cantidad​ ​de​ ​patas​ ​que​ ​tiene.
7. hacer un algoritmo que lea el nombre de un deportista, la distancia recorrida y la
cantidad​ ​de​ ​intentos.

www.educaciononline.edu.ec 11
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

SALIDA​ ​DE​ ​DATOS

si el algoritmo requiere mostrar la información que tiene guardada en


variables (espacio de memoria) hacia el exterior (para el usuario final), se
utilizará la instrucción MOSTRAR y la variable o la lista de variables donde se
guardan​ ​los​ ​datos​ ​que​ ​se​ ​quieren​ ​mostrar.

Mostrar​ ​variable1

Mostrar​ ​variable1,​ ​variable2,​ ​variableN

la instrucción siguiente mostrará al usuario la información que se tiene


guardada​ ​en​ ​la​ ​variables​ ​X,​ ​Y​ ​y​ ​Z.

MOSTRAR​ ​ ​X,​ ​Y,​ ​Z

también se puede pasar información directamente (que no esta guardada en


variables)​ ​para​ ​construir ​ ​mensajes​ ​de​ ​la​ ​siguiente​ ​manera:

MOSTRAR​ ​("hola​ ​como​ ​estas")

el anterior mensaje mostrará al usuario un mensaje que contiene la cadena


"hola​ ​como​ ​estas.

Post​ ​Test​ ​4​ ​(PROBLEMAS​ ​PROPUESTOS)


1. hacer un algoritmo que lea el nombre de un trabajador, la cantidad de meses que
trabajo​ ​en​ ​el​ ​año​ ​y​ ​muestre​ ​el​ ​nombre​ ​y​ ​el​ ​porcentaje​ ​de​ ​meses​ ​trabajados.
2. hacer un algoritmo que lea el nombre de una persona, el número de horas que
estudia en la semana y muestre el porcentaje de tiempo que dedica a estudiar y la
cantidad​ ​de​ ​minutos​ ​que​ ​dedica​ ​a​ ​estudiar.
3. hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias
que cursa en el semestre, la cantidad de materias perdidas y muestre el nombre y
el​ ​porcentaje​ ​de​ ​materias​ ​ganadas.

www.educaciononline.edu.ec 12
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
4. hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre,
el número de materias perdidas, la suma de todas las notas y muestre la cantidad
de​ ​materias​ ​que​ ​gano.
5. hacer un algoritmo que lea el nombre de una persona, la comida preferida con su
precio, la cantidad de dinero que posee y muestre la cantidad de comidas que
puede​ ​comprar​ ​con​ ​el​ ​dinero​ ​que​ ​posee.
6. hacer un algoritmo que lea el nombre de un animal, la comida preferida, el
número de porciones que come al día, el valor de la porción y muestre el nombre
del​ ​animal​ ​y​ ​el​ ​costo​ ​de​ ​alimentarlo​ ​en​ ​el​ ​día.
7. hacer un algoritmo lea el nombre de un deportista, la distancia recorrida, la
cantidad​ ​de​ ​intentos​ ​y​ ​muestre​ ​la​ ​distancia​ ​promedio​ ​que​ ​ha​ ​recorrido.

LA​ ​OPERACIÓN​ ​DE​ ​ASIGNACIÓN

Es el modo de copiar un valor específico en una variable o espacio de


memoria. La operación de asignación se representa con el símbolo igual '=' La
forma​ ​general​ ​de​ ​una​ ​operación​ ​de​ ​asignación​ ​es:

variable​ ​=​ ​valor


hay que tener en cuenta que en una variable determinada sólo se podrán
guardar datos que correspondan al tipo con el que fue declarada la variable.
Por esta razón veamos como realizar la asignación en cada uno de los tipos de
datos.

1. ​ ​ASIGNACION​ ​EN​ ​VARIABLES​ ​NUMÉRICAS​(de​ ​tipo​ ​entero​ ​o​ ​tipo​ ​real)

2. ​ ​ASIGNACION​ ​EN​ ​VARIABLES​ ​DE​ ​TIPO​ ​CADENA

3. ​ ​ASIGNACION​ ​EN​ ​VARIABLES​ ​DE​ ​TIPO​ ​LÓGICO

Post​ ​Test​ ​5​ ​(PROBLEMAS​ ​PROPUESTOS)

1. Encontrar el valor de la variable B, después de la ejecución de las siguientes


operaciones​ ​(B,X,Y​ ​son​ ​variables​ ​de​ ​tipo​ ​entero)

● B​ ​=​ ​2​ ​+​ ​3


● B​ ​=​ ​8

www.educaciononline.edu.ec 13
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
● X​ ​=​ ​2
● Y​ ​=​ ​6
● B​ ​=​ ​X*Y
● B​ ​=​ ​5
● B​ ​=​ ​B+1
● B​ ​=​ ​2​ ​+​ ​3
● B​ ​=​ ​B*2
● X​ ​=​ ​2
● Y​ ​=​ ​6
● B​ ​=​ ​B+X*Y
● B​ ​=​ ​B*2+5

2. Encontrar el valor de la variable B (de tipo lógico, después de la ejecución de las


siguientes​ ​operaciones​ ​(X,Y​ ​,Z​ ​son​ ​variables​ ​de​ ​tipo​ ​entero)

● X​ ​=​ ​6
● Y​ ​=​ ​6
● B​ ​=​ ​X​ ​>Y
● X​ ​=​ ​4
● Y​ ​=​ ​6
● Z​ ​=1
● B​ ​=​ ​(​ ​(X<=Z)​ ​and​ ​(Z<10))​ ​or​ ​(Y>X)

3.​ ​realizar​ ​un​ ​algoritmo​ ​que​ ​muestre​ ​el​ ​siguiente​ ​mensaje​ ​:​ ​"hola​ ​buenos​ ​días".

4.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​calcule​ ​la​ ​suma​ ​de​ ​dos​ ​números​ ​enteros.

5. Realizar un algoritmo que lea el nombre y la edad de una persona y que imprima el
nombre​ ​y​ ​la​ ​cantidad​ ​de​ ​meses​ ​vividos.

6.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​convierta​ ​metros​ ​a​ ​kilómetros​ ​y​ ​centímetros.

7.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​convierta​ ​horas​ ​a​ ​minutos​ ​y​ ​a​ ​segundos

8.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​permita​ ​pasar​ ​kilogramos​ ​a​ ​gramos​ ​y​ ​toneladas.

9.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​calcule​ ​el​ ​área​ ​de​ ​un​ ​triángulo.

10.​ ​Hacer​ ​un​ ​algoritmo​ ​que​ ​calcule​ ​el​ ​perímetro​ ​de​ ​un​ ​cuadrado.

11. Hacer un algoritmo que lea un número entero y muestre el cuadrado del número,
el​ ​doble​ ​del​ ​número,​ ​la​ ​mitad​ ​del​ ​número​ ​y​ ​el​ ​20%​ ​del​ ​número.

www.educaciononline.edu.ec 14
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
12. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y el valor de
la​ ​hora.​ ​Que​ ​muestre​ ​el​ ​salario​ ​y​ ​el​ ​nombre

ASIGNACION​ ​DE​ ​VALORES​ ​A​ ​VARIABLES​ ​NÚMERICAS


En una variable numérica(declarada como entero o real ) sólo se podrán
guardar​ ​datos​ ​numéricos​ ​y​ ​existe​ ​dos​ ​formas​ ​de​ ​hacerlo:
1. Asignación de un número (constante numérica) a una variable numérica.
Asumamos que la variable A ha sido declarada de tipo entero, si queremos
copiar​ ​el​ ​valor​ ​de​ ​5​ ​en​ ​ella​ ​lo​ ​haríamos​ ​de​ ​la​ ​siguiente​ ​manera.

A​ ​=​ ​5
se​ ​copia​ ​el​ ​valor​ ​de​ ​5​ ​en​ ​la​ ​variable​ ​A.
2. Asignación del resultado de una ​expresión aritmética a una variable
numérica. Asumamos que las variable A ha sido declarada de tipo entero y
queremos copiar en ella el resultado de la expresión aritmética 5*2 +1 se haría
de​ ​la​ ​siguiente​ ​manera.
A​ ​= ​ ​5*​ ​2​ ​+1
se evalúa primero la expresión aritmética y el resultado se guarda en la
variable​ ​A.​ ​En​ ​este​ ​caso​ ​se​ ​copia​ ​en​ ​A​ ​el​ ​valor​ ​de​ ​11.
Es posible que la expresión aritmética este formada con variables numéricas,
para ilustrarlo asumamos que A, B y C han sido declaradas de tipo entero y que
en B ya hemos copiado un 10 (B = 10) y en C hemos copiado un dos (B = 2). si
queremos copiar en A lo que tiene B mas lo que tiene C, se haría de la siguiente
manera.
A​ ​=​ ​B​ ​+​ ​C
Se evalúa la expresión aritmética, teniendo en cuenta los contenidos de las
variables​ ​B​ ​y​ ​C,​ ​en​ ​este​ ​caso​ ​el​ ​resultado​ ​es​ ​12​ ​que​ ​se​ ​asigna​ ​a​ ​la​ ​variable​ ​A.

Post​ ​test​ ​6​ ​(PROBLEMAS​ ​PROPUESTOS)


1. hacer un algoritmo que lea dos números enteros A y B y muestre el doble de su
suma.
2. hacer un algoritmo que lea dos números enteros A y B y muestre el resultado de
evaluar​ ​(A​ ​+​ ​B)​ ​*2​ ​+10
3. hacer un algoritmo que lea el alto y el ancho de un rectángulo y muestre su área y
su​ ​perímetro.
4. hacer​ ​un​ ​algoritmo​ ​que​ ​lea​ ​dos​ ​números​ ​enteros​ ​A​ ​y​ ​B​ ​y ​ ​muestre​ ​su​ ​diferencia.

www.educaciononline.edu.ec 15
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
5. hacer un algoritmo que lea el nombre de una persona, el valor de la hora trabajada
y el número de horas que trabajo. se debe mostrar el nombre y el pago de la
persona
6. hacer un algoritmo que lea el nombre de un artículo, el valor unitario, la cantidad
a​ ​comprar​ ​y​ ​muestre​ ​el​ ​nombre​ ​y​ ​el​ ​total​ ​a​ ​pagar.

ASIGNACION​ ​DE​ ​VALORES​ ​A​ ​VARIABLES​ ​DE​ ​TIPO​ ​CADENA


En una variable de tipo cadena se pueden guardar cadenas directamente o el
resultado​ ​de​ ​evaluar​ ​una​ ​expresión ​ ​de​ ​cadena​.
Asumamos que la variable NOMBRE ha sido declarada de tipo cadena , si queremos
copiar​ ​en​ ​ella​ ​el​ ​nombre ​ ​"María"​ ​lo​ ​haríamos​ ​de​ ​la​ ​siguiente​ ​manera.
NOMBRE​ ​=​ ​"María"
copiaría​ ​en​ ​la​ ​variable​ ​NOMBRE​ ​el​ ​valor​ ​de​ ​"Maria".

Post​ ​test​ ​7​ ​(PROBLEMAS​ ​PROPUESTOS)


1. hacer un algoritmo que lea el nombre y la edad de una persona y muestre el
nombre​ ​y​ ​los​ ​segundos​ ​que​ ​ha​ ​vivido​ ​la​ ​persona.
2. hacer un algoritmo que lea el nombre de una persona y muestre un mensaje
formado​ ​con​ ​el​ ​nombre​ ​y​ ​la​ ​cadena​ ​"​ ​BIEN​ ​VENIDO".
3. hacer un algoritmo que lea el nombre de una persona, su edad y muestre un
mensaje formado con el nombre, la cadena " TIENE ESTOS AÑOS " y la cantidad de
años..
4. hacer un algoritmo que lea el nombre de una persona y muestre un mensaje
formado​ ​con​ ​el​ ​nombre​ ​y​ ​la​ ​cadena​ ​"​ ​HASTA​ ​PRONTO".

ASIGNACION​ ​DE​ ​VALORES​ ​A​ ​VARIABLES​ ​LÓGICAS


En una variable lógica sólo se podrán guardar datos lógicos( "verdadero" o "falso") o
el ​ ​resultado​ ​de​ ​evaluar​ ​una​ ​expresión​ ​lógica​.
Asumamos que la variable BANDERA o SW ha sido declarada de tipo lógico , si
queremos copiar en ella el resultado de la expresión lógica 2 > 10 , lo haríamos de la
siguiente​ ​manera.
BANDERA​ ​=​ ​2​ ​>​ ​10
Copiaría​ ​en​ ​la​ ​variable​ ​BANDERA​ ​el​ ​valor​ ​de​ ​"falso",​ ​pues​ ​2​ ​no​ ​es​ ​mayor​ ​que​ ​10.

www.educaciononline.edu.ec 16
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Post​ ​test​ ​8​ ​(PROBLEMAS​ ​PROPUESTOS)


1. hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la
siguiente​ ​expresión​ ​lógica​ ​x​ ​<​ ​3 ​ ​&&​ ​X​ ​<​ ​20
2. hacer un algoritmo que lea los datos enteros A y B y muestre el resultado de la
expresión​ ​lógica​ ​A​ ​>(​ ​B​ ​-​ ​10)
3. hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la
expresión​ ​lógica​ ​N​ ​>=​ ​0.
4. hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la
expresión​ ​lógica​ ​N​ ​<​ ​10​ ​|​ ​|​ ​N​ ​<​ ​30.
5. hacer un algoritmo que lea los datos enteros A , B y C y muestre el resultado de la
expresión​ ​lógica​ ​A​ ​*​ ​C​ ​>=​ ​(​ ​B​ ​-​ ​10)

www.educaciononline.edu.ec 17
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
INSTRUCCIONES​ ​DE​ ​DECISIÓN
Las instrucciones de decisión son necesarias cuando en un algoritmo una o
muchas tareas se deben hacer o no, dependiendo de una situación en
particular. esta situación nos ayudará a decidir si hacemos o no las tareas
indicadas. las instrucciones de decisión que estudiaremos son las básicas, la
INSTRUCCIÓN​ ​DE​ ​DECISIÓN​ ​SI​​ ​y​ ​la​ ​INSTRUCCIÓN​ ​DE​ ​DECISIÓN​ ​SI​ ​NO​.

INSTRUCCIONES​ ​DE​ ​DECISIÓN​ ​(si)

La​ ​estructura​ ​es​ ​la​ ​siguiente:

Inicio
Instrucción​ ​1
si​ ​<condición>​ ​entonces
.......Instrucción​ ​11
.......Instrucción​ ​12
.......Instrucción​ ​13
fin​ ​si
Instrucción​ ​n

fin​ ​del​ ​programa

Se evalúa la expresión lógica si es verdadera se realizan las instrucciones internas, de


lo contrario se salta a la siguiente instrucción fuera de la estructura en este caso a la
instrucción​ ​n.

Post​ ​test​ ​9​ ​(PROBLEMAS​ ​PROPUESTOS)

1. Realizar un algoritmo que reciba la hora si es menor a 12 muestre el siguiente


mensaje​ ​:​ ​"hola​ ​buenos​ ​días".
2. Hacer un algoritmo que calcule la suma de dos números enteros. Si la suma es
mayor​ ​que​ ​100​ ​sacar​ ​un​ ​mensaje​ ​comunicándolo.
3. Realizar un algoritmo que lea el nombre y la edad de una persona y si es menor de
edad (edad menor o igual a 18 años) imprima el nombre y la cantidad de meses
vividos.
4. Hacer un algoritmo que calcule el área de un triángulo y además informe cual
longitud​ ​es​ ​la​ ​mayor​ ​la​ ​altura​ ​o​ ​la​ ​base.

www.educaciononline.edu.ec 18
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
5. Hacer un algoritmo que lea un número entero y muestre el cuadrado del numero
si el numero es mayor a 10. el doble del número, si el número es mayor a 20, la
mitad​ ​del​ ​número​ ​si​ ​le​ ​numero​ ​es​ ​mayor​ ​a​ ​50.
6. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y el valor
de​ ​la​ ​hora.​ ​Que​ ​muestre​ ​el​ ​salario​ ​y​ ​el​ ​nombre​ ​si​ ​el​ ​total​ ​a​ ​pagar​ ​es​ ​mayor​ ​a​ ​1000.

INSTRUCCIONES​ ​DE​ ​DECISIÓN​ ​(si​ ​-​ ​si​ ​no​ ​)

La​ ​estructura​ ​es​ ​la​ ​siguiente:

Inicio
Instrucción​ ​1
si​ ​<condición>​ ​entonces
.......Instrucción​ ​11
.......Instrucción​ ​12
.......Instrucción​ ​13
si​ ​no
.......Instrucción​ ​21
.......Instrucción​ ​22
.......Instrucción​ ​23
fin​ ​si
Instrucción​ ​n

fin​ ​del​ ​programa

Se evalúa la expresión lógica si es verdadera se realizan las instrucciones internas al si


en este caso las instrucciones (l1,l2,l3,...) y luego se sigue con la instrucción n. Si la
expresión lógica es falsa se realizan las instrucciones internas al si no en este caso las
instrucciones (21, 22, 23) y luego se sigue con la instrucción n. Es de notar que este
tipo de instrucción es excluyente, o sea que si entra por el si, no entra por el si no. Y si
entra​ ​por​ ​el​ ​si​ ​no,​ ​no​ ​entra​ ​por​ ​el​ ​si.

Post​ ​test​ ​10​ ​(Problemas​ ​propuestos)


1. Lea el nombre, la edad y el sexo (1= femenino, 2= masculino) de una persona y si
esta es de sexo masculino y mayor de edad imprima el nombre, de lo contrario
imprima​ ​el​ ​nombre​ ​y​ ​edad​ ​de​ ​la​ ​persona.
2. Lea el nombre, la edad, el sexo (1= femenino, 2= masculino) y el estado civil (1=
soltero, 2 = casado, 3 = otro) de una persona e imprima el nombre y la edad de la
www.educaciononline.edu.ec 19
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
persona sólo si esta es mujer menor de edad, de lo contrario indique que estado
civil​ ​tiene​ ​esa​ ​persona.
3. Lea dos números X y Y e imprima ambos números si por lo menos uno de ellos es
positivo.
4. Lea dos números X y Y e imprima ambos números sólo si son de diferente signo y
distintos​ ​de​ ​cero.
5. Lea dos números, calcule el cociente de dividir el primero por el segundo.
Imprima el cociente. Pero recuerde que antes de hacer la división debe evaluar
que el divisor no sea igual a cero (0). Por que en este caso debe imprimir "la
división​ ​no​ ​es​ ​posible".
6. Para un salario bruto hasta de $ 250.500 no hay retención. Para un salario bruto
de $ 250.501 a $ 300.000 el porcentaje de retención es de 5% . para un salario
bruto mayor a $300.000 el porcentaje de retención es del 8%. Imprimir el nombre
del empleado, el salario bruto, el valor de la retención y el salario neto( salario
bruto menos la retención). Se debe leer el nombre el salario hora y las horas
trabajadas.
7. Leer el nombre de un empleado, el salario básico por hora y el número de horas
trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si
el número de horas trabajadas durante la semana es mayor a 48, esas horas de
mas​ ​se​ ​consideran​ ​horas​ ​extras​ ​y​ ​tienen​ ​un​ ​25%​ ​de​ ​recargo.

www.educaciononline.edu.ec 20
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
INSTRUCCIONES​ ​DE​ ​REPETICION
Las instrucciones de repetición son necesarias cuando en un algoritmo hay que
realizar una o muchas tareas varias veces, las instrucciones de repetición
básicas son: el ​MIENTRAS y el ​PARA​, cada una de las cuales tiene su propia
representación y su propia manera de controlar el número de veces que se
repetirá el ciclo( instrucciones internas ). estas características hacen que una
instrucción de repetición sea más adecuado que la otra en una situación
particular.

ESTRUCTURA​ ​MIENTRAS(​ ​while)

La estructura repetitiva mientras es aquella en que las instrucciones internas


(bucle) se ejecutan mientras se cumple una determinada condición. La
estructura​ ​es​ ​la​ ​siguiente:

Inicio
Instrucción​ ​1
mientras​ ​<condición>​ ​haga
.......Instrucción​ ​11
.......Instrucción​ ​12
.......Instrucción​ ​13
fin​ ​mientras
Instrucción​ ​n

fin​ ​del​ ​programa
Cuando se ejecuta la instrucción mientras. La primera cosa que sucede es que
se evalúa la condición (una expresión lógica). Si la expresión es falsa, ninguna
acción del bucle( parte interna) se ejecuta y el programa continúa en la
siguiente instrucción al bucle. Si la expresión es verdadera, entonces se ejecuta
el cuerpo del bucle. Después de lo cual se evalúa de nuevo la expresión
booleana. Este proceso se repite una y otra vez mientras la expresión lógica
(condición) sea verdadera. Dentro del cuerpo del bucle debe existir una
instrucción que modifique la expresión de tal manera que en algún momento
haga​ ​que​ ​su​ ​valor​ ​sea​ ​falso.​ ​Es​ ​decir​ ​que​ ​garantice​ ​la​ ​terminación​ ​del​ ​ciclo.

Para controlar el número de repeticiones del ciclo se puede hacer de dos


maneras:

1. ​ ​ ​utilizando​ ​una​ ​variable​ ​contador​.

www.educaciononline.edu.ec 21
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
2. ​ ​ ​utilizando​ ​una​ ​variable​ ​centinela​.

Post​ ​test​ ​11​ ​(PROBLEMAS​ ​PROPUESTOS)

1. Calcular el promedio de las notas que entre el usuario. Se recibirá un valor


centinela​ ​de​ ​-99.
2. Hacer un algoritmo que reciba un dato N y que muestre los datos pares que hay
entre​ ​1​ ​y​ ​N.
3. Hacer​ ​un​ ​algoritmo​ ​que​ ​reciba​ ​un​ ​dato​ ​N.​ ​que​ ​calcule​ ​y​ ​muestre​ ​el​ ​factorial​ ​de​ ​N.
4. Hacer un algoritmo que reciba un dato N . si el dato es par muestre la sumatoria
de​ ​N​ ​y​ ​si​ ​es​ ​impar​ ​muestre​ ​el​ ​factorial​ ​de​ ​N.
5. Hacer​ ​un​ ​algoritmo​ ​que​ ​muestre​ ​los​ ​datos​ ​impares​ ​entre​ ​1​ ​y​ ​100.
6. Hacer​ ​un​ ​algoritmo​ ​que​ ​diga​ ​cuantos​ ​números​ ​entre​ ​1​ ​y​ ​100​ ​son​ ​divisibles​ ​por​ ​3.
7. Hacer​ ​un​ ​algoritmo​ ​que​ ​lea​ ​un​ ​dato​ ​N​ ​y​ ​diga​ ​si​ ​es​ ​un​ ​numero​ ​primo​ ​o​ ​no.
8. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4 elevado a la 2,
etcétera.
9. Realizar un algoritmo para obtener la suma de los números pares hasta 2000
inclusive.
10. Leer y mostrar sucesivamente números. Hasta que aparezca un numero
comprendido​ ​entre​ ​1​ ​y​ ​5.
11. Determinar el promedio de una lista indefinida de números positivos, terminados
con​ ​un​ ​número​ ​negativo.
12. Se desea leer las calificaciones de una clase de informática y contar el número
total​ ​de​ ​aprobados​ ​(​ ​3​ ​o​ ​mayor​ ​que​ ​3).
13. Leer 100 números. Determinar el promedio de los números positivos y el
porcentaje​ ​de ​ ​números​ ​negativos.
14. Calcular​ ​el​ ​n-ésimo​ ​termino​ ​de​ ​la​ ​serie​ ​de​ ​fibonacci​ ​definida​ ​por.

1,2,​ ​3,5,8,13….,​ ​AN-1+AN-2.

15. Se desea conocer una serie de datos de una empresa con 50 empleados, decir
cuantos empleados ganan más de 300000 pesos al mes, cuantos ganan entre
200000​ ​y​ ​300000​ ​pesos​ ​y​ ​cuantos​ ​ganan​ ​menos​ ​de​ ​100000.

www.educaciononline.edu.ec 22
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
ESTRUCTURA​ ​MIENTRAS​ ​(while)​ ​CONTROLADA ​ ​CON​ ​UNA​ ​VARIABLE​ ​CONTADOR

Una​ ​situación​ ​específica​ ​de​ ​esta​ ​estructura ​ ​se ​ ​muestra​ ​a​ ​continuación:​ ​

​ ​i ​ ​=​ ​valorInicial
​ ​mientras​ ​i ​ ​<=​ ​valorFinal ​ ​haga
​ ​mostrar​ ​(​ ​i​ ​)
​ ​i​ ​=​ ​i​ ​+​ ​incremento
​ ​fin​ ​mientras​ ​

en​ ​este​ ​tipo​ ​de​ ​mientras​ ​se​ ​pueden​ ​identificar​ ​las​ ​siguientes​ ​partes:

1. Variable controladora: en este ejemplo la variable controladora es i, pues i


es la variable que forma parte de la expresión lógica que decide si se entra
o​ ​no​ ​el​ ​ciclo.

2. Valor inicial: corresponde al valor inicial que toma la variable


controladora, siempre se asigna antes de entrar al ciclo, en este caso el
valor​ ​inicial​ ​es​ ​uno​ ​(1).

3. Valor final: corresponde al valor final que puede tomar la variable


controladora para que ingrese al ciclo. siempre forma parte de la expresión
lógica,​ ​en​ ​este​ ​caso​ ​el​ ​valor​ ​final​ ​es​ ​10.

4. incremento: es el valor que se le incrementa a la variable controladora.


siempre​ ​se​ ​hace​ ​dentro​ ​del​ ​ciclo,​ ​en​ ​este​ ​caso​ ​el​ ​incremento​ ​es​ ​de ​ ​uno​ ​(1).

5. ​ ​número​ ​de​ ​repeticiones:​ ​se​ ​calcula​ ​a​ ​si:

Número​ ​de​ ​repeticiones​ ​=​ ​(valor​ ​final​ ​-​ ​valor​ ​inicial​ ​+ ​ ​1​ ​)/​ ​incremento

Número​ ​de​ ​repeticiones​ ​=​ ​(10​ ​-​ ​1+1)/1​ ​=​ ​10

Según la información que se tenga para construir el mientras se pueden estar


en​ ​uno​ ​de​ ​los​ ​siguientes​ ​casos:

1. ​ ​cuando​ ​se​ ​conoce​ ​el​ ​valor​ ​inicial,​ ​el​ ​valor​ ​final​ ​y​ ​el​ ​incremento.

www.educaciononline.edu.ec 23
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
2. cuando se conoce el valor inicial, el incremento y el usuario entra el valor
final.

ESTRUCTURA MIENTRAS (while) CONTROLADOS POR UNA VARIABLE


CENTINELA

se utilizan cuando no sabemos cuantas veces se debe repetir el ciclo. en este


caso se utiliza una variable que nos servirá de centinela, para indicarnos
cuando​ ​terminar​ ​el​ ​ciclo.

Un ejemplo clásico del centinela es cuando el enunciado nos indica que el


usuario ingresará una lista de datos mayores que cero (0) y para notificar de
que​ ​no​ ​quiere​ ​ingresar​ ​mas​ ​datos​ ​ingresa​ ​un​ ​dato​ ​negativo​ ​o​ ​cero.
se​ ​utiliza​ ​el​ ​siguiente​ ​esquema.​ ​

​ ​lea​ ​N
​ ​mientras​ ​N​ ​>​ ​0​ ​haga

​ ​lea​ ​N
​ ​fin​ ​mientras

Observar que es necesario leer antes de ingresar al mientras y antes de cerrar


el mientras. La variable que esta sirviendo de centinela es N el dato que ingresa
el​ ​usuario,​ ​pues​ ​si​ ​el​ ​dato​ ​no​ ​es​ ​mayor​ ​que​ ​cero​ ​se​ ​termina​ ​el​ ​ciclo.

ESTRUCTURA​ ​DE​ ​REPETICIÓN​ ​PARA​ ​(FOR)

Permite que un grupo de instrucciones se repita cero o más veces,


dependiendo​ ​del​ ​valor​ ​que​ ​resulte​ ​al​ ​evaluar​ ​una​ ​expresión​ ​de​ ​tipo​ ​lógico.

La​ ​estructura​ ​es​ ​la​ ​siguiente:​ ​

Para​ ​valor_inicial,​ ​valor_final,​ ​incremento


.......Instruccion1
.......Instruccion2
......Instruccion3
www.educaciononline.edu.ec 24
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

......Instruccion4
Fin ​ ​para
Instrucción​ ​n
…​ ​
La variable valor_inicial establece la condición inicial para la variable de
control evaluada como expresión lógica. Esta variable es la que controla el
ciclo.

El incremento modifica la variable de control. Se hace de una manera


automática

La variable valor_final establece el límite hasta donde debe llegar la variable


inicial.

Post​ ​Test​ ​12​ ​(PROBLEMAS​ ​PROPUESTOS)

Utilizando​ ​la​ ​estructura​ ​para​ ​realizar:

1. Hacer un algoritmo que reciba un dato N y que muestre los datos pares que hay
entre​ ​1​ ​y​ ​N.
2. Hacer​ ​un​ ​algoritmo​ ​que​ ​reciba​ ​un​ ​dato​ ​N.​ ​que​ ​calcule​ ​y​ ​muestre​ ​el​ ​factorial​ ​de​ ​N.
3. Hacer un algoritmo que reciba un dato N. si el dato es par muestre la sumatoria de
N​ ​y​ ​si​ ​es​ ​impar​ ​muestre​ ​el​ ​factorial​ ​de​ ​N.
4. Hacer​ ​un​ ​algoritmo​ ​que​ ​muestre​ ​los​ ​datos​ ​impares​ ​entre​ ​1​ ​y​ ​100.
5. Hacer​ ​un​ ​algoritmo​ ​que​ ​diga​ ​cuantos​ ​números​ ​entre​ ​1​ ​y​ ​100​ ​son​ ​divisibles​ ​por​ ​3.
6. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4 elevado a la 2,
etcétera.
7. Realizar un algoritmo para obtener la suma de los números pares de 1 hasta 2000
inclusive.
8. Se desea leer las N calificaciones de una clase de informática y contar el número
total​ ​de​ ​aprobados​ ​(3​ ​o​ ​mayor​ ​que​ ​3).
9. Leer 100 números. Determinar el promedio de los números positivos y el
promedio ​ ​de​ ​los​ ​números​ ​negativos.
10. Calcular​ ​el​ ​n-ésimo​ ​termino​ ​de​ ​la​ ​serie​ ​de​ ​fibonacci​ ​definida​ ​por.

1,2,​ ​3,5,8,13….,​ ​AN-1+AN-2.

11. Se desea conocer una serie de datos de una empresa con 50 empleados, decir
cuantos empleados ganan más de 300000 pesos al mes, cuantos ganan entre
200000​ ​y​ ​300000​ ​pesos​ ​y​ ​cuantos​ ​ganan​ ​menos​ ​de​ ​100000.
12. Hacer un algoritmo que muestre las tablas de multiplicar del uno al diez, y cada
tabla​ ​del​ ​uno​ ​al​ ​diez.
www.educaciononline.edu.ec 25
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
13. Hacer​ ​un​ ​algoritmo​ ​que​ ​muestre​ ​los​ ​números​ ​primos​ ​que​ ​hay​ ​entre​ ​uno​ ​y​ ​1000.
14. Hacer un algoritmo que muestre los números entre 1 y 100 cuya suma de dígitos
es​ ​10.
15. Hacer​ ​un​ ​algoritmo​ ​que​ ​invierta​ ​los​ ​dígitos​ ​de​ ​cada​ ​número​ ​entre​ ​1​ ​y​ ​2000.
16. Hacer un algoritmo que muestre la suma de dígitos de 100 números que entra el
usuario.
17. Hacer un algoritmo que muestre el número mayor de los 100 datos entrados por
el​ ​usuario.

www.educaciononline.edu.ec 26
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
SUBALGORITMOS
Cuando un algoritmo crece demasiado, se hace necesario dividirlo en
subalgoritmos o módulos, llamados ​funciones o ​procedimientos​. Esta división
nos​ ​permite:
1. ​ ​Hacer​ ​más​ ​entendible​ ​los​ ​algoritmos.
2. La detección y corrección de problemas se hace mas simple, pues los
problemas están mas localizados, no es necesario analizar todo el algoritmo,
sólo​ ​el​ ​módulo​ ​que​ ​esta​ ​fallando.
3. Permite que los subalgoritmos se especialicen en resolver una tarea
específica, sin importarles como funcionan los demás módulos. Esto facilita que
varias personas puedan realizar un algoritmo, cada uno de ellos realiza un
subalgoritmo​ ​específico.
4. Si se han construido subalgoritmos, estos se pueden utilizar (llamar) las
veces que se necesite. Esto es la reutilización de los subalgoritmos, para que
resolver​ ​un​ ​problema​ ​que​ ​ya​ ​había​ ​sido​ ​resuelto,​ ​sólo​ ​se​ ​llama​ ​a​ ​la​ ​solución.

FUNCIÓNES:

Una función es un subalgoritmo que toma uno o más valores llamados


argumentos y produce un valor llamado resultado (valor de la función para los
argumentos​ ​dados).

DECLARACION​ ​DE​ ​FUNCIÓNES:

La declaración de una función requiere una serie de pasos que la definen. Una
función​ ​tiene​ ​una​ ​construcción​ ​similar​ ​a​ ​los​ ​algoritmos.

La​ ​descripción​ ​de​ ​la​ ​función​ ​será:​ ​

tipo​ ​de​ ​dato:​ ​nombre_función​ ​(lista​ ​de​ ​parámetros)

<acciones>

devolver(​ ​expresión​ ​)
fin​ ​función

1. tipo de dato: indica de que tipo de dato es la información que devuelve la


función.
www.educaciononline.edu.ec 27
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
2. dos​ ​puntos​ ​'​ ​:​ ​'
3. nombre de la función: debe ser un ​identificador válido y único que se
utiliza​ ​para​ ​llamar​ ​a​ ​la​ ​función.
4. argumentos de dicha función. Es una lista de ​declaraciones de variables ​se
paradas por dos puntos(' : ') donde se especifican los datos que requiere la
función​ ​para​ ​trabajar.
5. Acciones o cuerpo de la función: son las diferentes tareas que realiza la
función.
6. devolver( expresión ): se indica que dato es el que devolverá la función al
subalgoritmo​ ​que​ ​lo​ ​llamó.
7. fin​ ​función:​ ​para​ ​indicar​ ​donde​ ​termina​ ​la​ ​función.

INVOCACION​ ​DE​ ​LAS​ ​FUNCIÓNES:

Una​ ​función​ ​puede​ ​ser​ ​llamada​ ​de​ ​la​ ​siguiente​ ​manera:

​ ​nombre_función​ ​(​ ​lista​ ​de​ ​parámetros​ ​actuales)

La lista de parámetros actuales debe corresponder en tipo y cantidad con la


lista​ ​de​ ​parámetros​ ​(formal)​ ​definidos​ ​en​ ​la​ ​función.
Una​ ​llamada​ ​a​ ​la​ ​función​ ​implica​ ​los​ ​siguientes​ ​pasos:

● A cada parámetro formal se le asigna el valor real de su correspondiente


parámetro​ ​actual.
● Se​ ​ejecuta​ ​el​ ​cuerpo​ ​de​ ​acciones​ ​de​ ​la​ ​función
● Se devuelve el valor de la función al nombre de la función y se retorna al
punto​ ​de​ ​llamada.

Post​ ​test​ ​13​ ​(PROBLEMAS​ ​PROPUESTOS)

1. realizar​ ​una​ ​función​ ​que​ ​reciba​ ​un​ ​dato​ ​N​ ​y​ ​devuelva​ ​la​ ​suma​ ​de​ ​sus​ ​dígitos.
2. realizar​ u ​ na​ ​función​ ​que​ ​reciba​ ​un​ ​dato​ ​N​ ​y​ ​devuelva​ ​el​ ​digito​ ​mayor.
3. realizar una función que reciba un dato N y devuelva las veces que esta el dígito
mayor.
4. realizar una función que reciba un dato N y devuelva la diferencia del dígito mayor
y​ ​el​ ​menor.
5. realizar una función que reciba un dato N y devuelva la cantidad de dígitos que
tiene​ ​el​ ​dato​ ​N.
6. realizar​ ​una​ ​función​ ​que​ ​reciba​ ​un​ ​dato​ ​N​ ​y​ ​devuelva​ ​la​ ​suma​ ​de​ ​los​ ​dígitos​ ​pares.

www.educaciononline.edu.ec 28
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
Utilizando​ ​las​ ​funciones​ ​anteriores​ ​realizar:

1. un algoritmo que lea 100 datos dados por el usuario y muestre la suma de dígitos
de​ ​cada​ ​dato​ ​y​ ​la​ ​suma​ ​mayor.
2. un algoritmo que lea 500 datos dados por el usuario y muestre el dígito mayor de
cada​ ​dato​ ​y​ ​el​ ​porcentaje​ ​de​ ​datos​ ​que​ ​tienen​ ​como​ ​digito​ ​mayor​ ​el​ ​7​ ​o​ ​el ​ ​9.
3. un algoritmo que lea 100 datos dados por el usuario y muestre la cantidad de
dígitos​ ​de​ ​cada​ ​dato​ ​y​ ​el​ ​promedio​ ​de​ ​los​ ​datos​ ​que​ ​tienen​ ​5​ ​dígitos.

www.educaciononline.edu.ec 29
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Post​ ​test​ ​14​ ​(OTROS​ ​PROBLEMAS)

1. Realizar una función que reciba un dato N , calcule y regrese la sumatoria de 1


hasta​ ​N.
2. Utilizando la función anterior realizar un programa que muestre la sumatoria de
los N números que ingrese el usuario, y diga cual de los datos tiene la mayor
sumatoria
3. Realizar una función factorial que reciba un numero N y calcule y regrese el
factorial​ ​de​ ​N

Utilizando​ ​la​ ​función​ ​anterior​ ​mostrar​ ​los​ ​números​ ​entre​ ​5​ ​y​ ​100

1. que​ ​tienen​ ​un ​ ​factorial​ ​mayor​ ​a​ ​2000.


2. Utilizando la función anterior mostrar el factorial de los números impares que hay
entre​ ​50​ ​y​ ​100.
3. Realizar una función llamada pago_nomina que reciba el nombre, número de horas
trabajadas y el valor de la hora y calcule y devuelva el pago del trabajador,
teniendo en cuenta que las horas extras tienen un recargo del 50% sobre la hora
normal.
4. Utilizando la función anterior realizar un programa que lea los datos de 1000
empleados, calcule y muestre el pago de cada uno de ellos, además muestre el total
a​ ​pagar​ ​y​ ​el​ ​sueldo​ ​mayor.
5. Hacer una función que reciba el lado de un cuadrado calcule y devuelva el
perímetro​ ​.
6. Utilizando la función anterior realizar un programa que lea el lado de 100
cuadrados, y muestre el perímetro de cada uno de ellos y diga cuantos tienen
perímetro​ ​entre​ ​40​ ​y​ ​50​ ​.
7. Hacer​ ​una​ ​función​ ​que​ ​reciba​ ​el​ ​radio​ ​de​ ​un​ ​círculo ​ ​calcule ​ ​y​ ​devuelva​ ​el​ ​área.
8. Utilizando la función anterior realizar un programa que lea el radio de 100
círculos, y muestre el área de cada uno de ellos y diga cual es el rea menor y la
mayor.
9. Hacer una función llamada potencia para el cálculo de N elevado a A (por
multiplicaciones sucesivas) y utilizarla en un programa para calcular la potencia de
las 100 parejas de datos entradas por el usuario, además muestre la sumatoria de
las​ ​potencias​ ​de​ ​todas​ ​las​ ​parejas.
10. Realizar una función que reciba un numero N y regrese la sumatoria de sus
dígitos.
11. Utilizando la función anterior realizar un programa que muestre los números
entre 500 y 1500 y la suma de dígitos de cada uno, además muestre los números
que​ ​tienen​ ​la​ ​mayor​ ​suma​ ​de​ ​dígitos.
12. Utilizando​ ​la​ ​función​ ​anterior​ ​realizar​ ​un​ ​programa​ ​que​ ​muestre​ ​la​ ​suma
De dígitos de los números pares mayores que 100 y menores que 1000.
además​ ​diga​ ​cuantos​ ​números​ ​tienen​ ​como​ ​suma​ ​de​ ​dígitos​ ​13.

www.educaciononline.edu.ec 30
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
13. Utilizando la función anterior realizar un programa que lea 1000 números dados
por​ ​el​ ​usuario​ ​y​ ​muestre​ ​los​ ​numero​ ​cuya​ ​suma​ ​de​ ​dígitos​ ​es​ ​menor​ ​a​ ​10.
14. Utilizando la función anterior realizar un programa que lea N datos dados por el
usuario y muestre y cuente los números cuya suma de dígitos es 10 y terminan en
5.
15. Realizar una función que reciba un numero N y determine y devuelva la cantidad
de​ ​dígitos​ ​pares​ ​que​ ​tiene.
16. Utilizando la función anterior realizar un programa que lea 500 datos dados por el
usuario​ ​y​ ​muestre​ ​el​ ​número​ ​y​ ​la​ ​cantidad​ ​de​ ​dígitos​ ​pares​ ​de​ ​cada​ ​número.
17. Utilizando la función anterior realizar un programa que muestre los número
entre 500 y 100 que tengan 2 dígitos pares, además muestre el mayor de dichos
números.
18. Realizar​ ​una​ ​función​ ​que ​ ​reciba​ ​un​ ​dato​ ​N​ ​,​ ​determine​ ​y​ ​devuelva​ ​el​ ​digito​ ​mayor.
19. Utilizando la función anterior realizar un programa que muestre los dígitos
mayores​ ​de ​ ​los​ ​números​ ​entre​ ​2000​ ​y​ ​3000
20. Utilizando la función anterior realizar un algoritmo que lea 100 datos dados por
el​ ​usuario​ ​y​ ​muestre​ ​los​ ​datos​ ​que​ ​tengan​ ​como​ ​mayor​ ​digito​ ​el​ ​8​ ​ó​ ​el ​ ​4.
21. Utilizando la función anterior realizar un programa que muestre el digito mayor
de los números pares que hay entre 500 y 1000, además muestra la sumatoria de
dichos​ ​dígitos.

Utilizando​ ​las​ ​funciones​ ​anteriores:

● Hacer un programa que muestre el factorial de los datos entre 100 y 500 que
tienen​ ​como​ ​suma​ ​de​ ​dígitos ​ ​6
● Hacer un programa que lea N datos dados por el usuario y muestre la
sumatoria de los datos que tienen como suma de dígitos 2 y su mayor dígito es
8.
● Hacer un programa que lea N datos dados por el usuario y muestre la
sumatoria de cada uno de los datos que terminan en 4, tienen como suma de
dígitos ​ ​5​ ​y​ ​su​ ​mayor​ ​dígito​ ​es​ ​9.

IDENTIFICADORES​ ​VÁLIDOS

Para diferenciar los espacios de memoria se les asigna un identificador que


debe ser único (no se permiten dos espacios de memoria con el mismo
identificador). Además un identificador es válido si esta formado con letras,
dígitos y el carácter de subrayado, pero teniendo en cuenta que el primer
carácter debe ser una letra. También es recomendable que el nombre del
espacio​ ​de​ ​memoria​ ​indique​ ​el​ ​significado​ ​de​ ​la​ ​información​ ​que​ ​contiene.

www.educaciononline.edu.ec 31
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

La​ ​siguiente​ ​lista​ ​muestra​ ​una​ ​serie​ ​de​ ​identificadores​ ​válidos:

x y x1 y1
suma contador mayor menor
promedio Menor1 porcentaje mayor_pro
m

TIPOS​ ​DE​ ​DATOS


los​ ​tipos​ ​de​ ​datos​ ​a​ ​utilizar​ ​en​ ​nuestros​ ​algoritmos​ ​son:
1. Numéricos: estos tipos de datos se utilizan para hacer cálculos matemáticos
y​ ​pueden​ ​ser​ ​de​ ​dos​ ​tipos​ ​así:
1.1 ENTERO: cuando el número no tiene parte decimal (ejemplo: 4 , 5 , 7,
97).
1.2 REAL: cuando el número consta de una parte entera y una parte
decimal​ ​(ejemplo:​ ​2.33​ ​, ​ ​4.59​ ​, ​ ​5.0​ ​).
2. CARACTER: contiene un solo símbolo y esta delimitado por comillas
sencillas​ ​y​ ​puede ​ ​ser:
2.1 ​ ​Caracteres​ ​alfanuméricos​ ​('A',​ ​'B',​ ​…,​ ​'Z')
2.2 ​ ​Caracteres​ ​numéricos('1',​ ​'2',​ ​…'0')
2.3 ​ ​Caracteres​ ​especiales​ ​('+',​ ​'-',​ ​'*',​ ​'/',​ ​',' ​ ​'.',​ ​'<'​ ​,'>',​ ​'$',​ ​….)
3. CADENA(string): es una sucesión de caracteres que se encuentran
delimitados por doble comilla. se utilizan para guardar información como el
nombre de una persona, el color preferido etc. (ejemplos: " león ", "Maria",
"azul",​ ​"rojo"). se​ ​utilizan​ ​para​ ​mostrar​ ​mensajes.
4. LOGICOS (booleanos): es aquel dato que sólo puede tomar uno de dos
valores:​ ​verdadero(true)​ ​o​ ​falso​ ​(false).

PROCEDIMIENTOS

Un procedimiento es un subalgoritmo que toma uno o más valores llamados


argumentos,​ ​con​ ​los​ ​cuales​ ​ejecuta​ ​tareas​ ​específicas.

www.educaciononline.edu.ec 32
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
DECLARACION​ ​DE​ ​PROCEDIMIENTOS:

La declaración de un procedimiento requiere una serie de pasos que la definen.


Un procedimiento tiene una construcción similar a los algoritmos, por
consiguiente constará de una cabecera que comenzará con nombre del
procedimiento y entre paréntesis una lista de argumentos del procedimiento. A
continuación irá el cuerpo del procedimiento, que será una serie de acciones o
instrucciones​ ​que​ ​conforman​ ​el​ ​cuerpo​ ​del​ ​procedimiento.

La​ ​descripción​ ​del​ ​procedimiento​ ​será:

nombre_procedimiento​ ​(lista​ ​de​ ​argumentos)

<acciones>

fin​ ​procedimiento

1. nombre del procedimiento : debe ser un ​identificador válido y único que se


utiliza​ ​para​ ​identificar​ ​al​ ​procedimiento.
2. lista de argumentos. Es una lista de ​declaraciones de variables ​se paradas
por dos puntos(' : ') donde se especifican los datos que requiere el
procedimiento ​ ​para​ ​trabajar.
3. Acciones o cuerpo del procedimiento: son las diferentes tareas que realiza
el​ ​procedimiento.
4. fin​ ​procedimiento:​ ​para​ ​indicar​ ​donde​ ​termina​ ​el​ ​procedimiento.

INVOCACION​ ​DE​ ​LOS​ ​PROCEDIMIENTOS:

Un​ ​procedimiento​ ​puede​ ​ser​ ​llamado​ ​de​ ​la​ ​siguiente​ ​manera:

nombre_procedimiento​ ​(​ ​lista​ ​de​ ​parámetros​ ​actuales)

la lista de parámetros actuales debe corresponder en tipo y cantidad con la

www.educaciononline.edu.ec 33
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
lista​ ​de​ ​parámetros​ ​(formal)​ ​definidos​ ​en​ ​la​ ​función.
Una​ ​llamada​ ​a​ ​un​ ​procedimiento​ ​implica​ ​los​ ​siguientes​ ​pasos:

● A cada parámetro formal se le asigna el valor real de su correspondiente


parámetro​ ​actual.
● Se​ ​ejecuta​ ​el​ ​cuerpo​ ​de​ ​acciones​ ​del​ ​procedimiento.
● Se regresa​ ​a​ ​la​ ​instrucción​ ​siguiente​ ​del​ ​punto​ ​de​ ​llamada.

Post​ ​Test​ ​14​ ​(PROBLEMAS​ ​PROPUESTOS)

1. realizar un procedimiento que reciba un dato N y muestre el número y la suma de


sus​ ​dígitos.
2. realizar​ ​un​ ​procedimiento​ ​que​ ​reciba​ ​un​ ​dato​ ​N​ ​y​ ​muestre​ ​el​ ​dato​ ​su​ ​dígito​ ​mayor.
3. realizar un procedimiento que reciba un dato N y muestre el dato y las veces que
esta​ ​el​ ​dígito​ ​mayor.
4. realizar un procedimiento que reciba un dato N y muestre el dato y la diferencia
del​ ​dígito​ ​mayor​ ​y​ ​el​ ​menor.
5. realizar un procedimiento que reciba un dato N y muestre el dato y la cantidad de
dígitos​ ​que​ ​tiene.
6. realizar un procedimiento que reciba un dato N y muestre el dato y la suma de sus
dígitos​ ​pares.

Utilizando​ ​los​ ​procedimientos​ ​anteriores​ ​realizar:

1. un algoritmo que lea 100 datos dados por el usuario y muestre cada dato y la suma
de​ ​dígitos​ ​de​ ​cada​ ​dato.
2. un algoritmo que lea 500 datos dados por el usuario y muestre cada dato y su dígito
mayor.
3. un algoritmo que lea 100 datos dados por el usuario y muestre cada dato y la
cantidad​ ​de​ ​dígitos​ ​que​ ​tiene.

ESTRUCTURAS​ ​DE​ ​DATOS

ARREGLOS:
Un arreglo es una colección de datos del mismo tipo, que se almacenan en posiciones
consecutivas de memoria y reciben un nombre común. Para referirse a un
determinado elemento de un arreglo se deberá utilizar el nombre del arreglo
acompañado de un índice el cual especifica la posición relativa en que se encuentra el
elemento.
Los​ ​arreglos​ ​pueden​ ​ser:
1. unidimensionales​ ​(vectores).

www.educaciononline.edu.ec 34
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
2. Bidimensionales​ ​(matrices,​ ​tablas).
3. Multidimensionales(tres​ ​dimensiones​ ​o​ ​más).

ARRAY​ ​UNIDIMENSIONALES​ ​O​ ​VECTORES


Los​ ​pasos​ ​para​ ​la​ ​utilización​ ​de​ ​un​ ​vector​ ​son;
1 Declarar el vector: consiste en establecer el nombre, el tamaño y el tipo de los datos
que​ ​se​ ​van​ ​a​ ​almacenar​ ​en​ ​el​ ​arreglo​ ​ejemplo:
hay​ ​que​ ​diferenciar​ ​dos​ ​términos​ ​:
Tamaño del vector (T): es el número máximo de elementos que puede contener el
vector.
Numero de elementos(N): que indica cuantos elementos hay almacenados en el
arreglo​ ​en​ ​determinado​ ​momento.​ ​Nota​ ​N<=T.
T​ ​=​ ​10;
Real:​ ​notas[T]

2 Llenar el vector con los datos: Se puede hacer en el momento de la declaración


asignando​ ​al​ ​vector​ ​los​ ​valores​ ​que​ ​necesitamos​ ​almacenar.​ ​Ejemplo.
real​ ​:​ ​notas[10]​ ​=​ ​{2.3​ ​,​ ​3.5​ ​,​ ​4.2​ ​,​ ​3.3​ ​,​ ​3.0​ ​,​ ​4.9​ ​,​ ​4.2​ ​,​ ​3.0​ ​,​ ​2.0​ ​,​ ​1.5​ ​};
ó​ ​recorriendo​ ​el​ ​arreglo​ ​así:

para​ ​i​ ​=​ ​1​ ​hasta​ ​N


…….leer(​ ​notas[i]​ ​)
fin_para

3​ ​manipular​ ​la​ ​información​ ​guardada​ ​en​ ​el​ ​vector.​ ​Para​ ​esto​ ​es​ ​necesario​ ​recorrer
dicha​ ​estructura​ ​y​ ​se​ ​puede​ ​hacer​ ​de​ ​la​ ​siguiente​ ​manera.

para​ ​i​ ​=​ ​1​ ​hasta​ ​N


…….mostrar​ ​(​ ​notas[i]​ ​)
fin_para

las​ ​operaciones​ ​que​ ​se​ ​pueden​ ​realizar​ ​con​ ​los​ ​arreglos​ ​son​ ​las​ ​siguientes:
-​ ​lectura​ ​(llenar​ ​el​ ​vector)
-​ ​escritura​ ​(mostrar​ ​el​ ​vector)
-​ ​asignación​ ​(dar​ ​valor​ ​a​ ​una​ ​posición​ ​específica)
-​ ​actualización​ ​(inserción​ ​,​ ​eliminación,​ ​modificación​ ​)
-​ ​ordenación​ ​.​ ​(burbuja,​ ​inserción​ ​directa,​ ​selección​ ​directa,​ ​selle​ ​y​ ​quicksort).
-​ ​búsqueda.​ ​(secuencial​ ​,​ ​binaria,​ ​hash(​ ​por​ ​claves)​ ​).

www.educaciononline.edu.ec 35
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Post​ ​Test​ ​15​ ​(PROBLEMAS​ ​PROPUESTOS )

Ejercicios propuestos: para un arreglo de tamaño N. Realizar una función para cada
uno​ ​de​ ​los​ ​siguientes​ ​puntos;

1. Calcular​ ​y​ ​devolver​ ​el​ ​número​ ​mayor​ ​del​ ​arreglo.


2. Calcular​ ​y​ ​devolver​ ​cuantas​ ​veces​ ​esta​ ​un​ ​dato​ ​dado.
3. Calcular​ ​y​ ​devolver​ ​cuantas​ ​veces​ ​esta​ ​el​ ​número​ ​menor.
4. Calcular​ ​y​ ​devolver​ ​el​ ​promedio​ ​de​ ​los​ ​datos.
5. Calcular​ ​y​ ​devolver​ ​la​ ​sumatoria​ ​de​ ​los​ ​datos​ ​impares.
6. Calcular y devolver la sumatoria de los datos que están en las posiciones
impares.
7. Devuelva​ ​la​ ​cantidad​ ​de​ ​números​ ​pares.
8. Devuelva​ ​el​ ​porcentaje​ ​de​ ​números​ ​pares.
9. Devuelva​ ​el​ ​promedio​ ​de​ ​los​ ​números​ ​pares.
10. Devuelva​ ​el​ ​mayor​ ​de​ ​los​ ​números​ ​primos.
11. Devuelva​ ​el​ ​número​ ​que​ ​tiene​ ​la​ ​mayor​ ​suma​ ​de​ ​dígitos.

ejercicios: para un arreglo de tamaño N. Realizar un procedimiento para cada uno de


los​ ​siguientes​ ​puntos;

1. Mostrar​ ​los​ ​números​ ​primos.


2. Mostrar​ ​cuantos​ ​primos​ ​hay​ ​en​ ​el​ ​vector.
3. Mostrar​ ​la​ ​diferencia​ ​entre​ ​el​ ​número​ ​mayor​ ​y​ ​el​ ​número​ ​menor.
4. Invertir​ ​el​ ​vector​ ​y​ ​mostrarlo.
5. Mostrar​ ​el​ ​número​ ​con​ ​la​ ​menor​ ​suma​ ​de​ ​dígitos​ ​y​ ​decir​ ​Cuantas​ ​veces​ ​esta.
6. Mostrar​ ​cuantas​ ​veces​ ​esta​ ​cada​ ​dato.

ARRAY​ ​BIDMENSIONALES​ ​(MATRICES)


Consiste en un vector de vectores y es por lo tanto un conjunto de elementos del
mismo tipo en el que el orden de los componentes es significativo y en el que
necesitan especificarse dos subíndices para poder identificar cada elemento de la
matriz.
Los​ ​pasos​ ​para​ ​la​ ​utilización​ ​de​ ​una​ ​matriz​ ​son;
1. declarar la matriz: consiste en establecer el nombre, el tamaño y el tipo de los datos
que​ ​se​ ​van​ ​a​ ​almacenar​ ​en​ ​la​ ​matriz​ ​ejemplo:
N​ ​=​ ​3;
M​ ​=​ ​4;

www.educaciononline.edu.ec 36
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
Real:​ ​matriz[N][M]

2. llenar la matriz con los datos: se puede hacer en el momento de la declaración


asignando​ ​a​ ​la​ ​matriz​ ​los​ ​valores​ ​que​ ​necesitamos​ ​almacenar.​ ​Ejemplo.
real:​ ​notas[][​ ​]​ ​=​ ​{​ ​{2.3​ ​,​ ​3.5​ ​,​ ​4.2​ ​},{​ ​3.3​ ​,​ ​3.0​ ​,​ ​4.9}​ ​,{​ ​4.2​ ​,​ ​3.0​ ​,​ ​2.0​ ​}​ ​}
ó​ ​recorriendo​ ​el​ ​arreglo​ ​así:

para​ ​f​ ​=​ ​1​ ​hasta​ ​3​ ​,​ ​1


........para​ ​c​ ​=​ ​1​ ​hasta​ ​4​ ​,​ ​1
..................leer(​ ​matriz[f][c]​ ​)
........fin​ ​del​ ​para
fin​ ​del​ ​para

3.​ ​manipular​ ​la​ ​información​ ​guardada​ ​en​ ​la​ ​matriz.​ ​Para​ ​esto​ ​es​ ​necesario​ ​recorrer
dicha​ ​estructura​ ​y​ ​se​ ​puede​ ​hacer​ ​de​ ​la​ ​siguiente​ ​manera.

para​ ​f​ ​=​ ​1​ ​hasta​ ​3​ ​,1


......para​ ​c​ ​=​ ​1​ ​hasta​ ​4,​ ​1
..............mostrar​ ​(​ ​matriz[f][c]​ ​)
......fin​ ​del​ ​para
fin​ ​del​ ​para

Post​ ​test​ ​16​ ​(Problemas​ ​planteados)

Para una matriz de NxM que ya tiene los datos realizar un procedimiento para
cada​ ​uno​ ​de​ ​los​ ​siguientes​ ​puntos.

1. Calcule​ ​y​ ​muestre​ ​el​ ​promedio​ ​de​ ​todos​ ​los​ ​datos​ ​de​ ​la​ ​matriz.
2. Calcule​ ​y​ ​muestre​ ​los​ ​promedios​ ​de​ ​cada​ ​columna
3. Cual​ ​de​ ​las​ ​filas​ ​tiene​ ​el​ ​mayor​ ​promedio.
4. Cuantos​ ​datos​ ​positivos​ ​hay​ ​en​ ​cada​ ​fila
5. Cual​ ​de​ ​las​ ​columnas​ ​tiene​ ​mas​ ​números​ ​pares
6. Cuanto​ ​suman​ ​los​ ​datos​ ​de​ ​la​ ​diagonal​ ​principal
7. Cual​ ​es​ ​el​ ​dato​ ​mayor​ ​de​ ​la​ ​diagonal​ ​secundaria
8. Cuantas​ ​veces​ ​se​ ​repite​ ​cada​ ​dato.
9. Cuantas veces se repite el dato mayor de la matriz y en que posiciones
se​ ​encuentra.
10. Mostrar​ ​los​ ​números​ ​primos​ ​de​ ​cada​ ​fila.
11. Mostrar​ ​las​ ​filas​ ​que​ ​tienen​ ​la​ ​mayor​ ​cantidad​ ​de​ ​números​ ​pares.
12. Mostrar los datos de cada fila que tienen la mayor suma de dígitos de la
fila

www.educaciononline.edu.ec 37
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
13. Mostrar​ ​las​ ​columnas​ ​que​ ​tienen​ ​el​ ​mayor​ ​porcentaje​ ​de​ ​datos​ ​impares.
14. Ordenar​ ​ascendentemente​ ​cada​ ​fila.
15. Mostrar​ ​la​ ​suma​ ​de​ ​dígitos​ ​de​ ​los​ ​datos​ ​de​ ​cada​ ​fila.
16. Mostrar​ ​las​ ​filas​ ​que​ ​tienen​ ​la​ ​mayor​ ​suma​ ​de​ ​dígitos​ ​de​ ​todos​ ​sus​ ​datos.
17. Mostrar​ ​el​ ​dato​ ​mayor​ ​de​ ​cada​ ​fila.
18. Mostrar​ ​los​ ​datos​ ​primos​ ​de​ ​cada​ ​columna.
19. Mostrar los datos de la matriz que son primos y su suma de dígitos es
igual​ ​a​ ​12
20. Invertir la posición de los datos de cada fila (si una fila tiene 1,2,3 daría
3,2,1).
21. Invertir​ ​los​ ​dígitos​ ​de​ ​los​ ​datos​ ​pares​ ​de​ ​la​ ​matriz.
22. Mostrar​ ​el​ ​porcentaje​ ​de​ ​datos​ ​impares​ ​de​ ​cada​ ​columna.
23. Mostrar​ ​las​ ​columnas​ ​que​ ​tienen​ ​el​ ​mayor​ ​porcentaje​ ​de​ ​datos​ ​pares.
24. Ordenar​ ​ascendentemente​ ​los​ ​datos​ ​de​ ​la​ ​matriz.
25. Mostrar​ ​cuantas​ ​veces​ ​se​ ​repite​ ​el​ ​dato​ ​mayor​ ​de​ ​cada​ ​columna.

Para una matriz cuadrada de orden N * N haga un procedimiento para cada


punto:

26. mostrar el dato mayor de los datos que están ubicados en la región
especificada:

27.​ ​mostrar​ ​los​ ​números​ ​primos​ ​ubicados​ ​en​ ​la​ ​región​ ​especificada:

www.educaciononline.edu.ec 38
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

28.​ ​mostrar​ ​el​ ​porcentaje​ ​de​ ​datos​ ​pares​ ​ubicados​ ​en​ ​la​ ​región​ ​especificada:

www.educaciononline.edu.ec 39
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

29.​ ​mostrar​ ​el​ ​porcentaje​ ​de​ ​datos​ ​pares​ ​ubicados​ ​en​ ​la​ ​región​ ​especificada:

30. mostrar las posiciones donde esta ubicado el dato menor que están ubicados en la
región​ ​especificada:

31. para una matriz de tamaño N * M haga un procedimiento que transforme la matriz
recibida​ ​en​ ​su​ ​transpuesta​ ​y​ ​luego​ ​la​ ​muestra​ ​(sin​ ​utilizar​ ​matrices​ ​auxiliares).
33. hacer un procedimiento que reciba 2 matrices( la primera de tamaño N*M y la
segunda de tamaño M*L) y construya una tercera matriz con la multiplicación de las
dos​ ​primeras.

REGISTROS
Un registro es un dato estructurado, donde cada uno de sus componentes se
denomina campo. Los campos de un registro pueden ser todos de diferentes tipos. Por
lo tanto también podrán ser registros o arreglos. Cada campo se identifica por un
nombre​ ​único​ ​(el​ ​identificador​ ​del​ ​campo):
DEFINICION​ ​DE​ ​REGISTRO
Para​ ​definir​ ​un​ ​registro​ ​se​ ​hará​ ​de​ ​la​ ​siguiente​ ​manera:

www.educaciononline.edu.ec 40
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

REGISTRO:id_registro
....tipo1:id_campo1
....tipo2:id_campo2
....tipo3:id_campo3

fin​ ​de​ ​la​ ​definición

Para​ ​acceder​ ​a​ ​un​ ​campo​ ​determinado​ ​de​ ​un​ ​registro​ ​se​ ​hará​ ​de​ ​la​ ​siguiente​ ​manera:

id_registro.id_campo
Ejemplo
Crear​ ​un​ ​registro,​ ​estudiante,​ ​con​ ​los​ ​campos:​ ​cedula,​ ​nombre,​ ​pago
REGISTRO:Estudiante
....cadena:cedula
....cadena:nombre
....entero:pago
fin​ ​de​ ​la​ ​definición
Problema​ ​planteado:

para el mismo registro estudiante utilizado en el ejemplo y que ya se encuentra con


los​ ​datos​ ​hacer:
● Un​ ​procedimiento​ ​que​ ​calcule​ ​y​ ​muestre​ ​la​ ​nota​ ​mayor.
● Una función que devuelva un booleano diciendo si el estudiante gano o perdió
la​ ​materia(​ ​se​ ​gana​ ​con​ ​promedio​ ​mayor​ ​o​ ​igual​ ​a​ ​3.0).
● Una​ ​función​ ​que​ ​devuelva​ ​la​ ​nota​ ​menor.
LISTAS​ ​ENLAZADAS
Una lista enlazada o encadenada es un conjunto de elementos en los que cada
elemento contiene la posición (o dirección ) del siguiente elemento de la lista. Cada
elemento de la lista debe tener al menos dos campos: un campo que contiene el valor
del elemento y un campo( enlace, link) que contiene la posición del siguiente
elemento, es decir su conexión, enlace o encadenamiento. Los elementos de una lista
son​ ​enlazados​ ​por​ ​medio​ ​de​ ​los​ ​campo​ ​enlaces.
Las​ ​listas​ ​enlazadas​ ​se​ ​conforman​ ​por​ ​nodos,​ ​como​ ​el​ ​que​ ​se​ ​muestra​ ​a​ ​continuación.

www.educaciononline.edu.ec 41
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
Los componentes de los nodos se llaman campos. Un nodo tiene al menos un campo
dato​ ​o​ ​valor​ ​y​ ​un​ ​enlace​ ​o​ ​liga​ ​(dirección​ ​o​ ​puntero)​ ​con​ ​el​ ​siguiente​ ​campo.
El último nodo de la lista enlazada tiene como liga un NULL, indicando que la lista
termina​ ​en​ ​ese​ ​nodo.
El enlace o puntero es una variable cuyo valor es la dirección o posición de otra
variable. En las listas enlazadas no es necesario que los elementos de la lista sean
almacenados en posiciones físicas adyacentes, ya que el puntero indica donde se
encuentra​ ​el​ ​siguiente​ ​elemento​ ​de​ ​la​ ​lista​ ​.

Las listas enlazadas son estructuras dinámicas, queriendo decir esto que pueden
crecer o encogerse durante la ejecución de un programa, utilizando así sólo la
memoria​ ​que​ ​requiere.

Una​ ​lista​ ​enlazada​ ​se​ ​define​ ​por:


● El​ ​tipo​ ​de​ ​sus​ ​elementos​ ​o​ ​nodos
● Campo​ ​de​ ​información​ ​(datos)
● Campo​ ​enlace​ ​o​ ​liga​ ​(puntero
● Un puntero de cabecera que permite acceder al primer elemento de la lista,
utilizaremos​ ​la​ ​variable​ ​llamada​ ​punta.
● Un​ ​medio​ ​para​ ​determinar​ ​el​ ​ultimo​ ​elemento​ ​de​ ​la​ ​lista:​ ​liga​ ​=​ ​null
Para​ ​acceder​ ​al​ ​campo​ ​dato​ ​de​ ​un​ ​registro​ ​p​ ​utilizaremos​ ​la​ ​siguiente​ ​notación
k​ ​=​ ​p.dato
asignará​ ​a​ ​la​ ​variable​ ​k​ ​el​ ​valor​ ​que​ ​hay​ ​en​ ​p.dato
si​ ​la​ ​punta​ ​=​ ​null​ ​quiere​ ​decir​ ​que​ ​la​ ​lista​ ​esta​ ​vacía.
Para​ ​pedir​ ​un​ ​nodo​ ​p
pcrea_nodo()
para​ ​liberar​ ​un​ ​nodo​ ​de​ ​la​ ​memoria​ ​se​ ​hará​ ​de​ ​la​ ​siguiente​ ​manera:
libere(p)
Para manipular y sacar información de la lista es necesario recorrerla y se hace de la
siguiente​ ​manera:

www.educaciononline.edu.ec 42
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Las​ ​operaciones​ ​básicas​ ​para​ ​el​ ​manejo​ ​de​ ​listas​ ​enlazadas​ ​son:
● Insertar​ ​al​ ​principio​ ​de​ ​la​ ​lista​ ​un​ ​dato​ ​dado
● Mostrar​ ​el​ ​promedio​ ​de​ ​los​ ​datos​ ​de​ ​la​ ​lista
● Decir​ ​si​ ​un​ ​dato​ ​dado​ ​se​ ​encuentra​ ​o​ ​no​ ​en​ ​la​ ​lista.
● Eliminar​ ​un​ ​dato​ ​dado​ ​de​ ​la​ ​lista

Post​ ​Test​ ​16​ ​(Problemas​ ​planteados)

Para una lista simplemente ligada creada con el mismo registro nodo utilizado en el
ejemplo​ ​anterior,​ ​realice​ ​un​ ​procedimiento​ ​para​ ​cada​ ​punto:

● calcular​ ​y​ ​mostrar​ ​el​ ​dato​ ​mayor​ ​de​ ​la​ ​lista​ ​e​ ​indicar​ ​cuantas​ ​veces​ ​se​ ​repite.
● calcular​ ​el​ ​número​ ​menor​ ​de​ ​los​ ​impares.
● eliminar​ ​el​ ​último​ ​dato​ ​de​ ​la​ ​lista.
● eliminar​ ​el​ ​primer​ ​dato​ ​de​ ​la​ ​lista.
● eliminar​ ​el​ ​dato​ ​que​ ​se​ ​encuentra​ ​antes​ ​de​ ​un​ ​dato​ ​dado.
● insertar en la lista de tal manera que los datos queden ordenados
ascendentemente.
● organizar​ ​los​ ​datos​ ​de​ ​la​ ​lista​ ​en​ ​orden​ ​ascendente.

LISTAS​ ​SIMPLEMENTE​ ​LIGADAS​ ​CIRCULARES​

Las listas simplemente enlazadas no permiten a partir de un elemento dado acceder


directamente a cualquiera de los que le preceden. En lugar de almacenar un puntero
null en el campo liga del ultimo nodo de la lista, se hace que el ultimo elemento apunte
al​ ​primero​ ​(punta)​ ​o​ ​principio​ ​de​ ​la​ ​lista.

www.educaciononline.edu.ec 43
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Las listas circulares presentan las siguientes ventajas respecto a las listas
simplemente​ ​enlazadas.

● Dado​ ​un​ ​nodo​ ​se​ ​puede​ ​recorrer​ ​la​ ​lista​ ​completa.


● Las operaciones de concatenación y división de las listas son más eficaces con
listas​ ​circulares.

Entre los inconvenientes esta que se pueden presenta ciclos infinitos en los
algoritmos.

Para manipular y sacar información de la lista es necesario recorrerla y se puede


hacer​ ​de​ ​la​ ​siguiente​ ​manera:

Post​ ​Test​ ​17​ ​(Problemas​ ​planteados)

Para una lista simplemente ligada circular creada con el mismo registro nodo
utilizado​ ​en​ ​el​ ​ejemplo​ ​anterior,​ ​realice​ ​un​ ​procedimiento​ ​para​ ​cada​ ​punto:

● calcular​ ​y​ ​mostrar​ ​el​ ​dato​ ​mayor​ ​de​ ​la​ ​lista​ ​e​ ​indicar​ ​cuantas​ ​veces​ ​se​ ​repite.
● calcular​ ​el​ ​número​ ​menor​ ​de​ ​los​ ​impares.
● eliminar​ ​el​ ​último​ ​dato​ ​de​ ​la​ ​lista.
www.educaciononline.edu.ec 44
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
● eliminar​ ​el​ ​primer​ ​dato​ ​de​ ​la​ ​lista.
● eliminar​ ​el​ ​dato​ ​que​ ​se​ ​encuentra​ ​antes​ ​de​ ​un​ ​dato​ ​dado.
● insertar en la lista de tal manera que los datos queden ordenados
ascendentemente.
● organizar​ ​los​ ​datos​ ​de​ ​la​ ​lista​ ​en​ ​orden​ ​ascendente.

LISTAS​ ​SIMPLEMENTE​ ​LIGADAS​ ​CIRCULAR​ ​CON​ ​REGISTRO​ ​CABEZA

La​ ​representación​ ​gráfica​ ​de​ ​esta​ ​lista​ ​es​ ​la​ ​siguiente:

El primer nodo o registro de esta lista se llama registro cabeza. El campo de la


información del registro cabeza no se utiliza, lo que se señala con el sombreado de
dicho​ ​campo.

Una lista simplemente ligada con registro cabeza vacía se representa de la siguiente
manera:

El registro cabeza se utiliza para facilitar las operaciones de recorrer la lista, insertar
un​ ​registro,​ ​borrar​ ​un​ ​registro​ ​etc.
Para manipular y sacar información de la lista es necesario recorrerla y se puede
hacer​ ​de​ ​la​ ​siguiente​ ​manera:

www.educaciononline.edu.ec 45
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Post​ ​Test​ ​18​ ​(Problemas​ ​planteados)

Para una lista simplemente ligada circular con registro cabeza creada con el mismo
registro nodo utilizado en el ejemplo anterior, realice un procedimiento para cada
punto:

● calcular​ ​y​ ​mostrar​ ​el​ ​dato​ ​mayor​ ​de​ ​la​ ​lista​ ​e​ ​indicar​ ​cuantas​ ​veces​ ​se​ ​repite.
● calcular​ ​el​ ​número​ ​menor​ ​de​ ​los​ ​impares.
● eliminar​ ​el​ ​último​ ​dato​ ​de​ ​la​ ​lista.
● eliminar​ ​el​ ​primer​ ​dato​ ​de​ ​la​ ​lista.
● eliminar​ ​el​ ​dato​ ​que​ ​se​ ​encuentra​ ​antes​ ​de​ ​un​ ​dato​ ​dado.
● insertar en la lista de tal manera que los datos queden ordenados
ascendentemente.
● organizar​ ​los​ ​datos​ ​de​ ​la​ ​lista​ ​en​ ​orden​ ​ascendente.

LISTAS​ ​DOBLEMENTE​ ​LIGADAS.


Estas​ ​listas​ ​se​ ​pueden​ ​recorrer​ ​de​ ​izquierda​ ​a​ ​derecha​ ​y​ ​de​ ​derecha​ ​a​ ​izquierda.
El​ ​registro​ ​utilizado​ ​es​ ​el​ ​siguiente:

www.educaciononline.edu.ec 46
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   

Donde​ ​:
1. LI​ ​apunta​ ​al​ ​registro​ ​anterior​ ​del​ ​registro.
2. DATO:​ ​es​ ​la​ ​información​ ​contenida​ ​en​ ​la​ ​lista
3. LD​ ​apunta​ ​al​ ​registro​ ​siguiente​ ​del​ ​registro.
Como​ ​ejemplo​ ​se​ ​muestra​ ​la​ ​siguiente​ ​lista:

La​ ​propiedad​ ​fundamental​ ​de​ ​las​ ​listas​ ​doblemente​ ​ligadas​ ​es:


(p.LI).LD​ ​=​ ​p​ ​=​ ​(p.LD).LI
para recorrer la lista se utiliza el mismo algoritmo utilizado para recorrer una lista
simplemente​ ​ligada,​ ​teniendo​ ​en​ ​cuanta​ ​el​ ​sentidos​ ​en​ ​que​ ​se​ ​va​ ​hacer​ ​el​ ​recorrido.

Bibliografia

http://ayura.udea.edu.co/~jlsanche/index.htm

www.educaciononline.edu.ec 47
COLEGIO​ ​PARTICULAR​ ​A​ ​DISTANCIA    ​ ​ ​ ​ ​Acuerdo​ ​Ministerial​ ​No.​ ​200-09  
“​JEAN​ ​PEAGET ​ ​Quito​ ​–​ ​Ecuador   
Pueden​ ​consultar​ ​más​ ​en:

http://gpsis.utp.edu.co/omartrejos/index.php?o=libros&id=1

Descargar​ ​libros​ ​completos​ ​de​ ​Lógica​ ​de​ ​Programación:

http://gpsis.utp.edu.co/omartrejos/descargas/Libro_La​ ​Esencia​ ​de​ ​la​ ​Logica.zip

http://gpsis.utp.edu.co/omartrejos/descargas/Libro_Alg_Prob_Bas.zip

http://gpsis.utp.edu.co/omartrejos/descargas/Libro_Fundam_Program.zip

http://fenix.utim.edu.mx/man/general/biblioteca/info2004/Logica_de_Programacio
n.pdf

www.educaciononline.edu.ec 48