SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
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
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
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
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)
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.
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)
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)
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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
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.
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
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.
OPERADORES ARITMÉTICOS.
Losoperadoresaritméticosseaplicansobrenúmeros,yaseanrealesoenterosyrealizanoperacionesequivalentesalasoperaciones
aritméticasbásicas.Comosepuedenaplicarsobrediferentestiposdedatos,loslenguajesdeprogramacióntienenreglasdetalladasque
permitendeterminareltipodedatosdelresultado.
● Siambosoperandossondetipoentero,elresultadoserádetipoentero.
● Siambosoperandossondetiporeal,elresultadoserádetiporeal.
● Siunoperandoesrealyelotroentero,eloperandodetipoenterose
convertiráarealyluegoseaplicarálaoperación.
OPERADOR PROPÓSITO
+ suma, adición
- resta, negatividad
* multiplicación
/ división
% módulo o resto de
división entera
^ exponenciación
Estaesunalistadelosoperadoresaritméticosmásfrecuentementeencontradosenloslenguajesdeprogramación:
OPERADORES MONARIOS.
Sonoperadoresqueactúansobreunsolooperandoparaproducirunnuevovalor.EnCtodaslasconstantesnuméricassonpositivas.Portanto,un
númeronegativoesenrealidadunaexpresión,queconsisteeneloperadormonariomenos(-),seguidodeunaconstantenuméricapositiva.No
debemosconfundirestemenos,coneldelaoperacióndelasustracción,elcualrequieredosoperandos.
Otrosoperadoresmonarios…
● (++) Queeseloperadorincremento,hacequesuoperandoseincrementeenuno.
● (--) Queeseloperadordecremento,hacequeeloperandosedecrementeenuno.
● () Eloperadorsizeof,devuelveeltamañodesuoperandoenbytes.
● (!) Sernegadordecualquierresultadodeevaluacióndeunaexpresiónlógica.
Losoperadoresincrementoydecrementopuedenserutilizadosdedosformasdiferentes,dependiendodedondeseescribaeloperador,anteso
despuésdeloperando.Sieloperadorprecedealoperando(Ej: ++i),elvalordeloperandosemodificaráantesdequeseutiliceconotropropósito.Si
eloperadorsiguealoperando(Ej: i--),elvalordeloperandosemodificarádespuésdeserutilizado.
OPERADORES RELACIONALES.
Losoperadoresrelacionalespermitenrealizarcomparacionesentrevaloresdetiposdedatosnuméricos(comolosenterosylosreales)así
comoentrecaracteres.Estosoperadoresrecibenparámetrosdetiponuméricoocarácterperosuresultadoesdetipológico.Estosignifica
quesoloregresanunodedosvaloresposibles:verdaderosilarelaciónsecumpleyfalsosilarelaciónnosecumple.
Los siguientes son los
operadores relacionales
más comunes en los
lenguajes de
programación:
OPERADORES LÓGICOS.
Losoperadoreslógicosimplementanlasprincipalesconectivasdelalógicaproposicional.Trabajanconoperandosdetipológicoylosmáscomunes
sonlaconjunción(y),ladisyunción(o)ylanegación(no).
● El operador y ( && )tienevalorverdaderosisusdosparámetrossonverdaderosytienevalorfalsoenlosotroscasos.
● El operador o ( || ) tieneelvalorverdaderosialgunodesusoperandosesverdadero.
● El operador no ( ! )trabajasolamentesobreunoperando.Tienevalorverdaderosieloperandoesfalsoytienevalorfalsosieloperando
esverdadero.
La siguiente tabla da algunos ejemplos de su uso:
OPERADORES DE ASIGNACIÓN.
Sufunciónconsistenenevaluarunaexpresiónparacalcularsuvaloryasignaresevaloraunavariable.Hastaahoralohemosusadoparaasignar
valoresconstantesalasvariables,perotambiénpuedeusarseparaasignarlosresultadosdeevaluarexpresionesmáscomplejascomolasquehemos
visto.
Estos son algunos ejemplos de ese uso del operador de asignación:
● Eloperadordeasignacióncalculóelresultadodelaexpresión5+8yloasignaalavariableenteratotaldurantesuinicialización.Elvalordela
variableluegodelaoperaciónes13
entero total : = 5 + 8
● Eloperadordeasignaciónevalúalaoperaciónrelacionalyobtieneelvalorfalsoqueluegoalmacenaenlavariablenúmero_mayor.
número_mayor : = 7 >= 15
● Eloperadordeasignaciónevaluólaoperaciónlógicayobtieneelvalorverdaderoqueluegoalmacenaenlavariableresultado_conjunción.
resultado_conjunción : = verdadero y verdadero
Operadores de asignación:
OPERADORES CONDICIONALES
Esteoperador(?:)seutilizaparareemplazarestructurassencillasdedecisión.Sisedeseaqueunainstruccióndeterminadase
ejecutesegúnunaciertacondición,seempleaesteoperadorternariodelasiguienteforma:
<condición>?<expresión-v>: <expresión-f>
● Primero se evalúa la <condición>.
Si es verdadera, se evalúa la <expresión-v>.
Si es falsa, se evalúa la <expresión-f>.
Supongamosquem=50,¿cuálseráelvalorasignadoanenlaexpresiónsiguiente?
n=(m=99?1:2)
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.
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".
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.
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.
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.
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.
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
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.
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.
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:
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:
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.
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.
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.
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:
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:
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:
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:
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
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.
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:
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
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:
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
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.
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
Operaciones con arreglos
Las operaciones aritméticas entre arreglos se aplican elemento a elemento:
Operaciones racionales
Reducción del arreglo de booleanos a
un unico valor
Operaciones entre un
arreglo y un valor simple
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:
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:
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:
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
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:
Productos entre Arreglos
Producto interno (vector-vector)
Producto matriz-vector
Producto matriz-matriz
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.,&uml; 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.
GRACIAS POR SU
ATENCIÓN

