Computing">
Programación I - Guía 1 - Introducción A La Programación
Programación I - Guía 1 - Introducción A La Programación
Programación I - Guía 1 - Introducción A La Programación
ESTUDIANTE:
PROGRAMA: Sistemas
ASIGNATURA Y/O REFERENTE TÉCNICO: Lenguaje y lógica de programación I
FECHA: SEMESTRE: GUÍA No. 1
DOCENTE: Ing. Luis Eduardo Ramírez Carvajal
OBJETIVO Conocer los conceptos básicos sobre programación
GENERAL
- Comprender el concepto de ingeniería de software
OBJETIVOS - Identificar las características del software
ESPECÍFICOS - Identificar los tipos de software
- Conocer los rasgos principales de la ingeniería de software
1.1 Informática
1.2 Computadoras
1.3 historia
TEMAS:
1.4 lenguaje
1.5 Tipos de lenguaje
1.6 Lógica de programación
Mihaela Juganaru Mathieu, Introducción a la programación, Grupo Editorial Patria, 1ed,
México, 2014
Jorge Orlando Herrera Morales, Julián Esteban Gutiérrez Posada, Robinson Pulgarín
Giraldo, Introducción a la programación, Editorial ElIZCOM S.A.S, 1ed, Colombia, 2017
1. Actividades
EVALUACIÓN
2. Preguntas abiertas
Ó TALLER
3. Preguntas de selección múltiple
4. Preguntas de falso y verdadero
1.1 Informática
¿Qué es la informática?
La informática es una ciencia de la computación que se encarga del tratamiento y estudio racional,
de la información. Es decir, esta ciencia se encarga de distinguir a un conjunto de conocimientos
prácticos y teóricos relacionados con la ciencia y la tecnología que, al relacionarse, hacen posible
el tratamiento automático y racional de la información a través de computadoras.
La informática como toda ciencia combina los aspectos teóricos y prácticos de otras disciplinas
como la ingeniería, electrónica, matemáticas, lógica, teoría de la información y comportamiento
humano.
1.2 Computadoras
Hardware. La parte física y tangible del sistema, o sea, sus componentes eléctricos y electrónicos,
que cumplen con diversas funciones fundamentales, como la realización de cálculos o la
alimentación eléctrica del sistema. De algún modo equivaldría al “cuerpo” de la computadora.
Software. La parte intangible, digital, abstracta, del sistema, que se ocupa de las operaciones de
tipo conceptual o representacional, normalmente dentro de un entorno virtual simulado, esto es,
dentro de una simulación que hace más amable la interacción con el usuario. Esto abarca todo tipo
de programas, desde los programas de base (como el Sistema Operativo que mantiene andando el
sistema) hasta las aplicaciones posteriormente instaladas. Siguiendo la metáfora, equivaldría a la
“mente” del computador.
1.3 Historia
La historia de las computadoras es bastante reciente. Sin embargo, pueden considerarse como
antecedentes numerosos aparatos no digitales e incluso no electrónicos para lidiar con grandes
volúmenes de información: el ábaco, o los aparatos mecánicos para calcular que se empleaban
antaño, son ejemplo de ello.
Además, debe considerarse lo antiguas de las bases conceptuales de todo sistema informático,
como la matemática y los algoritmos (830 d.C.), o las reglas de cálculo (1620 d.C.). Sin embargo, se
considera a la “máquina analítica” de Charles Babbage (1833) y la máquina tabuladora de
Hermann Hollerith (1890) como los primeros computadores.
Sin embargo, no eran equiparables aún a los sistemas que comenzaron a aparecer en el siglo XX.
Liderados por el matemático inglés Alan Turing (1912-1954), durante la Segunda Guerra Mundial
diversos científicos aliados colaboraban en el desarrollo de sistemas automáticos para descifrar
los códigos militares enemigos.
El bando contrario también comenzó a implementar esta estrategia, con la creación de la
calculadora automática Z1, del ingeniero alemán Konrad Zuse (1910-1995), a la que seguirían las
versiones Z2, Z3 y Z4, cuyo éxito pasó inadvertido debido a la guerra.
1.4 Lenguaje
Para explicarlo mejor (en otras y con menos palabras), el lenguaje de programación es un sistema
estructurado de comunicación, el cual está conformado por conjuntos de símbolos, palabras
claves, reglas semánticas y sintácticas que permiten el entendimiento entre un programador y una
máquina.
El lenguaje de programación es la base para construir todas las aplicaciones digitales que se
utilizan en el día a día y se clasifican en dos tipos principales: lenguaje de bajo nivel y de alto nivel.
Este lenguaje sirve de interfaz y crea un vínculo inseparable entre el hardware y el software.
Además, ejerce un control directo sobre el equipo y su estructura física. Para aplicarlo
adecuadamente es necesario que el programador conozca sólidamente el hardware. Éste se
subdivide en dos tipos:
Lenguaje máquina
Es el más primitivo de los lenguajes y es una colección de dígitos binarios o bits (0 y 1) que la
computadora lee e interpreta y son los únicos idiomas que las computadoras entienden.
Ejemplo: 10110000 01100001
No entendemos muy bien lo que dice ¿verdad? Por eso, el lenguaje ensamblador nos permite
entender mejor a qué se refiere éste código.
Lenguaje ensamblador
El lenguaje ensamblador es el primer intento de sustitución del lenguaje de máquina por uno más
cercano al utilizado por los humanos.
Un programa escrito en éste lenguaje es almacenado como texto (tal como programas de alto
nivel) y consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables
por un microprocesador.
Sin embargo, dichas máquinas no comprenden el lenguaje emsamblador, por lo que se debe
convertir a lenguaje máquina mediante un programa llamado Ensamblador.
Este genera códigos compactos, rápidos y eficientes creados por el programador que tiene el
control total de la máquina.
Ejemplo: MOV AL, 61h (asigna el valor hexadecimal 61 al registro «AL»)
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones más
fáciles de entender.
Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas que
conocemos (español, inglés, etc.) y luego, para ser ejecutados, se traduce al lenguaje de máquina
mediante traductores o compiladores.
Traductor
Traducen programas escritos en un lenguaje de programación al lenguaje máquina de la
computadora y a medida que va siendo traducida, se ejecuta.
Compilador
Permite traducir todo un programa de una sola vez, haciendo una ejecución más rápida y puede
almacenarse para usarse luego sin volver a hacer la traducción.
Lógica es la técnica utilizada para desarrollar instrucciones en una secuencia para lograr
determinado objetivo. Es la organización y planificación de instrucciones en un algoritmo, con el
objetivo de tornar visible la implementación de un programa o software.
El gran desafío del programador es entonces montar la estructura del programa para que este sea
ejecutado por la computadora. Y es necesario partir del principio de que la computadora no piensa
de la misma forma que el ser humano, y no es inteligente para saber qué es lo que tiene que
hacer, ni comprender mensajes subjetivos.
Por eso organizar la información de forma clara y en el orden adecuado es primordial para que la
acción sea ejecutada correctamente.
El algoritmo es la propia secuencia de instrucciones para la ejecución de una tarea. De una forma
más simple, el algoritmo es una receta o ruta que indica todos los procedimientos necesarios para
realizar algo o resolver un problema.
Versión 01 COPIA CONTROLADA
01-07-2020
6
INSTITUTO TECNICO DE SISTEMAS E INVESTIGACION ITSI
NIT. 27604396 GT-01
GUIA DE ESTUDIO SEMANAL
La información en un algoritmo no puede ser redundante o subjetiva. Tiene que ser clara y
detallada para que la computadora interprete correctamente. Ejemplificando mejor vamos a hacer
un algoritmo para freír papas de una forma bien simple y didáctica. ¡Vamos!
Algoritmo “Papa-frita”
Inicio:
¡Este es un algoritmo! Es importante que estés pendiente de tener una secuencia correcta y bien
definida de las acciones, porque como en el ejemplo, no podríamos cortar las papas después de
freírlas.
Hay diversas formas de representar un algoritmo, como formas gráficas, flujogramas, formas
textuales o en pseudocódigo. La diferencia entre el algoritmo que creamos y el que es utilizado en
la programación, es el lenguaje para que la computadora entienda.
Es importante resaltar que el flujo puede seguir diferentes caminos y convertirse en algo más
complejo con cada información que se agrega. Por ejemplo, podríamos sumarle la condición de
que si el aceite estuviera frío es necesario esperar, y si no (si estuviera caliente) podría colocar las
papas para freír. Pero de esta forma entramos en otros factores y variables que pueden ser asunto
para otros artículos.
Tengamos en cuenta también que para comprender instrucciones subjetivas, es importante tener
algunas reglas o indicaciones para entender la tarea “freír papas” y ejecutarla correctamente. De
igual manera en el caso de las computadoras; necesitamos saber algunos conceptos para mejorar
nuestros algoritmos, facilitando la comprensión y ejecución de los mismos.
Variables y constantes
Una variable es un espacio para almacenar un tipo de dato que puede ser modificado cuando sea
necesario.
En cambio la constante posee un dato definido al inicio del programa y no podrá ser alterado.
Utilizando el ejemplo de la papa frita, podemos decir que el aceite es una variable, ya que puede
estar caliente o frío. Y el tiempo que demoran las papas fritas en estar listas es una constante;
pues siempre serán 10 minutos, por ejemplo.
Creamos este ejemplo para mostrar la importancia de escribir la secuencia correcta de las
acciones, y para entrenar el razonamiento. Eso es algo que ya utilizas en la vida cotidiana sin
percibirlo
Detente y piensa un momento en tu rutina al despertar. Si lo escribes en un papel verás que es
más compleja de lo que parece, pero la ejecución es automática. Imagina entonces comenzar a
pensar en lo que podría ser variable y constante en esa rutina. Este es un excelente ejercicio para
entrenar la lógica de programación y el uso de algoritmos.
Ahora sólo tienes que entrar de lleno en el mundo de la programación e ir descubriendo los otros
elementos importantes para programar.
Gracias a los avances tecnológicos de hoy en día, estudiar programación o cualquier otro tipo de
disciplina, es posible a través de internet. Existe una gran cantidad de cursos, videos y
comunidades digitales donde puedes aprender a programar y conocer las herramientas necesarias
que te ayudarán en esta tarea.
Uno de los cursos más famosos para aprender programación desde cero, es el curso gratuito de
desarrollo de juegos y animaciones del MIT (Massachusetts Institute of Technology),
llamado Scratch. Si ya hiciste clic en el link, seguramente habrás visto parece un sitio web para
niños, y en verdad lo es, y esta es una de las razones: