&rpelqdflyq gh rshudflrqhv eivlfdv · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr...

22
1 Combinación de operaciones básicas • Selectiva – Un algoritmo puede optar por ejecutar o no una operación (SI –ENTONCES). – Un algoritmo puede optar por ejecutar una u otra operación (SI-ENTONCES-SINO). – Esta decisión se basa en un condición. Esta decisión controla el flujo del algoritmo. – Por esto, se denomina una estructura de control. Curso: COIS-102 Combinación de operaciones básicas C 3 4 2 1 C: Condición Curso: COIS-102 Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin Curso: COIS-102 Combinación de operaciones básicas Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la micro fin Curso: COIS-102

Upload: others

Post on 06-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

1

Combinación de operaciones básicas

• Selectiva– Un algoritmo puede optar por ejecutar o no una

operación (SI –ENTONCES).

– Un algoritmo puede optar por ejecutar una u otra operación (SI-ENTONCES-SINO).

– Esta decisión se basa en un condición.

– Esta decisión controla el flujo del algoritmo.

– Por esto, se denomina una estructura de control.

Curso: COIS-102

Combinación de operaciones básicas

C

3

4

2

1

C: Condición

Curso: COIS-102

Combinación de operaciones básicas

Inicio

Ejecutar 1

Ejecutar 2

si se cumple C entonces

Ejecutar 3

fin si

Ejecutar 4

fin

Curso: COIS-102

Combinación de operaciones básicas

• Ejemplo: levantarse en la mañana

Iniciosalir de la camaducharsetomar desayunosi esta lloviendo entonces

tomar el paraguasfin sitomar la mochilatomar la micro

fin

Curso: COIS-102

Page 2: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

2

Combinación de operaciones básicas

C

3a 3b

4

2

1

si no

C: CondiciónCurso: COIS-102

Combinación de operaciones básicas

InicioEjecutar 1Ejecutar 2si se cumple C entonces

Ejecutar 3asi no

Ejecutar 3bfin siEjecutar 4

fin

Curso: COIS-102

Curso: COIS-102

Combinación de operaciones básicas

• Ejemplo: levantarse en la mañanaInicio

salir de la camaducharsetomar desayunosi esta lloviendo entonces

llevar la parcasi no

llevar la chaquetafin sitomar la mochilatomar la micro

fin

Combinación de operaciones básicas

• Estructura de control selectiva– Una condición es cualquier proposición lógica

que tenga un valor verdadero o falso definido.

– Este esquema selectivo se denomina “decision binaria”.

– ¿Y si hay más de dos opciones?

Curso: COIS-102

Page 3: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

3

Combinación de operaciones básicas

• Estructura de control selectiva– Toda decisión se puede llevar a un esquema de

decisión binaria.

– Basta con decidir entre una alternativa y todo el resto

– Si se elige “el resto”, se decide entre una alternativa y el resto del resto.

– Etc…

Curso: COIS-102 Curso: COIS-102

Combinación de operaciones básicas

2a 2b 2c

3

1

x?x mayor que 0

x igual a 0

x menor que 0

Combinación de operaciones básicas

3

x mayor que 0?

1

x menor que 0?

si

si

no

no

2a 2b 2c

Curso: COIS-102

Combinación de operaciones básicas

InicioEjecutar 1Si x es mayor que cero entonces

Ejecutar 2aSi no

Si x es menor que cero entoncesEjecutar 2c

Si noEjecutar 2b

fin sifin siEjecutar 3

fin

Curso: COIS-102

Page 4: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

4

Combinación de operaciones básicas• Ejemplo: levantarse en la mañanaInicio

salir de la camaducharsetomar desayunosi esta lloviendo entonces

llevar la parcasi no esta lloviendo pero hace frío

llevar la chaquetasi no

llevar un chalecofin sitomar la mochilatomar la micro

fin

Curso: COIS-102

Combinación de operaciones básicas

• Estructura de selección múltiple– Para algunos casos se puede utilizar un esquema

selectivo no binario (EN EL CASO DE)

– Ejemplo: ingreso de opción de menú de un cajero automático

• Si el usuario presionó el botón 1, hacer un giro

• Si el usuario presionó el botón 2, entregar saldo

• Si el usuario presionó el botón 3, cambiar la clave

• Etc.

