Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programación Estructurada: Estructuras de Decisión e Iterativas en Python y Julia, Guías, Proyectos, Investigaciones de Programación Lineal

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

2023/2024

Subido el 27/03/2025

cristian-lh.
cristian-lh. 🇵🇪

5 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Universidad Nacional De San Crist´
obal De
Huamanga
Facultad de Ingenier´
ıa de Minas, Geolog´
ıa y Civil
Escuela Profesional de Ingenier´
ıa Civil
PROGRAMACI ´
ON DIGITAL IC-284
TRABAJO 02:
PROGRAMACI ´
ON ESTRUCTURADA
Docente:
MSc. Ing. Edmundo Canchari Guti´
errez
Estudiantes:
codigo nombre
Ayacucho - Per ´
u
2024
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Programación Estructurada: Estructuras de Decisión e Iterativas en Python y Julia y más Guías, Proyectos, Investigaciones en PDF de Programación Lineal solo en Docsity!

Universidad Nacional De San Crist ´obal De

Huamanga

Facultad de Ingenier´ıa de Minas, Geolog´ıa y Civil

Escuela Profesional de Ingenier´ıa Civil

PROGRAMACI ´ON DIGITAL IC-

“ TRABAJO 02:

PROGRAMACI ´ON ESTRUCTURADA”

Docente:

MSc. Ing. Edmundo Canchari Guti´errez

Estudiantes:

codigo nombre

Ayacucho - Per ´u

´Indice general

  • CAP 1 Estructuras de decisi´on
    • 1.1 Estructura de decisi ´on simple
      • Estructura de decisi ´on simple en Python
      • Estructura de decisi ´on simple en Julia
    • 1.2 Estructura selectiva o alternativa
      • Estructura selectiva en Python
      • Estructura selectiva en Julia
    • 1.3 Estructura selectiva m ´ultiple
      • Estructura selectiva m ´ultiple en Python
      • Estructura selectiva m ´ultiple en Julia
    • 1.4 Aplicaci ´on
      • C ´odigo Python
      • C ´odigo Julia
      • Diagrama de flujo
      • Diagrama NS
  • CAP 2 Estructuras iterativas
    • 2.1 Estructura iterativa for
      • Estructura iterativa for en Python
      • Estructura iterativa for en Julia
    • 2.2 Estructura iterativa while
    • 2.3 Estructura iterativa while en Python
    • 2.4 Estructura iterativa while en Julia
    • 2.5 Aplicaci ´on
      • C ´odigo Python
      • C ´odigo Julia
      • Diagrama de flujo
      • Diagrama NS

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

1.2 Estructura selectiva o alternativa

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

1.3 Estructura selectiva m ´ultiple

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:

1.4 Aplicaci ´on

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.

j5.png 2

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

2.2 Estructura iterativa while

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

2.3 Estructura iterativa while en Python

Este bucle se encarga de ejecutar una misma acci ´on mientras que una determina- da condici ´on se cumpla:

1 while condition: 2 bloque

2.4 Estructura iterativa while en Julia

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

2.5 Aplicaci ´on

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