1. ¿Qué es una Computadora?
1.1. Máquina electrónica capaz de almacenar información y tratarla automáticamente mediante operaciones matemáticas y lógicas controladas por programas informáticos.
1.2. Podemos definir un sistema de cómputo como un conjunto de elementos organizados que interactúan, unos con otros y con el ambiente, para lograr objetivos comunes operando sobre información. Estos elementos son la computadora (Hardware), los programas (software), los datos y los usuarios
1.3. Estructura y funcionamiento de una computadora
1.3.1. Podemos definir un sistema de cómputo como un conjunto de elementos organizados que interactúan, unos con otros y con el ambiente, para lograr objetivos comunes operando sobre información. Estos elementos son la computadora (Hardware), los programas (software), los datos y los usuarios
1.3.1.1. Entrada: Son los que envían información a la unidad de procesamiento, en código binario. El teclado se compone de una serie de teclas agrupadas
1.3.1.2. Proceso: Es lo que transforma una entrada al sistema en una salida, los datos se deben procesar, llegan al procesador o unidad central de procesamiento la cual consta básicamente de los siguientes elementos la ALU ( Unidad Aritmético Lógica) y la unidad de control esos datos se obtienen a través de la memoria RAM.
1.3.1.3. Salida: Son los dispositivos que reciben información que es procesada por la CPU y la reproducen para que sea perceptible para la persona.
1.4. Modelo de Von Neuman
1.4.1. Un diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de control que contiene un registro de instrucciones y un contador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida.
1.5. Ejecución de programas en la computadora
1.5.1. una computadora sólo puede ejecutar un programa a la vez, pero la velocidad de su procesamiento interno es tan rápida que se pueden distribuir por turno "porciones" del tiempo de la computadora entre varios programas. Esto hace que parezca que se ejecutan varios programas a la vez. Cuando un trabajo necesita un proceso de entrada/salida, otro puede iniciarse (o continuar) su realización; dos o más programas independientes se ejecutan durante el mismo lapso al intercalar su ejecución
2. Ciclo de Vida del Software
2.1. El Proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software. Por ejemplo, hay varios procesos de desarrollo de software específicos que se ajustan a un modelo de ciclo de vida de espiral.
2.2. Planificacion
2.2.1. La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software.
2.3. Implementacion, Pruebas y Documentacion
2.3.1. El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.
2.4. Despliege y Mantenimiento
2.4.1. El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.
3. Estructuras
3.1. una estructura de datos es una forma particular de organizar datos en una computadora para que pueda ser utilizado de manera eficiente.
3.2. Estructuras secuenciales
3.2.1. La estructura secuencial es aquella en la que una instrucción sigue a otra en secuencia
3.3. Estructuras selectivas
3.3.1. La estructura selectiva es la que se utiliza para tomar una decisión
3.3.1.1. 1.- Si, Entonces 2.- Si/No, Entonces 3.- Si, Múltiple
3.4. Estructuras repetitivas
3.4.1. Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces
3.4.1.1. 1.- For 2.- While 3.-Do While
4. Lenguajes de Programación
4.1. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
4.2. Evolución de los lenguajes de programación
4.2.1. Lenguajes de Bajo Nivel
4.2.1.1. -Posee alta velocidad, debida a la traducción inmediata de los códigos binarios -Codificación compleja -Errores en la codificación y depuración compleja. -Productividad mínima: tiempos de desarrollo muy altos -No portabilidad: un programa solo funciona sobre el hardware para el que es hecho.
4.2.2. Código de ensamblaje(ASSEMBLY)
4.2.2.1. notación simbólica creada a principios de los 50, utiliza una serie de abreviaturas mnemotécnicas para representar las operaciones, Al principio, la traducción al código máquina se realizaba manualmente, pero enseguida se vio que el ordenador también podía encargarse de esa traducción; se desarrolló así un programa traductor, llamado ensamblador
4.2.3. Intérpretes Y Compiladores
4.2.3.1. traduce todo el programa de golpe, dejándolo listo para ser ejecutado. De esta forma, se logra mayor rapidez en la ejecución y, además, se liberan recursos de la memoria
4.2.3.2. Traduce instrucción a instrucción y, de esta forma, favorece la interactividad, la depuración y puesta a punto del programa, la ejecución inmediata de una orden, etc.
4.2.4. Lenguaje Lenguajes de alto nivels de Bajo Nivel
4.2.4.1. tienen una estructura que se adapta más al pensamiento humano que a la forma de trabajar del ordenador
4.3. Paradigmas de los lenguajes de programación
4.3.1. Define un conjunto de reglas, patrones y estilos de programación que son usados por un grupo de lenguajes de programación
4.3.2. Paradigma funcional Paradigma lógico Paradigma imperativo o procedural Paradigma orientado a objetos
4.4. Revenue projections
4.4.1. Employee
4.4.2. Employee
5. Concepto de Algoritmo y Características
5.1. Es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.
5.2. Representación de algoritmos
5.2.1. Pseudocódigo
5.2.1.1. Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación
5.2.2. Diagrama de flujo
5.2.2.1. Son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.
5.3. Logaritmo
5.3.1. Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad
5.4. Diagrama de flujo
5.4.1. Debe ser preciso Debe estar definido Debe ser finito Debe ser legibles Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.