Curso: COIS-102

Combinación de operaciones básicas

Botón

giro saldo clave error

1 32

etoc

salirCurso: COIS-102

Combinación de operaciones básicas

Inicioen el caso que el botón presionado

sea el 1hacer giro

sea el 2entregar saldo

sea el 3cambiar clave

…En cualquier otro caso

Errorfin caso

fin

Curso: COIS-102

Page 5: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

5

Combinación de operaciones básicas

• Repetitiva– Además de combinar operaciones en forma

secuencial y selectiva, se puede repetir la ejecución de una operación cuantas veces se desee.

– Existen varios esquemas• Repetir MIENTRAS se cumpla una condición.• Repetir HASTA QUE se cumpla una condición.• Repetir un número de veces.

Curso: COIS-102

Combinación de operaciones básicas

• MIENTRAS– Se repite una operación mientras una condición

sea verdadera.

– Al dejar de serlo, se rompe el ciclo

– Si la condición nunca es falsa, se tiene un ciclo infinito.

Curso: COIS-102

Curso: COIS-102

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Combinación de operaciones básicas

Inicio

ejecutar 1

mientras se cumpla la condición

ejecutar 2

fin mientras

ejecutar 3

fin

Curso: COIS-102

Page 6: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

6

Curso: COIS-102

Combinación de operaciones básicas

• Ejemplo validar ingreso de valor positivo

Inicio

definir variable x

asignar el valor -1 a x

mientras x sea menor que cero

ingresar x por teclado

fin mientras

mostrar valor de x

fin

Combinación de operaciones básicas

• HASTA QUE– Se repite la ejecución de una operación hasta

que se cumpla una condición.

– La principal diferencia con MIENTRAS es que la operación se ejecuta al menos una vez.

Curso: COIS-102

Curso: COIS-102

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Combinación de operaciones básicas

Inicio

ejecutar 1

repetir

ejecutar 2

hasta que se cumpla condición

ejecutar 3

fin

Curso: COIS-102

Page 7: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

7

Combinación de operaciones básicas

• Ejemplo– Mismo ejemplo anterior

Inicio

definir variable x

repetir

ingresar x por teclado

Hasta que x sea mayor que cero

mostrar valor de x

fin

Curso: COIS-102 Curso: COIS-102

Combinación de operaciones básicas

• Repetir un número fijo de veces– Muy útil cuando se sabe el numero de

repeticiones a ejecutar.– Por lo general se define una variable que sirve

de contador– El contador mantiene el número de cada

iteración.– También se puede definir el incremento del

contador en cada iteración.

Combinación de operaciones básicas

Inicio contador, fin contador

2

3

1

Curso: COIS-102

Combinación de operaciones básicas

Inicio

ejecutar 1

desde contador inicial hasta contador final

ejecutar 2

fin desde

ejecutar 3

fin

Curso: COIS-102

Page 8: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

8

Curso: COIS-102

Combinación de operaciones básicas

• Ejemplo

5

0i

iInicio

definir variable “sumatoria”

asignar el valor 0 a “sumatoria”

desde i igual a 0 hasta i igual a 5

sumatoria = sumatoria + i

fin desde

mostrar valor de “sumatoria”

fin

Combinación de operaciones básicas

• Combinación de estructuras de control seriales, selectivas y repetitivas– Cualquier combinación es posible

– Pueden existir estructuras anidadas

– Es importante definir el comienzo y el termino de cada estructura

Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• Las instrucciones básicas y comunes pueden dividirse en cuatro grupos:– Instrucciones de Entrada /Salida:

Transferencia de datos e información entre dispositivos periféricos (teclado, impresora, unidad de disco, etc.) y memoria central.

– Instrucciones Aritmético-Lógicas: Tienen la función de ejecutar operaciones aritméticas (suma, resta, multiplicación, división, potenciación), lógicas (operaciones and, or, not, etc.).

Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• Las instrucciones básicas y comunes pueden dividirse en cuatro grupos:– Instrucciones Selectivas: Estas permiten

la elección de una tarea entre varias alternativas en función de los resultados de diferentes expresiones condicionales.

– Instrucciones Repetitivas: Permiten la repetición de secuencias de instrucciones, un número determinado o indeterminado de veces.

Curso: COIS-102

Page 9: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

9

