






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Una introducción a la programación estructurada, enfocándose en las estructuras de decisión e iterativas. Se explica el funcionamiento de las estructuras if, else, for y while en los lenguajes de programación python y julia, con ejemplos prácticos y diagramas de flujo. Ideal para estudiantes que buscan comprender los conceptos básicos de la programación estructurada y aplicarlos en la resolución de problemas.
Tipo: Guías, Proyectos, Investigaciones
1 / 12
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







PROGRAMACI ´ON DIGITAL IC-
Ayacucho - Per ´u
La estructura de decisi ´on if realiza una acci ´on espec´ıfica solo cuando la condici ´on es verdadera; de lo contrario, la acci ´on se ignora.
1 if condition: 2 instruction
1.1.2 Estructura de decisi ´on simple en Julia
La sentecia m´as elemental de control de flujo es if ... end. Despu´es del if debemos colocar una condici ´on booleana. Entre la condici ´on y el end final podemos colocar un bloque de sentencias. Dicho bloque se ejecuta si y solamente si la condici ´on es verdadera. Si la condici ´on es falsa, no se ejecuta ninguna instrucci ´on del bloque y el flujo pasa a la siguiente instrucci ´on que hayamos escrito tras el end.
1 begin 2 if condition 3 instruction 4 end 5 end
La estructura selectiva doble permite que el flujo del diagrama se divida en dos ramas diferentes en el punto de la toma de decisi ´on(es). Si al evaluar la condi- ci ´on (o condiciones) el resultado es verdadero, entonces se sigue por un camino espec´ıfico y se ejecuta(n) cierta(s) operaci ´on(es). Si el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s) operaci ´on(es).
Figura 1.2: Estructura selectiva.
Donde:
Condici ´on X: Es la expresi ´on l ´ogica a evaluar Intrucci ´on(es) A: expresa las acciones que se van a realizar si la condici ´on resulta verdadera. Intrucci ´on(es) B: expresa las acciones que se van a realizar si la condici ´on resulta falsa.
El pseudoc ´odigo para enunciar una estructura de decisi ´on simples es:
1 si condicion entonces 2 instruccion(es) A 3 sino 4 instruccion(es) B 5 finsi
1.2.1 Estructura selectiva en Python
La estructura if/else permite al programador especificar que una acci ´on diferente se debe desarrollar, cuando la condici ´on es falsa..
1 if condition: 2 instructionA 3 else: 4 instructionB
1.2.2 Estructura selectiva en Julia
La estructura sint´actica de esta construcci ´on es:
1 begin 2 if condition 3 instructionA 4 else 5 instructionB 6 end 7 end
En realidad aqu´ı solamente nos interesan la condici ´on y los dos bloques. Las in- trucciones if,else, end las podemos pensar como meros limitadores de esas tres partes. Resulta que la construcci ´on ?:, que es mucho menos intuitiva, puede rea- lizar el mismo trabajo. La estructura sint´actica es:
1 begin 2 condition? instructionA : instructionB 3 end
La estructura selectiva m ´ultiple permite que el flujo del diagrama se divida por varias ramas en el punto de la toma de decisi ´on(es), esto en funci ´on del valor que tome el selector. As´ı si el selector toma el valor 1 se ejecutar´a la acci ´on 1, si toma el valor 2 se ejecutar´a la acci ´on 2, si toma el valor N se realizar´a la acci ´on N, y si toma un valor distinto de los valores comprendidos entre 1 y N , realizar´a la acci ´on X ; posteriormente continuar´a con el flujo normal del diagrama.
Figura 1.3: Estructura selectiva m ´ultiple.
Donde:
Determinar si un a ˜no es bisiesto.
1.4.1 C ´odigo Python
1 anyo = 2024 2 if anyo % 4 == 0 and (anyo % 100 != 0 or anyo % 400 == 0): 3 print(f"{anyo} es un anyo bisiesto.") 4 else: 5 print(f"{anyo} no es un anyo bisiesto.")
1.4.2 C ´odigo Julia
1 begin 2 anyo = 2024 3 if (anyo % 4 == 0) && (anyo % 100 != 0 || anyo % 400 == 0) 4 println("$anyo es un anyo bisiesto.") 5 else 6 println("$anyo no es un anyo bisiesto.") 7 end 8 end
1.4.3 Diagrama de flujo
Figura 1.4: Diagrama de flujo.
1.4.4 Diagrama NS
Figura 1.5: Diagrama NS.
Estructuras iterativas
Las estructuras de control iterativas se utilizan para resolver problemas donde sea necesario repetir un n ´umero de veces un conjunto de instrucciones. Tambi´en se les conoce como estructuras repetitivas. Cuando un programa necesita la eje- cuci ´on repetitiva de un conjunto de operaciones, es necesario implementar un ciclo iterativo.
Un ciclo iterativo es la repetici ´on de operaciones dependiendo de una condici ´on. Las operaciones o instrucciones son las mismas pero los datos que se procesan pueden cambiar en la ejecuci ´on del ciclo. En general, los ciclos deben terminar despu´es de un cierto n ´umero (finito) de repeticiones, y el conjunto de operacio- nes a repetir se conocen como bucle.
Al igual que en las estructuras selectivas, se requiere definir la condici ´on que se evaluar´a y para decidir qu´e acciones se llevar´an a cabo. Recordemos que pa- ra construir las condiciones es necesario utilizar los operadores relacionales (de comparaci ´on) y los operadores booleanos (l ´ogicos).
En ocasiones, sabemos el n ´umero de veces que el ciclo se repetir´a (para lo cual usamos estructuras FOR), en otras, no sabemos a ciencia cierta cu´antas repeticio- nes se har´an (para lo cual usamos estructuras WHILE). Para poder trabajar con estas estructuras, es necesario comprender antes las variables especiales de ciclos: contadores, acumuladores, centinelas.
Contadores: Un contador es una variable de tipo entero que durante el pro- ceso o ejecuci ´on de un programa, va aumentando su valor progresivamente. Generalmente un contador va incrementando su valor en 1, pero puede ser un contador de 2 en 2, o de n en n.
Acumuladores: Un acumulador es una variable num´erica (puede ser de tipo entero o real) que durante la ejecuci ´on de un programa va sum´andose as´ı misma valores contenidos en otras variables.
Centinela: Una variable centinela es un tipo interruptor, puede ser calcu- lada o s ´olo capturada, y dependiendo del valor que tome, le indica al ciclo (a trav´es de la condici ´on) si debe continuar la ejecuci ´on de instrucciones, o salir del mismo.
1 for i in iterador: 2 bloque
2.1.2 Estructura iterativa for en Julia
El bucle for repite una cantidad de veces conocida de antemano una porci ´on de c ´odigo. Para utilizar el bucle for necesitamos un iterador. Como iterador se pue- den emplear varios tipos de datos, pero los m´as habituales son los rangos y los vectores. La estructura sint´actica es:
1 begin 2 for i in iterador 3 bloque 4 end 5 end
Este tipo de ciclos se puede usar tanto cuando se conoce de antemano el n ´umero de repeticiones, como cuando se desconoce esa informaci ´on.
La estructura repetitiva while es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada condici ´on. En esta estructura, la condici ´on del ciclo se eval ´ua al inicio; si la condici ´on se eval ´ua falsa, no se entra al ciclo y se sigue con el flujo normal del algoritmo; si la condici ´on es verdadera, entonces se entra al ciclo y se ejecuta el cuerpo del bucle (instrucciones dentro del mientras), despu´es se eval ´ua de nuevo la expresi ´on booleana. Este proceso se repite una y otra vez mientras la condici ´on sea verdadera.
Figura 2.2: Estructura iterativa while.
Donde:
Condici ´on: Es la expresi ´on l ´ogica a evaluar. C ´odigo: Expresa las acciones que se van a realizar dentro del ciclo.
El pseudoc ´odigo para enunciar una estructura while es:
1 mientras condicion hacer 2 instruccion(es) 3 finmientras
Este bucle se encarga de ejecutar una misma acci ´on mientras que una determina- da condici ´on se cumpla:
1 while condition: 2 bloque
Repite la ejecuci ´on del bloque de c ´odigo mientras que la condici ´on sea cierta. La estructura sint´actica es:
1 begin 2 while condition 3 bloque 4 end 5 end
Sumar las cifras de un n ´umero.
2.5.1 C ´odigo Python
1 numero = 12345 2 suma = 0 3 while numero > 0: 4 suma += numero % 10 # Obtener el ultimo digito 5 numero //= 10 # Eliminar el ultimo digito 6 print(f"La suma de las cifras es {numero }.")
2.5.2 C ´odigo Julia
1 begin 2 numero = 12345 3 suma = 0 4 while numero > 0 5 suma += numero % 10 # Obtener el ultimo digito 6 numero = div(numero , 10) # Eliminar el ultimo digito 7 println("La suma de las cifras es ", numero , ".") 8 end