1. UNIVERSIDAD NACIONAL
AUTÓNOMA DE MÉXICO
FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN
Ingeniería en Alimentos
Recursos Informáticos
INTEGRANTES:
-Barrera Fernandez Alanis Gabriela
-Martinez Ortega Claudia America
-Vargas Ruiz Mauricio
UNIDAD 2.
Programación con un
Lenguaje Estructurado
2. CONTENIDO UNIDAD 2. PROGRAMACIÓN CON
LENGUAJE ESTRUCTURADO
1.1 INTRODUCCIÓN, CARACTERES, CARACTERÍSTICAS, ELEMENTOS
(IDENTIFICADORES Y PALABRAS CLAVE, TIPOS DE DATOS,
DECLARACIONES, EXPRESIONES), SENTENCIAS, CONSTANTES
SIMBÓLICAS.
1.2 OPERADORES Y EXPRESIONES
1.3 ENTRADA Y SALIDA DE DATOS
1.4 SENTENCIAS DE CONTROL
1.5 FUNCIONES Y ARREGLOS
3. PROGRAMACIÓN
La programación informática es el arte del
proceso por el cual se limpia, codifica,
traza y protege el código fuente de
programas computacionales, en otras
palabras, es indicarle a la computadora lo
que tiene que hacer.
https://www.ecured.cu/Programacion_estructurada
4. PROGRAMACIÓN ESTRUCTURADA
Es un paradigma de programación
orientado a mejorar la claridad, calidad y
tiempo de desarrollo de un programa de
computadora, utilizando únicamente
subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles
for y while)
5. ORÍGENES DE LA PROGRAMACIÓN
ESTRUCTURADA
A finales de los años 1970 surgió una
nueva forma de programar que no
solamente daba lugar a programas
fiables y eficientes, sino que además
estaban escritos de manera que
facilitaba su mejor comprensión, no sólo
proveyendo ventajas durante la fase de
desarrollo, sino también posibilitando
una más sencilla modificación posterior.
6. TEOREMA DEL PROGRAMA ESTRUCTURADO
Propuesto por Böhm-Jacopini,
demuestra que todo programa puede
escribirse utilizando únicamente las tres
instrucciones de control siguientes:
1. Secuencia
2. Instrucción condicional
3. Iteración (bucle de instrucciones)
7. ESTRUCTURAS DE CONTROL
Permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
1.De acuerdo a una condición, ejecutar un grupo u otro de sentencias
(If-Then-Else)
2.De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias
(Select-Case)
3.Ejecutar un grupo de sentencias mientras se cumpla una condición
(Do-While)
4.Ejecutar un grupo de sentencias hasta que se cumpla una condición
(Do-Until)
5.Ejecutar un grupo de sentencias un número determinado de veces
(For-Next)
8. ESTRUCTURA SECUENCIAL
Una estructura de programa es secuencial si las instrucciones se ejecutan una tras otra, a
modo de secuencia lineal; es decir, que una instrucción no se ejecuta hasta que finaliza
la anterior, no se bifurca ni se repite el flujo del programa.
9. ESTRUCTURA SELECTIVA O DE SELECCIÓN
La estructura selectiva permite que la ejecución del programa se bifurque a una
instrucción (o conjunto de ellas). Según un criterio o condición lógica sólo uno de los
caminos en la bifurcación será el tomado para ejecutarse.
Las palabras clave IF, THEN, ELSE y END IF constituyen la estructura de la instrucción condicional.
10. ESTRUCTURA ITERATIVA
Un bucle iterativo o iteración de una secuencia de instrucciones, hace que se repita su
ejecución mientras se cumpla una condición. El número de iteraciones normalmente
está determinado por un cambio en la condición dentro del mismo bucle, aunque puede
ser forzado o explícito por otra condición.
Esta instrucción tiene tres palabras reservadas: DO, WHILE y LOOP, que conforman un bucle WHILE.
11. ANIDAMIENTO
El cuerpo de cualquier estructura puede tener instrucciones simples u otras estructuras, que a
su vez pueden contener a otras.
En el ejemplo anterior hay una estructura WHILE anidada dentro de una estructura IF.
12. TIPOS DE DATOS
Los tipos de datos en un lenguaje de programación pueden ser muy variados, así que es difícil
preguntarte cuantos tipos de datos hay en un lenguaje, ya que incluso puedes crearte los
tuyos propios, mediante enumeraciones o estructuras.
Los más utilizados son:
1. Los números: podemos sumar, restar, multiplicar, dividir, comparar, etc.
2. Los textos: podemos comparar (si son iguales o no), podemos sustituir parte del texto,
añadir texto a uno existente, etc.
3. Las fechas: podemos sumar o restar fechas, (o días, meses o años), compararlas, etc.
13. TIPOS DE DATOS PARA VARIABLES
Cada lenguaje de programación puede trabajar con muchos tipos de datos. Pero de todos
ellos, siempre tendremos los tipos primitivos de datos.
Éstos están incorporados al lenguaje de programación, y nos sirve para poder hacer cosas más
complicadas.
14. TIPO DE DATOS NÚMERO: INT
Los número suelen ser representados en un lenguaje de programación de maneras diferentes,
ya que importa decidir una serie de cuestiones:
1. Cual va ser el tamaño que vamos a usar.
2. Si va a tener números decimales o no.
3. Si va ser negativo.
Empezaremos con el tipo primitivo int. Este tipo de datos representa cualquier número sin
decimales, ya sea positivo o negativo.
Aunque es habitual encontrarlo escrito en el código fuente como int, hay otros lenguajes,
como visual basic, que se escribe integer.
15. TIPO DE DATOS NÚMERO REAL: DOUBLE O FLOAT
Si nos interesa utilizar un número con decimales, sueles encontrar el tipo de datos double o
float.
A esto lo llamamos un número de punto flotante. Declararlo como un tipo u otro dependerá
de la precisión en decimales que quieras tener.
¿Como podemos distinguir una variable si se ha declarado como int o como float? Por
ejemplo, si nos encontramos un número con un punto decimal (3.14).
También puedes ver un número con la letra F o con la letra D, para distinguir si es un float o un
double. Por ejemplo 3.56F.
16. TIPO DE DATOS CADENA: CHAR O STRING
Suele ser un valor alfanumérico. Si es un sólo carácter individual, tenemos el tipo char.
Un char es un carácter Unicode, y solemos escribirlo entre comillas simples (‘ ‘).
Pero si es una cadena de caracteres, es decir, caracteres seguidos unos detrás de otro formando una
secuencia, lo solemos encontrar como string.
El tipo string debemos escribirlo entre comillas dobles (» «) para diferenciarlo del char, aunque
puede ser diferente, dependiendo del lenguaje de programación.
En el siguiente código veremos un uso del tipo de datos string, aunque no esté asociado a una
variable:
17. TIPO DE DATOS BOOLEANO: BOOLEAN
Los valores lógicos son representados por el tipo primitivo boolean. Representa si una
condición se cumple o no se cumple.
Suelen tener dos valores identificados, true (verdadero) o false (falso). En algunos lenguajes
puede equivaler a los números 0 y 1.
Una variable puede usarse para representar cualquiera de los dos valores, mejor dicho
estados.
Por ejemplo, podríamos hablar de verdadero o falso, encendido o apagado, sí o no, activado o
no activado, etc.
18. DECLARACIONES
Una declaración es una construcción de lenguaje que especifica las propiedades de un identificador;
declara lo que una palabra (identificador) "significa". Las declaraciones se usan más comúnmente
para funciones , variables , constantes y clases , pero también se pueden usar para otras entidades
como enumeraciones y definiciones de tipos.
Las declaraciones suelen especificar el tipo de datos(para variables y constantes) o la firma de
tipo(para funciones); los tipos también pueden incluir dimensiones, como para matrices. Se utiliza
una declaración para anunciar la existencia de la entidad al compilador ; esto es importante en
aquellos lenguajes fuertemente tipados que requieren funciones, variables y constantes, y sus tipos
deben especificarse con una declaración antes de su uso, y se usa en la declaración directa
19. EXPRESIONES
Una expresión es la manera en que expresamos en un lenguaje de programación algo sobre
el estado de un objeto.
Las expresiones aparecen dentro del cuerpo de los métodos y están formadas por operandos
y operadores. Los operandos pueden ser atributos, parámetros, literales, constantes o
llamadas de métodos, mientras que los operadores son los que indican la manera de calcular
el valor de la expresión. Los operadores que se pueden utilizar en una expresión dependen
del tipo de los datos de los operandos que allí aparezcan.
Por ejemplo, la expresión 10 – 4 – 2 puede ser interpretada de dos maneras, cada una con un resultado
distinto: 10 – ( 4 – 2 ) = 8, o también ( 10 – 4 ) – 2 = 4. Es buena idea usar siempre paréntesis en las
expresiones, para estar seguros de que la interpretación del computador es la que nosotros
necesitamos.
20. SENTENCIAS
Son las unidades ejecutable más pequeña de un
programa, en otras palabras una línea de código
escrita es una sentencia. Especifican y controlan el
flujo y orden de ejecución del programa. Una
sentencia consta de palabras clave o reservadas
como (cout, cin, for, while, if ... else,etc.),
expresiones, declaraciones, o llamadas a
funciones. Si no existen sentencias específicas de
selección o salto, el programa se ejecuta de forma
secuencial en el mismo orden en que se ha escrito
el código fuente (es el que podríamos considerar
orden "natural" de ejecución).
1. De etiqueta
2. De expresión
3. Compuestas
4. De selección
5. De iteración
6. De salto
7. De declaración
8. Bloques de intento
21. OPERADORES Y EXPRESIONES
Las expresiones son combinaciones de constantes,
variables y operadores de diferentes tipos que nos
permiten manipular datos para obtener información
nueva. Están compuestas de un operando y dos
operadores y tienen un valor. El valor de la expresión
se obtiene al tomar los valores de los operandos y
aplicarleseloperador.
Los operadores son símbolos que indican cómo se deben
manipular los operandos. Los operadores junto con los
operandos forman una expresión, que es una fórmula que
define el cálculo de un valor. Los operandos pueden ser
constantes, variables o llamadas a funciones, siempre que
éstas devuelven algún valor. El compilador evalúa los
operadores, algunos de izquierda a derecha, otros de derecha a
izquierda, siguiendo un orden de precedencia. Este orden se
puede alterar utilizando paréntesis para forzar al compilador a
evaluarprimerolaspartesquesedeseen.
ENTRE LOS TIPOS DE OPERADORES VAMOS A ENCONTRAR
OPERADORES ARITMÉTICOS, MONARIOS, RELACIONALES, LÓGICOS,
OPERADORESDEASIGNACIÓNYOPERADORESCONDICIONALES.
30. ENTRADA Y SALIDA DE DATOS
En un programa, los datos de entrada son los que la computadora va a procesar. Los datos de salida son datos
derivados, es decir, obtenidos a partir de los datos de entrada. Por esta razón, a los datos de salida se les
considera más significativos que a los datos de entrada. Ambos tipos de datos son información (textos,
imágenes, sonidos, vídeos,...) que maneja la computadora. Sin embargo, en un sentido más filosófico, a los
datos de entrada se les considera la materia prima de los datos de salida, considerados estos como la
verdadera información.
31. ALGORITMO
● Introducir la edad en la variable años.
● Es años mayor o igual que 18 entonces escribe "mayor de edad".
● Es años menor que 18 entonces escribe "menor de edad".
32. Las sentencias de salida también pueden escribir el valor de una
variable, aunque su valor no sea conocido de antemano. Por
ejemplo, podríamos añadir una sentencia de salida al algoritmo
anterior para que escribiera el valor de la variable años.
ALGORITMO
1. Introducir la edad en la
variable años.
2. Es años mayor o igual
que 18 entonces escribe
"mayor de edad".
3. Es años menor que 18
entonces escribe "menor
de edad".
4. Escribe el valor de la
variable años.
33. REPRESENTACIÓN ALGORÍTMICA DE LAS
SENTENCIAS DE ENTRADA.
Para indicar en un organigrama una sentencia de entrada se necesitan dos cosas: una es el símbolo que
representa la sentencia y otra es el lugar donde se va a almacenar la información de entrada. El símbolo de la
sentencia se representa en la figura y el lugar donde se va a guardar la información se especifica por el
nombre de una variable que está dentro del símbolo.
34. Si queremos realizar un organigrama que represente la suma de los valores de dos variables podríamos
realizarlo de la siguiente manera:
● leer un dato numérico en la variable a
● leer un dato numérico en la variable b
● sumar las variables a y b, y el resultado almacenarlo en la variable c.
En un organigrama no se suele indicar el tipo de
información que contendrá las variables que están
dentro del símbolo de entrada, así no se especifica
que las variables a y b son de tipo numérico; n o
obstante cuando realicemos el program a en C sí
se deberá especificar con anterioridad el tipo de
variable que vamos a utilizar.
35. REPRESENTACIÓN ALGORÍTMICA DE LAS
SENTENCIAS DE SALIDA.
Para representar algorítmicamente una sentencia de salida se necesita (al igual que en las sentencias de
entrada) el símbolo que representa la sentencia y la información que se va a enviar fuera del programa.
36. Las sentencias de salida son importantes puesto que nos permiten ver los resultados de los programas. Por
ejemplo, el organigrama para realizar la suma de dos valores del apartado anterior realizaría la suma y su
valor lo almacenaría en la variable c pero el usuario no vería el resultado de la suma por pantalla, sin
embargo si al final del algoritmo le añadimos una senten cia de salida para ver por pantalla el contenido de la
variable c , entonces sí podríamos ver el resultado de la suma.
El nuevo algoritmo sería el
siguiente:
● Leer un dato numérico en
la variable a
● Leer un dato numérico en
la variable b
● Sumar las variables a y b,
y el resultado
almacenarlo en la
variable c
● Visualizar el contenido de
la variable c
37. SENTENCIAS DE CONTROL
Un programa es una sucesión de sentencias que son ejecutadas
secuencialmente.
Por ejemplo, el siguiente programa tiene cuatro sentencias:
Las primeras tres son asignaciones, y la última es una llamada a
función. Al ejecutar el programa, cada una de estas sentencias es
ejecutada, una después de la otra, una sola vez.
38. Además de las sentencias simples, que son ejecutadas en secuencia, existen las
sentencias de control que permiten modificar el flujo del programa introduciendo
ciclos y condicionales.
Tanto los condicionales como los ciclos contienen a otras sentencias. Para
indicar esta relación se utiliza la indentación
Para indentar, se
utilizan siempre
cuatro espacios.
39. Condicional if
La sentencia if («si») ejecuta las
instrucciones sólo si se cumple una
condición. Si la condición es falsa, no se
hace nada:
La sintaxis es la siguiente:
POR EJEMPLO:
40. Condicional if-else
La sentencia if-else («si-o-si-no»)
decide qué instrucciones ejecutar
dependiendo si una condición es
verdadera o falsa:
La sintaxis es la siguiente:
POR EJEMPLO:
41. Condicional if-elif-else
La sentencia if-elif-else depende de dos
o más condiciones, que son evaluadas
en orden. La primera que es verdadera
determina qué instrucciones serán
ejecutadas:
La sintaxis es la siguiente:
El último else es opcional.
42. POR EJEMPLO:
Siempre sólo una de las alternativas
será ejecutada. Apenas una de las
condiciones es verdadera, el resto de
ellas no siguen siendo evaluadas.
43. Ciclo while
El ciclo while («mientras») ejecuta una
secuencia de instrucciones mientras
una condición sea verdadera:
La sintaxis es la siguiente:
POR EJEMPLO:
Cada una de las
veces que el
cuerpo del ciclo
es ejecutado se
llama iteración.
44. Ciclo for con rango
El ciclo for con rango ejecuta una
secuencia de sentencias una
cantidad fija de veces. Utiliza una
variable de control que toma valores
distintos en cada iteración.
Una de las sintaxis para usar un for con
rango es la siguiente:
En la primera iteración, la variable de control toma el valor 0. Al
final de cada iteración, el valor de la variable aumenta
automáticamente. El ciclo termina justo antes que la variable
tome el valor fin.
POR EJEMPLO:
45. Un rango es una sucesión de
números enteros
equiespaciados. Hay tres
maneras de definir un rango:
El valor inicial siempre es parte del rango. El valor
final nunca es parte del rango. El incremento
indica la diferencia entre dos valores consecutivos
del rango.
Usando un incremento negativo,
es posible hacer ciclos que van
hacia atrás:
46. Salir de un ciclo
Además de las condiciones de término propias de
los ciclos while y for, siempre es posible salir de un
ciclo en medio de una iteración usando la sentencia
break. Lo lógico es que sea usada dentro de un if,
para evitar que el ciclo termine prematuramente en
la primera iteración:
POR EJEMPLO:
47. Saltar a la siguiente iteración
La sentencia continue se usa para saltar
a la iteración siguiente sin llegar al final
de la que está en curso
POR EJEMPLO:
48. FUNCIONES
En programación, una función es una sección de un programa que calcula un valor de
manera independiente al resto del programa.
Tiene tres componentes importantes:
1. Los parámetros, que son los valores que recibe la función como entrada
2. El código de la función, que son las operaciones que hace la función
3. El resultado (o valor de retorno), que es el valor final que entrega la función.
EJEMPLO
49. Funciones de Python
Las funciones en Python son creadas mediante la sentencia def:
Los parámetros son variables en las que quedan almacenados los valores de
entrada.
La función contiene código igual al de cualquier programa. La diferencia es que, al
terminar, debe entregar su resultado usando la sentencia return.
50. Por ejemplo, la función para calcular el factorial puede ser definida de la
siguiente manera:
Una vez creada, la función puede ser usada como cualquier
otra, todas las veces que sea necesario:
51. Las variables que son creadas dentro de la función se llaman variables locales y
las variables creadas fuera de alguna función se llaman variables globales, en
estas últimas su valor no puede ser modificado, ya que una asignación crearía
una variable local del mismo nombre.
En el ejemplo, las variables locales son n, f e i. Una vez que la llamada a la
función termina, estas variables dejan de existir
52. Después de definir la función factorial, podemos crear otra función llamada comb
para calcular números combinatorios:
Esta función llama a factorial tres veces, y luego usa los resultados para calcular su
resultado. La misma función puede ser escrita también de forma más sucinta:
53. Múltiples valores de retorno
En Python, una función puede retornar más de un valor. POR EJEMPLO:
Tupla de valores
Nombrar cada uno de los
valores
Función
54. Funciones que no retornan nada
Una función puede realizar acciones sin entregar necesariamente un resultado
En este caso, cada llamada a la función imprimir_datos muestra los datos en la
pantalla, pero no entrega un resultado. Este tipo de funciones son conocidas en
programación como procedimientos o subrutinas, pero en Python son funciones
como cualquier otra.
55. La estructura de datos que sirve para almacenar grandes secuencias de
números (generalmente de tipo float) es el arreglo.
Arreglos
Los elementos tienen un orden
y se pueden acceder mediante
su posición
Los elementos se pueden
recorrer usando un ciclo for.
Se ocupan principalmente
para almacenar datos
numéricos
En general, el tamaño del
arreglo es fijo
Todos los elementos del
arreglo deben tener el mismo
tipo
58. Obtener elementos de un arreglo
Cada elemento del arreglo tiene un índice. El primer elemento tiene índice 0. Los
elementos también pueden numerarse desde el final hasta el principio usando índices
negativos. El último elemento tiene índice —1:
59. Una sección del arreglo puede ser
obtenida usando el operador de
rebanado a[i:j]
Si el primer índice es omitido, el
rebanado comienza desde el principio
del arreglo. Si el segundo índice es
omitido, el rebanado termina al final
del arreglo:
Un tercer índice puede indicar
cada cuántos elementos serán
incluídos en el resultado:
60. Algunos métodos convenientes
Los métodos min y max, entregan
respectivamente el mínimo y el
máximo de los elementos del
arreglo:
Los métodos argmin y argmax entregan
respectivamente la posición del mínimo y
del máximo:
Los métodos sum y prod
entregan respectivamente
la suma y el producto de
los elementos:
61. Arreglos Bidimensionales
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo
bidimensional está simultáneamente en una fila y en una columna.
En un arreglo bidimensional, cada elemento tiene una posición que se identifica
mediante dos índices: el de su fila y el de su columna.
También
llamados
matrices
62. Al igual que los arreglos de una dimensión,
los arreglos bidimensionales también pueden
ser creados usando la función array, pero
pasando como argumentos una lista con las
filas de la matriz:
Todas las filas deben ser del
mismo largo, o si no ocurre
un error de valor:
64. BIBLIOGRAFÍA
● Universidad Técnica Federico Santa Maria. (2018) Sentencias de Control.
Programación.http://progra.usm.cl/apunte/materia/sentencias-de-control.html
● Monografias.com: Programación Estructurada, consultada el 19 de septiembre de 2021 en:
https://www.ecured.cu/Programacion_estructurada
● SANDERS, Donal H.,¨ Informática presente y futuro Editorial McGraw Hill, México.
● LOZANO, Letvin R., ¨ Diagramación y programación Editorial McGraw Hill, México.
● NORTON, Peter., ¨ Introducción a la computación ¨Editorial McGraw Hill, México.
● Joyanes Aguilar, Luis (2013). Fundamentos generales de programación (1.ª edición). Ciudad de México, México:
McGraw Hill.