FUNDAMENTOS DE ALGORITMOS• CONSTANTES Y VARIABLES• Las constantes son datos cuyos valores no

cambian, pero existen datos cuyos valores sí varían durante la ejecución del programa, a éstos los llamamos variables. En la mayoría de los lenguajes de programación se permiten diferentes tipos de constantes: enteras, reales, caracteres y boolean o lógicas, quienes representan datos de estos tipos.

• Entonces una variable se conoce como un objeto, o partida de datos cuyo valor puede cambiar durante la ejecución del algoritmo o programa.

• A las variables y a las constantes se les conoce o identifica por los atributos siguientes: nombre o identificador que lo asigna y tipo que describe el uso de la variable. Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS• Identificadores:

– Deben empezar con letra, excepto ñ o Ñ, o guión bajo y estar seguidos de cero o más letras, números o guiones bajos

– No se permiten símbolos como– $ ¡ ! ¿ ? ° | & - % # @ , . ‘ “ / \ o

espacios en blanco y tabuladores• Palabras reservadas: Existe un conjunto

palabras que se utilizan tanto en pseudocódigo como en los lenguajes de programación no pueden ser utilizadas como nombres de identificadores ni de funciones.

Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• OPERACION DE ASIGNACION• Se le otorgan valores a una variable. Esta

operación de asignación se conoce como instrucción o sentencia de asignación, si es que está en un lenguaje de programación

• La operación de asignación es representada por un símbolo u operador:

• La acción de asignar puede ser destructiva ya que puede perderse el valor que tuviera la variable antes, siendo reemplazado por el nuevo valor. Las acciones de asignación se clasifican según sea el tipo de expresiones en: Asignación aritméticas, Asignación lógica y Asignación de caracteresCurso: COIS-102

FUNDAMENTOS DE ALGORITMOS• EXPRESIONES• Son la combinación de constantes, variables,

símbolos de operación, paréntesis y nombres de funciones especiales, idea que puede ser utilizada en notaciones de matemática tradicional. Los valores de las variables nos permitirán determinar el valor de las expresiones, debido a que éstos están implicados en la ejecución de las operaciones indicadas. Estas constan de operandos y operadores.

• Según el tipo de objetos que manipulan, pueden clasificarse en:– Aritméticas -> resultado tipo numérico.– relacionales -> resultado tipo lógico.– lógicas -> resultado tipo lógico.– caracter -> resultado tipo caracter.Curso: COIS-102

Page 10: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

10

FUNDAMENTOS DE ALGORITMOS

• Expresiones Aritméticas• Estas expresiones son análogas a las fórmulas

matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas

• Operadores aritméticos• Precedencia• - (operador monario)• ^ (exponenciación), (radicación)• *, / (división real),• +, -• div o / (cociente de división entera) , mod o %

(residuo de división entera)Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• Expresiones lógicas: Su valor es siempre verdadero o falso.

• Se forman combinando constantes lógicas , variables lógicas y otras expresiones lógicas, utilizando los operadores lógicos y los operadores relacionales

• Operadores relacionales• Precedencia• >, <• >=, <=• == (igualdad)• <> o != (desigualdad)

Curso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• Operadores lógicos• Precedencia• ! o ~ o not (negado)• and o && (conjunción)• or o || (disyunción)• Nota: En C# un valor

falso se toma como 0 y un valor verdadero se toma como cualquier valor diferente de cero

A NOT

F V

V F

A B AND OR

F F F F

F V F V

V F F V

V V V VCurso: COIS-102

FUNDAMENTOS DE ALGORITMOS

• ENTRADA Y SALIDA DE INFORMACION• El ingreso de datos es importante para que la

computadora realice los cálculos; esta operación es la entrada, luego, estos datos se convertirán en resultados y serán la salida.

• A la entrada se le conoce como operación de Lectura (read). La operación de lectura se realiza a través de los dispositivos de entrada que son (teclado, unidades de disco, CD-Rom, etc.).

• La operación de salida se realiza por medio de dispositivos como (monitor, impresora, etc), a esta operación se le conoce como escritura (write).

Curso: COIS-102

Page 11: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

11

INTRODUCCION A LA PROGRAMACION ESTRUCTURADA

• El entendimiento de los algoritmos y luego de los programas, exige que su diseño sea fácil de comprender y su flujo lógico un camino fácil de seguir