Más contenido relacionado

La actualidad más candente

Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantesCarlos Pes
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)jaky97
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionandreinagracielarojasadam
 
Presentacion del pseudocodigo2ºam
Presentacion del pseudocodigo2ºamPresentacion del pseudocodigo2ºam
Presentacion del pseudocodigo2ºamEsmeralda Salvador
 
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosspedy93
 
Compiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo masCompiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo mascesarkt
 
Sintaxis en java
Sintaxis en javaSintaxis en java
Sintaxis en javapbcanessa
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacionkarenyulithza
 
Sintaxis Básica de Java
Sintaxis Básica de JavaSintaxis Básica de Java
Sintaxis Básica de JavaRay
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programaciónnormaroldano
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionkatiuska27
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacionConfesorAD
 
Clase II Estructura de Datos. IUTE- Merida
Clase II Estructura de Datos. IUTE- MeridaClase II Estructura de Datos. IUTE- Merida
Clase II Estructura de Datos. IUTE- Meridaguestc906c2
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 

La actualidad más candente (20)

Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Tr asem-ver
Tr asem-verTr asem-ver
Tr asem-ver
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Presentacion del pseudocodigo2ºam
Presentacion del pseudocodigo2ºamPresentacion del pseudocodigo2ºam
Presentacion del pseudocodigo2ºam
 
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datos
 
Compiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo masCompiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo mas
 
Sintaxis en java
Sintaxis en javaSintaxis en java
Sintaxis en java
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Sintaxis Básica de Java
Sintaxis Básica de JavaSintaxis Básica de Java
Sintaxis Básica de Java
 
Estructura c
Estructura c Estructura c
Estructura c
 
Clase15
Clase15Clase15
Clase15
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Trabajo algoritmo
Trabajo algoritmo Trabajo algoritmo
Trabajo algoritmo
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacion
 
Clase II Estructura de Datos. IUTE- Merida
Clase II Estructura de Datos. IUTE- MeridaClase II Estructura de Datos. IUTE- Merida
Clase II Estructura de Datos. IUTE- Merida
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 

Similar a Programacion y su lenguaje

Similar a Programacion y su lenguaje (20)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Trabajo tecnología (3).pdf
Trabajo tecnología (3).pdfTrabajo tecnología (3).pdf
Trabajo tecnología (3).pdf
 
Trabajo tecnología.pdf
Trabajo tecnología.pdfTrabajo tecnología.pdf
Trabajo tecnología.pdf
 
Trabajo tecnología.pdf
Trabajo tecnología.pdfTrabajo tecnología.pdf
Trabajo tecnología.pdf
 
Fase 4_Grupo xx.docx
Fase 4_Grupo xx.docxFase 4_Grupo xx.docx
Fase 4_Grupo xx.docx
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Material sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdfMaterial sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdf
 
Java y xml
Java y xmlJava y xml
Java y xml
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Actividad de Inicio Programación
Actividad de Inicio ProgramaciónActividad de Inicio Programación
Actividad de Inicio Programación
 
Conceptos en internet
Conceptos en internetConceptos en internet
Conceptos en internet
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 

