Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIÓN A LA PROGRAMACIÓN
SEMANA 1
Fundamentos de
Programación
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
IACC-2017
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni
utilizar los contenidos para fines comerciales de ninguna clase. 1
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
OBJETIVOS ESPECÍFICOS
Reconocer los conceptos básicos fundamentales,
primitivas algorítmicas y principios de estructuras de
datos en la programación.
IACC-2017
2
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN
IACC-2017
3
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Conocer los fundamentos de la programación diarias y tener una visión basada en entradas
y los conceptos básicos permitirá desarrollar – procesos y salidas. Esta unidad brinda
un pensamiento basado en la teoría general elementos que definen una metodología
de sistemas que todo ingeniero o técnico estructurada de pensamiento lógico esto
debe conocer para resolver problemas en definiendo las bases y los conceptos
distintas áreas. La lógica aplicada a la generales que conllevarán a desarrollar más
programación así como el uso de algoritmos adelante programas en lenguajes
permiten lograr la organización de actividades especializados.
Alfred Hitchcock
1. FUNDAMENTOS DE PROGRAMACIÓN
IACC-2017
4
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Los fundamentos de programación representan las bases comunes a todos programas que incluso
se deben manejar antes de elegir un lenguaje o software de programación. Estos fundamentos se
componen de elementos básicos y de estructuras claramente definidas que se deben identificar a
la hora de programar sistemas o aplicaciones.
1.1.1. LÓGICA
De acuerdo con DefinicionMX (s/f), se define a la lógica como una
decir que la misma se abocará a intentar conocer qué tipo de estos procedimientos son los
IACC-2017
5
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
1.1.2. ALGORITMO
Este concepto es un término que todo ingeniero debe tener claro, dentro de la visión sistemática
del mundo (el mundo es un sistema con entradas y salidas) el término de algoritmo se puede definir,
de acuerdo con Mancilla (2014), como una secuencia o serie de pasos que deben seguirse para llegar
a un objetivo o lograr algo, El autor también menciona un conjunto de características que debe
tener todo algoritmo:
Fuente: https://goo.gl/8np1bM
IACC-2017
6
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Fuente: https://goo.gl/TdA3oM
Por último, se presenta un ejemplo de algoritmo en una situación cotidiana implementado como
diagrama de flujo:
IACC-2017
7
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Fuente: https://goo.gl/8bvew8
https://goo.gl/BACX8e
IACC-2017
8
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Fuente: https://goo.gl/1iku7j
En la imagen que se presenta a continuación se observa un diagrama de flujo que se puede seguir
paso a paso para verificar el funcionamiento de una lámpara. Si se siguen los pasos a detalle se
podrá diagnosticar el estado de la lámpara y saber la razón por la cual no ilumina.
IACC-2017
9
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Fuente: https://goo.gl/WGYwhA
1.1.3. SISTEMA
De acuerdo con Alegsa (2017), se define un sistema como un conjunto de partes o una serie de
elementos que se organizan y se relacionan generando interacciones entre sí para lograr un objetivo
o meta común. Los sistemas reciben (entrada) datos, energía o materia del ambiente y proveen
(salida) información, energía o materia.
Fuente: www.alegsa.com.ar
b) El sistema respiratorio humano, que hace que el organismo absorba oxígeno y se genere la
respiración. Se puede identificar como entrada al sistema el oxígeno que ingresa por medio
de la nariz o boca, ese aire es procesado por todos los órganos que componen el sistema
respiratorio y como salida, se expulsa dióxido de carbono. El objetivo común de todos los
elementos del sistema es que los pulmones realicen su función y el organismo puede estar
vital y activo.
IACC-2017
10
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Fuente: www.alegsa.com.ar
Por lo tanto a partir de un algoritmo se puede generar información como salida, y por ende, se debe
fundamentar la definición de algoritmos en el contexto de la teoría de la información.
IACC-2017
11
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Una vez que se tiene una lógica algorítmica, o un algoritmo claramente definido se requiere de un
lenguaje de programación que permita un procesamiento electrónico de los datos, por tanto este
algoritmo es el esqueleto de un programa de computación. Esta relación entre algoritmo – lógica y
lenguaje de programación genera la “lógica de programación”, competencia necesaria en personas
dedicadas al diseño y desarrollo de software.
Se puede mencionar de acuerdo con Mancilla (Ob. Cit.) que los datos son elementos de entrada que
proveen información al algoritmo, el cual procesa los datos generando información que a su vez
genera el conocimiento y éste es interpretado por el usuario.
IACC-2017
12
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
EJEMPLO
Juan se está mudando de casa, para ello tiene 5 cajas en las cuales debe asignar elementos
similares, por lo tanto decide: en la caja 1 asigna libros, caja 2: ROPA, caja 3: artículos de
limpieza, caja 4: zapatos y en la caja 5: objetos frágiles. De esta manera al identificar cada
caja Juan podrá conocer en todo momento el contenido de ellas.
EJEMPLO
Diseñar un algoritmo que sume dos números que indique una persona o usuario.
INICIO
FIN
Es importante destacar que antes del paso 1 y luego del paso 4 se tienen
primitivas de inicio y fin.
El paso 3 evidencia una política de asignación.
Los pasos 1 y 2 muestran primitivas de entrada.
El paso 4 muestra una primitiva de salida.
IACC-2017
13
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Entonces, una primitiva básica no es más que una instrucción que permite ejecutar una o varias
acciones dentro del algoritmo o programa.
“Si María estudia y revisa el material de la semana, ENTONCES le irá bien en el control”
La condición no es otra cosa que una decisión que debe ser tomada, por tanto genera dos posibles
respuestas, una afirmativa (VERDADERA) si se cumple la condición y una negativa en caso de que
no se cumpla (FALSO).
Fuente: https://goo.gl/LYMgvc
De acuerdo con Urbaez (2005), a las estructuras condicionales simples se les conoce como “tomas
de decisión”. Estas tomas de decisión se clasifican de la siguiente manera:
IACC-2017
14
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Simples:
Las estructuras condicionales simples están compuestas de una única condición que si se cumple
genera una acción, en caso de que no se cumpla no ocurre ninguna acción y finaliza la estructura de
control.
Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en
función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
Dónde:
Si: indica el comando de comparación.
Condición: indica la condición a evaluar.
Entonces: precede a las acciones a realizar cuando se cumple la condición.
Instrucción(es): son las acciones a realizar cuando se cumple o no la condición.
IACC-2017
15
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten
comparar una variable con distintos posibles resultados, ejecutando para cada caso una serie de
instrucciones específicas. La forma común es la siguiente:
IACC-2017
16
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
EJEMPLO 1
Algoritmo en el cual se pide la edad del usuario; si es mayor de edad debe aparecer un
mensaje indicándolo. Expresado en Pseudocódigo:
IACC-2017
17
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
EJEMPLO 2
IACC-2017
18
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
EJEMPLO 3
Inicio
Leer nombre
Leer monto_vendido
Sino
Comisión = 2500000*3%
Escribir: ("El monto de las comisiones de" nombre, “es de”: comisión)
Fin
IACC-2017
19
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
En este sentido, identificar las estructuras de datos a la hora de realizar algoritmos es fundamental
ya que permitirá tomar decisiones para resolver un determinado problema. En este sentido, Martín
(Et al.,2012), indican que:
Con esta ecuación se destaca el hecho de que un algoritmo bien definido con estructuras de datos
coherentes y claras genera programas implementados en lenguajes de programación que son
capaces de generar la salida adecuada, de acuerdo al objetivo que pretendia alcanzar el algoritmo.
Conceptos generales:
A continuación se presentan dos conceptos generales que se deben tener en cuenta al deinifir una
estructura de datos, ya que los datos pueden variar de acuerdo a su complejidad y el programador
del algoritmo debe tener la capacidad de traducirlos dentro del programa a diseñar.
Dato simple: es un dato que no está compuesto por ninguna otra estructura de datos, su
representación es directa.
Por ejemplo: se tiene un algoritmo que recibe como entrada el dato NÚMERO, si el número
es par debe mostrar un mensaje que indique: “NUMERO PAR” de lo contrario debe mostrar
un mensaje que indique que: “EL NUMERO NO ES PAR”. El dato NÚMERO en este algoritmo
representa un dato simple.
Estructura de datos: colección de datos que se caracteriza por su organización.
IACC-2017
20
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
Por ejemplo: se tiene un algoritmo que registra el dato ESTUDIANTE, el estudiante tiene su
RUT, dirección, carrera, notas y correo. El algoritmo debe identificar el promedio de notas
del estudiante y si está activo o inactivo. En este caso el dato ESTUDIANTE, es una estructura
de datos que lo componen.
COMENTARIO FINAL
El mundo actual requiere que los problemas sean solucionados en menos tiempo y con la menor
cantidad de recursos. Bajo esta premisa el conocer la lógica aplicada a la programación permitirá el
ordenamiento de ideas y la definición de procesos de manera correcta que permita dar soluciones
a situaciones de todo tipo.
Además, para comprender la lógica algorítmica se debe generar un estándar de orden y estructura,
por tanto es vital que las estructuras de datos así como las primitivas puedan ser identificadas en
cualquier situación real sea cual sea el ámbito. Dentro del mundo de la computación, la informática,
las telecomunicaciones, la automatización y la ingeniería en general estos elementos permitirán
desarrollar programas vía software que permitan la integración con elementos e interfaces de
hardware con diversidad de aplicaciones en todas las áreas de la vida.
REFERENCIAS
IACC-2017
21
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
http://www.alegsa.com.ar/Dic/sistema.php
http://dia.austral.edu.ar/Teoría_de_la_información_de_Claude_E._Shannon
http://computacionallogica.blogspot.cl/
IACC-2017
22
SEMANA 1 – INTRODUCCIÓN A LA PROGRAMACIÓN
IACC-2017
23