• La descomposición de programas en módulos más simples de programar se dará a través de la programación modular, y la programación estructurada permitirá la escritura de programas fáciles de leer y modificar. Curso: COIS-102

PROGRAMACION MODULAR• Este es uno de los métodos para el diseño más flexible y de

mayor performance para la productividad de un programa. En este tipo de programación el programa es dividido en módulos, cada uno de las cuales realiza una tarea específica, codificándose independientemente de otros módulos. Cada uno de éstos son analizados, codificados y puestos a punto por separado.

• Los programas contienen un módulo denominado módulo principal, el cual supervisa todo lo que sucede, transfiriendo el control a submódulos (los que son denominados subprogramas), para que puedan realizar sus funciones. Sin embargo, cada submódulo devolverá el control al módulo principal una vez completada su tarea. Si las tareas asignadas a cada submódulo son demasiado complejas, se procederá a una nueva subdivisión en otros módulos más pequeños aún.

Curso: COIS-102

PROGRAMACION MODULAR

• Este procedimiento se realiza hasta que cada uno de los módulos realicen tareas específicas. Estas pueden ser entrada, salida, manipulación de datos, control de otros módulos o alguna combinación de éstos. Puede ser que un módulo derive el control a otro mediante un proceso denominado bifurcación, pero se debe tomar en cuenta que esta derivación deberá ser devuelta a su módulo original.

• Los módulos son independientes, de modo que ningún módulo puede tener acceso directo a cualquier otro módulo, excepto el módulo al que llama y sus submódulos correspondientes. Sin embargo, los resultados producidos por un módulo pueden ser utilizados por otro módulo cuando se transfiera a ellos el control.

Curso: COIS-102

PROGRAMACION MODULAR

Curso: COIS-102

Page 12: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

12

PROGRAMACION ESTRUCTURADA

• Cuando hablamos de Programación Estructurada, nos referimos a un conjunto de técnicas que con el transcurrir del tiempo han evolucionado. Gracias a éstas, la productividad de un programa se ve incrementada de forma considerable y se reduce el tiempo de escritura, de depuración y mantenimiento de los programas. Aquí se hace un número limitado de estructuras de control, se reduce la complejidad de los problemas y se minimiza los errores.

• Gracias a la programación estructurada, es más fácil la escritura de los programas, también lo es su verificación, su lectura y mantenimiento. Esta programación es un conjunto de técnicas que incorpora:

– diseño descendente (top-down)– recursos abstractos– estructuras básicas

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• Los recursos abstractos son utilizados como un apoyo en la programación estructurada, en vez de los recursos concretos de los que se dispone (lenguaje de programación determinado).

• Para separar un programa en términos de recursos abstractos debemos descomponer acciones complejas en acciones más simples, las que son capaces de ejecutar o constituyen instrucciones de computadora disponible.

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• Diseño descendente (Top-Down)• Este es un proceso en el cual el problema se

descompone en una serie de niveles o pasos sucesivos (stepwise). Esta metodología consiste en crear una relación entre las etapas de estructuración, las que son sucesivas, de tal forma que se interrelacionen mediante entradas y salidas de información. Considerando los problemas desde dos puntos de vista: ¿que hace? y ¿cómo lo hace?

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

Curso: COIS-102

Page 13: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

13

FUNDAMENTOS DE ALGORITMOS

• Estructuras básicas de control• En un programa estructurado, el flujo lógico se

gobierna por las estructuras de control básicas:– Secuenciales– Selectivas o de selección– Repetitivas

• Teorema de la Programación Estructurada:• Un programa propio puede ser escrito utilizando sólo

los tres tipos de estructuras de control antes mencionadas

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• ESTRUCTURA SECUENCIAL• Es la estructura en donde una acción (instrucción) sigue a otra

de manera secuencial.• Las tareas se dan de tal forma que la salida de una es la entrada

de la que sigue y así en lo sucesivo hasta cumplir con todo el proceso.

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• ESTRUCTURA DE DECISIÓN• Decisión: Elegir una alternativa o camino en el flujo del

algoritmo cuando se cumpla o no una determinada condición.• El resultado de la condición se evalúa como falso o verdadero y

se obtiene al comparar dos expresiones mediante operadores relacionales. De ser necesario realizar más de una comparación al mismo tiempo se asocian con operadores lógicos