Programacion y su lenguaje

  • 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.
  • 22. OPERADORES ARITMÉTICOS. Losoperadoresaritméticosseaplicansobrenúmeros,yaseanrealesoenterosyrealizanoperacionesequivalentesalasoperaciones aritméticasbásicas.Comosepuedenaplicarsobrediferentestiposdedatos,loslenguajesdeprogramacióntienenreglasdetalladasque permitendeterminareltipodedatosdelresultado. ● Siambosoperandossondetipoentero,elresultadoserádetipoentero. ● Siambosoperandossondetiporeal,elresultadoserádetiporeal. ● Siunoperandoesrealyelotroentero,eloperandodetipoenterose convertiráarealyluegoseaplicarálaoperación. OPERADOR PROPÓSITO + suma, adición - resta, negatividad * multiplicación / división % módulo o resto de división entera ^ exponenciación
  • 24. OPERADORES MONARIOS. Sonoperadoresqueactúansobreunsolooperandoparaproducirunnuevovalor.EnCtodaslasconstantesnuméricassonpositivas.Portanto,un númeronegativoesenrealidadunaexpresión,queconsisteeneloperadormonariomenos(-),seguidodeunaconstantenuméricapositiva.No debemosconfundirestemenos,coneldelaoperacióndelasustracción,elcualrequieredosoperandos. Otrosoperadoresmonarios… ● (++) Queeseloperadorincremento,hacequesuoperandoseincrementeenuno. ● (--) Queeseloperadordecremento,hacequeeloperandosedecrementeenuno. ● () Eloperadorsizeof,devuelveeltamañodesuoperandoenbytes. ● (!) Sernegadordecualquierresultadodeevaluacióndeunaexpresiónlógica. Losoperadoresincrementoydecrementopuedenserutilizadosdedosformasdiferentes,dependiendodedondeseescribaeloperador,anteso despuésdeloperando.Sieloperadorprecedealoperando(Ej: ++i),elvalordeloperandosemodificaráantesdequeseutiliceconotropropósito.Si eloperadorsiguealoperando(Ej: i--),elvalordeloperandosemodificarádespuésdeserutilizado.
  • 26. OPERADORES LÓGICOS. Losoperadoreslógicosimplementanlasprincipalesconectivasdelalógicaproposicional.Trabajanconoperandosdetipológicoylosmáscomunes sonlaconjunción(y),ladisyunción(o)ylanegación(no). ● El operador y ( && )tienevalorverdaderosisusdosparámetrossonverdaderosytienevalorfalsoenlosotroscasos. ● El operador o ( || ) tieneelvalorverdaderosialgunodesusoperandosesverdadero. ● El operador no ( ! )trabajasolamentesobreunoperando.Tienevalorverdaderosieloperandoesfalsoytienevalorfalsosieloperando esverdadero. La siguiente tabla da algunos ejemplos de su uso:
  • 27. OPERADORES DE ASIGNACIÓN. Sufunciónconsistenenevaluarunaexpresiónparacalcularsuvaloryasignaresevaloraunavariable.Hastaahoralohemosusadoparaasignar valoresconstantesalasvariables,perotambiénpuedeusarseparaasignarlosresultadosdeevaluarexpresionesmáscomplejascomolasquehemos visto. Estos son algunos ejemplos de ese uso del operador de asignación: ● Eloperadordeasignacióncalculóelresultadodelaexpresión5+8yloasignaalavariableenteratotaldurantesuinicialización.Elvalordela variableluegodelaoperaciónes13 entero total : = 5 + 8 ● Eloperadordeasignaciónevalúalaoperaciónrelacionalyobtieneelvalorfalsoqueluegoalmacenaenlavariablenúmero_mayor. número_mayor : = 7 >= 15 ● Eloperadordeasignaciónevaluólaoperaciónlógicayobtieneelvalorverdaderoqueluegoalmacenaenlavariableresultado_conjunción. resultado_conjunción : = verdadero y verdadero
  • 29. OPERADORES CONDICIONALES Esteoperador(?:)seutilizaparareemplazarestructurassencillasdedecisión.Sisedeseaqueunainstruccióndeterminadase ejecutesegúnunaciertacondición,seempleaesteoperadorternariodelasiguienteforma: <condición>?<expresión-v>: <expresión-f> ● Primero se evalúa la <condición>. Si es verdadera, se evalúa la <expresión-v>. Si es falsa, se evalúa la <expresión-f>. Supongamosquem=50,¿cuálseráelvalorasignadoanenlaexpresiónsiguiente? n=(m=99?1:2)
  • 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
  • 56. Operaciones con arreglos Las operaciones aritméticas entre arreglos se aplican elemento a elemento:
  • 57. Operaciones racionales Reducción del arreglo de booleanos a un unico valor Operaciones entre un arreglo y un valor simple
  • 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:
  • 63. Productos entre Arreglos Producto interno (vector-vector) Producto matriz-vector Producto matriz-matriz
  • 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.,&uml; 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.