Curso: COIS-102

Guía de referencia rápida de lenguaje

• Estructuras de control

Decisión

Simple

Doble

Anidada

MúltipleCurso: COIS-102

Page 14: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

14

PROGRAMACION ESTRUCTURADA

• Estructuras de control• Decisiones (cont.)• En algunas ocasiones para realizar las

comparaciones también se hace uso de una variable booleana o bandera (flag). Una bandera es una variable que sólo puede tener dos valores: falso o verdadero

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• Estructuras de control• Ciclo, loop, lazo o bucle: Repetir un conjunto de instrucciones varias

veces con base en que se cumpla o no una determinada condición.• A cada ejecución del conjunto de instrucciones en un ciclo se le llama

iteración

Ciclossimples

while

do-while

foranidadosCurso: COIS-102

PROGRAMACION ESTRUCTURADA

•Tipos de ciclos: – Mientras (while): Se lleva a cabo mientras se cumpla una condición.

Primero evalúa la condición y luego ejecuta el conjunto de instrucciones. De no cumplirse la condición desde el inicio, no hace nada y sigue con el flujo normal del algoritmo

– Hacer mientras (do while): Realiza un conjunto de instrucciones y continua mientras se cumpla una condición. A diferencia del anterior, este ciclo se ejecuta por lo menos una vez

– Desde hasta (for): Se utiliza cuando se conoce el número de veces que se va a repetir un conjunto de instrucciones. Requiere de un valor inicial, un valor final y un contador

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• Contador: variable que almacena el número de veces que se ha repetido un conjunto de instrucciones en un ciclo; en otras palabras, indica el número de veces que se ha ejecutado el ciclo

• En un ciclo, también hay otro tipo de que se hacer usa frecuentemente

• Acumulador: aquella variable que almacena el resultado de una operación anterior y se utiliza para obtener el siguiente resultado

Curso: COIS-102

Page 15: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

15

PROGRAMACION ESTRUCTURADA

• Decisiones anidadas

• Cuando se tiene una serie de estructuras de control de la forma

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• si condición1 entonces– si condición2 entonces…

•si condiciónN entonces•sino•fin_si

– sino– fin_si

• sino• fin_si

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

• Decisión múltiple o alternativa selectiva múltiple (según_sea, caso de/case)

• Cuando una variable puede tomar varios valores, generalmente de tipo entero o caracter, se puede hacer uso de la decisión anidada para evaluar los distintos casos, sin embargo, se puede simplificar al poner una estructura del tipo

Curso: COIS-102

PROGRAMACION ESTRUCTURADA

Curso: COIS-102

Page 16: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

16

PROGRAMACION ESTRUCTURADA

• Arreglos• Un arreglo es un conjunto ordenado de variables del mismo

tipo que se encuentran reunidas bajo un mismo nombre• La forma de declarar un arreglo en términos de algoritmos es

– var arrNombre(7): arreglo de tipo – var arrNombre(1..7):tipo

• La forma de acceder a cada elemento del arreglo es por medio de un índice, p. ej.

• var arrentero(1..7):entero• arrentero(4) 18

10 0 7 14 4 2 -10

0 1 2 3 4 5 6

Curso: COIS-102

Funciones comunes a todos los lenguajes de programación

Matemática

Algorítmica Matemática

Algorítmica

abs(x) sinh(x)

sqrt(x) cosh(x)

exp(x) tanh(x)

log(x) asinh(x)

log10(x) acosh(s)

sin(x) atanh(x)

cos(x)

tan(x)

asin(x)

acos(s)

atan(x)

x

x

ex

ln x( )

log10 x( )

sen x( )

cos x( )tan x( )

sen-1 x( )

cos-1 x( )

tan-1 x( )

senh x( )

cosh x( )tanh x( )

senh-1 x( )

cosh-1 x( )

tanh-1 x( )

Curso: COIS-102

Cadenas y sus operaciones

• Representación

• Dependiendo del lenguaje las cadenas se pueden representar entre comillas simples o dobles

• Por ejemplo:

‘cadena con comillas simples’

“cadena con comillas dobles”

Curso: COIS-102

Cadenas y sus operaciones

• Declaración y asignación de cadenas

• En general, las cadenas son un tipo de variable, sin embargo, depende del lenguaje de programación la forma en que se declaren y se asignen

• En lenguaje algorítmico simplemente podemos declararlas así:

var nombre_cadena: cadenavar nombre_cadena: string

Curso: COIS-102

Page 17: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

17

Cadenas y sus operaciones

• Al declararlas de esta forma podemos hacer uso de varias funciones y operaciones que permiten manipularlas y que son comunes en los lenguajes de programación.

• La forma en como se asigna una cadena en lenguaje algorítmico puede ser de la siguiente manera:

var micadena: cadenamicadena <- “hola qué tal”

Curso: COIS-102

Cadenas y sus operaciones

• En lenguaje algorítmico las funciones que manipulan cadenas llevan un símbolo de “$” al final de su nombre.

• Longitud de una cadena: Devuelve el número de caracteres que contiene la cadena

var len:enterolen <- length$ micadena{len=12}

Curso: COIS-102

Cadenas y sus operaciones

• Leer y mostrar cadenas: Para únicamente leer o mostrar cadenas se hace uso de las funciones read$ y print$, respectivamente. Por ejemplo:

var micadena: cadenamicadena <- “hola qué tal”print$ micadenaprint$ “ahora introduce una nueva cadena”read$ micadena print$ “La nueva cadena es: “, micadenaCurso: COIS-102

Cadenas y sus operaciones

• Concatenación de cadenas

• La concatenación es una operación especial que consiste en la yuxtaposición de 2 o más cadenas. En lenguaje algorítmico la podemos representar como:var cadena1, cadena2, cadena3: cadenacadena1 <- “hola qué”cadena2 <- “ tal”cadena3 <- cadena1 + cadena2print$ cadena3{Muestra en pantalla hola qué tal}Curso: COIS-102

Page 18: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

18

Cadenas y sus operaciones

• Observe que la concatenación no es conmutativa

cadena3 <- cadena2 + cadena1print$ cadena3{Muestra en pantalla talhola que}

Curso: COIS-102

Cadenas y sus operaciones

• Comparación de cadenas y ordenamiento

• Se pueden comparar cadenas lexicográficamente y determinar si son iguales o no lo son,

si cadena2 = cadena1print$ “Las cadenas son iguales”

sinoprint$ “Las cadenas no son iguales.”

Curso: COIS-102

Cadenas y sus operaciones

• o si una de ellas se encuentra en orden alfabético primero que otra

si cadena2 > cadena1 print$ cadena2, “va después de ”print$ cadena1

sinoprint$ cadena1, “va después de ”print$ cadena2

{podría usarse < pero habría que cambiar el orden de las sentencias}

Curso: COIS-102

Cadenas y sus operaciones

• Obtención de una subcadena

• Otra de las operaciones más comunes con cadenas es la obtención de una subcadena a partir de un caracter, por ejemplo:

var cadena1, cadena2: cadenacadena1 <- “hola qué tal”cadena2 <- substr$ cadena1, ‘q’print$ cadena2{Muestra en pantalla la subcadena qué tal} Curso: COIS-102

Page 19: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

19

Cadenas y sus operaciones

• Del ejemplo anterior se obtuvo una subcadena que empieza con el caracter indicado, sin embargo, si no existiera dicho caracter la función podría devolver el valor NULL (nil, null)

• NULL es un valor especial que, en este caso, indica que la cadena está vacía o que no existe la cadena solicitada y se debería de tratar como error

cadena2 <- substr$ cadena1, ‘z’{Con el valor anterior de cadena 1, cadena2 vale NULL porque no existe z} Curso: COIS-102

• Pueden existir también cadenas vacías y su longitud es de 0.

• Asignar una cadena vacía a una variable de tipo cadena podría servir para limpiar el contenido de esa variable.

• No todos los lenguajes permiten cadenas vacías

Cadenas y sus operaciones

Curso: COIS-102

• Es posible obtener una subcadena a partir de que se le indique las posiciones inicial y final o solamente la posición inicial

• Podría regresar NULL si las posiciones de la cadena exceden la longitud de la misma

Cadenas y sus operaciones

cadena2 <- substr$ cadena1,3,6{cadena2 = “la q”}cadena2 <- substr$ cadena1,3{cadena2 = “la qué tal”}

Curso: COIS-102

Cadenas y sus operaciones

• Búsqueda de subcadenas

• Una operación frecuente es tratar de localizar si una cadena forma parte de una cadena más grande o buscar la posición en que aparece determinado caracter o secuencia de caracteres de texto

var cadena1: cadenavar posicion:enterocadena1 <- “hola qué tal”posicion <- instr$ cadena1, “la”print posicion{Muestra en pantalla 2}Curso: COIS-102

Page 20: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

20

Cadenas y sus operaciones

• La función instr$ devuelve el índice de la posición donde se encuentra el primer elemento de la subcadena deseada

• Si la subcadena no existe en la cadena devuelve 0.

Curso: COIS-102

Cadenas y sus operaciones

• Inserción de una cadena dentro de otra.

Se inserta una cadena dentro de otra en la posición indicada. Si la posición excede a la longitud de la cadena devuelve NULL

var cadena1, cadena2, cadena3: cadenacadena1 <- “hola qué tal”cadena2 <- “ABC”cadena3 <- insert$ cadena1, cadena2, 4print$ cadena3{Muestra en pantalla la cadenaholaABC qué tal}

Curso: COIS-102

Cadenas y sus operaciones

• Borrar una subcadena de una cadena.Para eliminar una subcadena que comienza en la posición p y tiene una longitud l.

var cadena1, cadena2, cadena3: cadenacadena1 <- “hola qué tal”cadena2 <- remove$ cadena1, 3, 4print$ cadena2{Muestra en pantalla la cadenahoué tal}{p = 3, l = 4} Curso: COIS-102

Cadenas y sus operaciones

• Sustitución de una subcadena por otra.Para reemplazar una subcadena de una cadena por otra subcadena se tiene:

var cadena1, cadena2, cadena3: cadenacadena1 <- “hola qué tal”cadena2 <- “ola”cadena3 <- replace$ cadena1, cadena2, “ABC”print$ cadena3{Muestra en pantalla la cadenahABC qué tal}

Curso: COIS-102

Page 21: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

21

Cadenas y sus operaciones

• Obtención de un caracter de una cadena

• La función chrstr$ obtiene un caracter de la posición indicada. Si la posición es mayor que la longitud de la cadena se devolvería NULL

var cadena1: cadenavar car: caractercadena1 <- “hola qué tal”car <- chrstr$ cadena1, 4print car{Muestra en pantalla el caracter ‘a’}

Curso: COIS-102

Cadenas y sus operaciones

• Sustitución de un caracter en una cadena

var cadena1: cadenavar car: caractercadena1 <- “hola qué tal”read car {Suponiendo que se leyó ‘w’}cadena1 <- strchr$ cadena1, 4, carprint$ cadena1{Muestra en pantalla la cadena holw qué tal}

Curso: COIS-102

Cadenas y sus operaciones

• La función strchr$ reemplaza el caracter de la cadena en la posición indicada por un nuevo caracter

• Si se excede de la longitud de la cadena devolvería el valor NULL.

Curso: COIS-102

Cadenas y sus operaciones

• Inserción de un caracter en una cadena. Para añadir un caracter a una cadena en una posición dada tenemos.

var cadena1: cadenavar car: caractercadena1 <- “hola qué tal”read car {Suponiendo que se leyó ‘w’}cadena1 <- istrchr$ cadena1, 4, carprint$ cadena1{Muestra en pantalla la cadena holwa qué tal}

Curso: COIS-102

Page 22: &RPELQDFLyQ GH RSHUDFLRQHV EiVLFDV · &rpelqdflyq gh rshudflrqhv eivlfdv & d e vl qr & &rqglflyq &xuvr &2,6 &rpelqdflyq gh rshudflrqhv eivlfdv,qlflr (mhfxwdu (mhfxwdu vl vh fxpsoh

22

• Conversión de cadenas a números

Cadenas y sus operaciones

var cadena1: cadenavar num: enterocadena1 <- “1250”num <- strtonum$ cadena1print num{Muestra en pantalla el número convertido}

Curso: COIS-102

• Conversión de números a cadenas

Cadenas y sus operaciones

var cadena1: cadenavar num: enteronum <- 1250cadena1 <- numtostr$ numprint$ cadena1{Muestra en pantalla la cadena convertida}

Curso: COIS-102