Introducción la informática
Medición de capacidad de almacenamiento
BIT
Unidad de informacion pequeña que in PC con valores: 0 ó 1.
BYTE
Unidad básica de información que maneja el PC formado por (8) bits.
Descripción de interfases y periféricos
Monitor
Permite la comunicacion del PC con el exterior a traves de una pantalla
Teclado
Permite al usuario comunicarse con el PC
Unidades de almacenamiento
Permite el almacenamiento de datos y programas de manera permanente
Discos Duros
Discos Flexibles
CD-ROM
Pen Drive
Impresora
Permiten sacar copias en papel
Scanner
Permiten la transformación de figuras en información digital
Mouse
Permite movilizar rápido el cursor
Plotter
Permite elaborar planos,gráficas y mapas.
Conceptos básicos
Usuario
Cualquier persona que obtenga beneficio de los computadores
Hadware
Equipos y aparatos de computacion
Software
Programas y archivos usados por el Hadware
Programa
Serie de instrucciones para el computador
Registro
Conjunto especifico de campos
Archivo
Conjunto ordenado de registros
Campo
Unidad básica de información de un archivo
Computador
Aparato electrónico capaz de interpretar y ejecutar programas
Microcomputador
Computador de escritorio
Minicomputador
Computador mediano (Servidor)
Macrocomputador
Computador grande (Servidor,Mainframe)
Correo Electronico
Software por el cual se reciben y se transmiten mensajes
Cliente/Servidor
Entorno en el cual las capacidades de procesamiento se distribuyen a través de la red
Respaldo
Copia de seguridad de archivos
Compatibilidad
Capacidad de un equipo o computador para ejecutar o leer programas de otro computador
Software mas usado
Sistemas operativos
Unix
Linux
Procesadores de palabras
Word
Hojas de calculo
Excel
Presentadores
Power Point
Bases de datos
Access
SQL
Browsers u Hojedeadores
Firefox
Avant
Netscape
Correo electrónico
Outlook
Planificación de proyectos
Project
Primavera
Organización interna de un PC
Memoria o almacenamiento
Principal
Almacena la información de manera temporal
Secundaria
Almacena de forma permanente la información
Unidad de procesamiento CPU
Genera las actividades del computador
Reside en la tarjeta madre
Interfases
Permite la entrada y salida de datos
Algoritmos y programación
Lenguajes de programación
Técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora y consisten en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático
Empezó en los años 50
Lenguajes primitivos
Fortran quien muestra el uso de las expresiones simbolicas y los subprogramas con parámetros
Cobol y la intoducción del concepto de descripción de datos
Algol60 como primer lenguaje y el que introdujo el concepto de estructura en bloque de procedimientos los cuales podan ser declarados en el programa que se necesitara
Algol 68 y Pascal
Los primeros lenguajes, que contaban con gran cantidad de estructuras de control, tipos de datos y la definición de estos
Lenguaje ADA
El mas poderoso sucesor de Pascal y el que introdujo los paquetes para ayudar a la construcción de programas modulares y las formas de alto nivel
Lenguajes de programación mas conocidos
Basic
Durante mucho tiempo se ha considerado un buen lenguaje para empezar a aprender debido a su sencillez, aunque se podía tender a crear programas poco legibles. A pesar de esta "sencillez" hay versiones muy potentes, incluso para programar en entornos gráficos como Windows (es el caso de Visual Basic).
COBOL
Fue muy utilizado para negocios, aunque últimamente está bastante en desuso.
FOTRAN
Concebido para ingeniería, operaciones matemáticas, etc.
También va quedando desplazado.
ENSAMBLADOR
Muy cercano al código máquina, pero sustituye
las secuencias de ceros y unos (bits) por palabras más fáciles de recordar, como MOV, ADD, CALL o JMP.
C
El mejor lenguaje considerado actualmente, porque no tiene un grado de dificultad alto y permite un grado de control del ordenador muy alto, combinando características de lenguajes de alto y bajo nivel.
PASCAL
Es el lenguaje estructurado por excelencia, y que en algunas
versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y Windows.
Objetivos
Eficiencia
Debe consumir la menor cantidad de recursos posible. Normalmente al hablar de eficiencia se suele hacer referencia al consumo de tiempo o memoria.
Corrección
Un programa es correcto si hace lo que debe hacer. Es muy importante especificar claramente cual es su objetivo antes de ser desarrollado y una vez acabado compararlo con lo que realmente hace.
Claridad
Generalidades
Existen lenguajes que permiten darle instrucciones al ordenador
Hay una técnica estándar de comunicación que permite expresar instrucciones para ser ejecutadas por la computadora
Los lenguajes de programación no son lo mismo que los lenguajes informáticos
Permiten especificar de manera precisa los datos a operar
Tipos
Intérpretes
Son más lentos
Compiladores
La espera es mas alta para ver trabajar el programa que en los interpretes pero su funcionamiento es mas rápido
Generaciones
Lenguajes de primera generación (o bajo nivel)
Ensamblador
Lenguajes de segunda generación
Fotran,Cobol
Lenguajes de tercera generación
C++,Pascal
Lenguajes de cuarta generación
4GL
Lenguajes de quinta generación
Sistemas expertos en desarrollo
Algoritmos
Se entiende al algoritmo como una secuencia no ambigua, finita y ordenada con instrucciones que de tienen que seguir para resolver un problema.
El programa comúnmente implementa un algoritmo, sin embargo puede haber programas que no se ajusten a un logaritmo (pueden no terminar nunca) , en cuyo caso se denomina procedimiento a tal programa.
Programación
Creación de un programa de computadora, el programa se escribe en lenguaje de programación; los programas se dividen en partes menores llamados módulos los cuales pueden estar escritos en lenguajes distintos.
Tipos de programación
Programación no estructurada
También conocida como programación Espagueti
Programación imperativa
Describe la programación como una secuencia de instrucciones o comandos que cambian el estado de un programa siendo el código maquina basado en paradigma imperativo
Programación declarativa
No se basa en el como se realiza si no que describe como es . En otras palabras se centra en la descripción de la solución buscada sin hacer énfasis en el proceso para haber llegado a la solución
Programación funcional
Es un paradigma de programación declarativa basado en la utilización de funciones matemáticas
Progrmación secuencial
Se establece una secuencia definida de instrucciones u ordenes a ser seguidas por el computador, una vez que se ejecute el programa
Programación por eventos
Es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.
Programación estructurada
es una forma de escribir programación
de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional (GOTO)
Programación modular
los programas se desarrollan en módulos
independientes, que serán llamados en el programa principal.
Programación por capas
es un estilo de programación en la que el
objetivo primordial es la separación de la lógica de negocios de la lógica de diseño.
Programación extrema
También conocida como eXtreme Programming (XP) es una aproximación a la ingeniería de software formulada por Kent Beck.
Programación orientada a objetos
está basado en la idea de
encapsular estado y operaciones en objetos.
Diagramas de flujo
Representación visual
Flujo de datos
Sistema de tratamiento de información
Organigrama
Representación diagramática
Ilustra secuencia de las operaciones y el conseguir la solución del problema
Compilación
La mayoría de lenguajes son compiladores
Editor para escribir o revisar programas
Compilador propiamente dicho que convierte a código de maquina
El programa escrito es un lenguaje de programación, no es inmediatamente ejecutado en una computadora.
El código de la fuente del programa debe pasar por el proceso de transformación para convertirse en lenguaje maquina
Un programa puede tener partes escritas en varios lenguajes de programación
La creación de un programa ejecutable tiene dos partes; la copilación y enlazado,.Pasos que se pueden ejecutar por separado
Algoritmos
Son el conjunto de pasos o instrucciones que cuentan con un orden y terminación que conduce a la solución de un problema determinado
Identificadores
Son aquellos nombres que pueden recibir tanto las variables como las constantes, dependiendo del contexto del algoritmo
Reglas para la creación
Contiene tanto números como letras
Siempre deben comenzar con una letra
No deben contener espacios en blanco
No deberán contener caracteres especiales, excepto "_"
El nombre a asignarse debe ser significativo
Operadores y operandos
Operadores son aquellos elementos que se relacionan en forma distinta
Operando son aquellos elementos tomados por los operadores como variables, constantes, etc.
Operadores racionales
Produce resultado verdadero o falso
, Mayor que
, Diferente
=, Igual
>=, Mayor o igual que
Operadores lógicos
^, AND
v, OR
~, NOT
Operadores aritméticos
Multiplicación,*
Prioridad 2
Potenciación, ^
Prioridad 1
División,/
Prioridad 3
Resta, -
Prioridad 5
Suma,+
Prioridad 4
Reglas
Las operaciones aritméticas incluidas en una expresión matemática son sometidas al nivel de prioridad
Las operaciones con signo de agrupación son llevadas a cabo en primer lugar.
Operadores con igual nivel de prioridad en una expresión, el nivel de prioridad está marcado bajo la ejecución de las operaciones de izquierda hacia derecha
Estructuras algorítmicas
Son un grupo de formas de trabajo que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.
Tipos
Secuenciales
Asignación
Entrada
Salida
Condicionales
Simples
Multiples
Cíclicas
Hacer para
Hacer mientras
Repetir hasta
Lenguajes Algorítmicos
Representación gráfica
Diagramas de flujo
Conjunto de símbolos que ayudan a representar ciertas acciones, operaciones, datos o flujos ya definidos dentro del contexto de un algoritmo en computación
Pseudocódigo
Hace uso de palabras reservadas dentro del contexto de la computadora y el lenguaje naturales a fin de expresar o describir el algoritmo
Variables y expresiones
Son valores que sufren cambios en el desarrollo de un algoritmo
Tipos
Variables numéricas
Se utiliza un 0
Variables alfabéticas
" "
Tipos de datos
Datos de tipo númerico
Valores númericos
Enteros
Valores completos
Reales
Números enteros y no enteros
Datos de tipo lógico
Números que solo toman dos valores
True o verdadero
False o falso
Datos de tipo carácter
Datos que una computadora es capaz de reconocer
conjunto ordenado e infinito
Partes
Parte 1
Entrada de los datos
Representa el hecho de permitir la introducción de datos por parte del problema hacia el algoritmo
Parte 2
Procesado de los datos
Representa el hecho de permitir realizar distintas operaciones o acciones para obtener la solución del problema
Parte 3
Salida de los resultados
Representa el hecho de permitir la salida de los resultados obtenidos, producto de la ejecución del algoritmo
Constantes
Son Valores que permanecen invariantes en el desarrollo de un algoritmo como lo es por ejemplo: Z=2x-y, el 2
Tipos
Los Algoritmos computacionales, los cuales se desarrollan en computadoras o calculadora y su resolución depende del cálculo
Los Algoritmos no computacionales , no requieren de procesos de un computador y existen pasos exclusivos para la resolución por parte del humano
Los algoritmos cualitativos son secuencias lógicas y/o formales donde la resolución no intervienen cálculos numéricos
Algoritmos cuantitativos donde la resolución depende directamente de los cálculos matemáticos
Algoritmo de marcaje, el cual se utiliza la automatización para fijar los precios de forma dinámica, basándose en factores como el comportamiento del cliente.
Algoritmos probabilísticos o aleatorios donde el resultado o la manera en que se obtiene el resultado depende de la probabilidad. A veces también son llamados algoritmos aleatorios.
Loa algoritmos heurísticos son aquellos que encuentran soluciones entre todas las posibles, pero no garantizan que la mejor de estas será encontrada. Por ese motivo son considerados como algoritmos aproximados o no precisos.
Los algoritmos de vuelta atrás, son algoritmos que han sido revocados al observar su comportamiento. Típicamente son aproximaciones del algoritmo original que son construidos para propósitos como competición o estudios.
El algoritmo voraz el tipo de algoritmos aplicable a problemas de optimización
Programación dinámica, esto se refiere al método en el cual el algoritmo computa el resultado. A veces la solución de un elemento del problema depende de la solución de una serie de problemas más pequeños.
Historia de la informática
Nace de la necesidad de efectuar cálculos y procesar la información
Puntos de inicio
El hombre primitivo y el uso de los dedos y las piedrecillas con el objetivo de contar, hacer sumas y representar cantidades contadas.
Surgimiento del Ábaco,instrumento considerado como el mas antiguo del calculo
Entre 1368 - 1644 Su uso paso a ser un sistema algorítmico completo
En 1946 Se usa como calculadora electromagnética
Calculo Matemático
Charles Babbage
Confirmo y rectifico las tablas trigonométricas
Realizo la maquina de diferencias en 1812 con el objetivo de calcular e imprimir tablas de funciones
Desarrollo del proyecto de la máquina analítica en 1832 con el objetivo de realizar cualquier tipo de calculo mediante un programa adecuado
Ada Augusta
Primera programadora quien publico una serie de programas para resolver ecuaciones trascendentes e integrales indefinidas.
Leonardo Torres Quevedo
Precursor de la informática y la cibernética quien construyó máquinas para el cálculo científico como lo son transbordadores y aritmómetros
Calculadora
Surgió de la necesidad de calcular sin errores siendo su creación en 1671 y denominada como Calculadora Universal por Gottfried Leibniz quien fue junto con Newton el inventor del calculo infinitesimal; Posteriormente se dio paso a la Calculadora de sobre mesa construida en 1872 por Frank Baldwin
Generación de los ordenadores
Ordenadores de primera generación
Ordenadores electromagnéticos desarrollados en 1941 con un peso de cinco toneladas,mas de 750000 piezas y 800 km de cable bajo la referencia z3 por el alemán Konrad Zuse.
La sustitución de los relés por tubos de vació dan lugar a la creación de ordenadores eléctricos en 1945, los cuales contaban con 18000 tubos y pesaban 30000 kg y fueron usado para el calculo de la trayectoria de proyectiles y los primeros diseños de la bomba de hidrógeno
Ordenadores de segunda generación
Se presenta la sustitución de los tubos de vació por transistores, permitiendo la presentación de los modelos NCR y RCA EN 1958
Aparición de los lenguajes de programación
COBOL (1959)
Algol (1960)
LISP (1962)
FORTRAN (1954)
Ordenadores de tercera generación
Se caracteriza por el uso del circuito integrado, incorporado a mediados de 1960
Surgimiento de la multiprogramación ye l tiempo compartido así como la denominada "Crisis del software"
Creación y estandarización de lenguajes universales mas usados
Fortran (1966)
Algol (1968)
COBOL (1970)
BASIC (1964)
Pascal (1971)
Ordenadores de cuarta generación
Se destaca por el nacimiento del microprocesador Intel 4004 desarrollado en 1971
Primer ordenador personal conocido como 8800 de 1974.
Creación del TRS 80de Radio shack y el Apple II EN 1955
Eclosión de marcas a partir de 1980
Se presenta en 1981 el IBM PC y da lugar a la difusión masiva de la información personal
Ordenadores de quinta generación
Se presenta la iniciativa de investigación y desarrollo para producir una nueva generación de ordenadores por parte de japón en 1981
Estos ordenadores deberían ser capaces de resolver problemas muy complicados, tener la capacidad de racionamiento e inteligencia,trabajar con grandes subconjuntos de lenguajes y estar diseñados para ser manejados por personas no expertas en informática
No contarían con un único procesador, si no un gran numero agrupado en 3 subsistemas fundamentales
Sistema inteligente
Mecanismo de inferencia
Interfaz de usuario inteligente
Los avances se sitúan en materia de teleinformática, y una progresiva disminución de tamaño y coste del equipo, así como de técnicas de programación y desarrollo de inteligencia artificial, y de control de procesos (robotización)
Topic flotante
Visual Basic
Es un lenguaje de programación de alto nivel que se encuentra orientado a objetos desarrollado por John Kemeny y Thomas Kurtz en el Darmouth College en 1964 para Microsoft. Este puede ser tanto interpretado como compilado, no estructurado, y de fácil aprendizaje;el uso de Visual Basic agiliza y simplifica la creación de aplicaciones .NET con seguridad de tipos.
Tipos de datos
Estos indican el tipo de valor que puede almacenar una variable
Números enteros
Byte
Pueden almacenar dentro del rango desde 0 a 255
Integer
Pueden almacenar dentro del rango -32.768 a 32.767
Long
Pueden almacenar dentro del rango -2.147.483.648 a 2.147.483. 648
Números decimales
Single
Double
desde +/- 5e324 hasta 1.8e308
Cadenas de caracteres
Se definen con la palabra string y tienen un rango hasta 2 billones de caracteres
Tipos de valores lógicos en los que se almacena por ejemplo verdadero o falso, se utiliza la palabra Boolean y sus valores son true y false
Las fechas y horas que se utilizan para la palabra Date
Tipo Variant
Pueden almacenar cualquier tipo de de valor pero ocupan más memoria
Traductor
Son programas que traducen a su vez los programas, fuente y escritos en lenguajes de alto nivel a código máquina
Compilador
Es un componente que va traduciendo un programa, de manera que deja un rastro o constancia del mismo para posteriormente poder generar un programa ejecutable y no requerir una nueva traducción cada vez que se disponga ejecutar un programa
Versiones
Visual 1.0 para windows liberada en mayo de 1991
Visual Basic 1.0 para MS-DOS liberada en septiembre en 1992
Visual Basic 2.0 liberada en noviembre 1992
Visual Basic 3.0 liberada en el mercado en 1993 en versiones Standard y Profesional
Visual Basic 4.0, liberada en agosto de 1995, siendo la primera versión que generaba aplicaciones de 16 y 32 bits para windows
Visual 5.0 Microft lanzada en febrero de 1997 y la cual solo generaba programas de 32 bits
Visual Basic 6.0 liberada a mediados de 1998, siendo una versión mejorada e incrementó el número de áreas incluyendo la posibilidad de crear aplicaciones basadas en web.
Primera lengua franca de los microordenadores
Basic estándar establecido en 1978
Basic resurge a mitad de los años ochenta como el lenguaje de programación para principiantes, ordenadores como Sinclair, Spectrum, Amstrad lo usaban como un único sistemas operativo
Se presenta Microsoft Visual Basic 1.0 en 1991
Se lanza en 1992 una versión para MS-DOS que produce interfaces gráficas de texto y usaba el mismo estilo que la versión para windows
Se lanza a mediados de 1998 el soporte estándar para Microsoft visual Basic 6, Esta fue la última versión y finalizó el 31 de marzo de 2005.
Depurador
Es un programa diseñado como ayuda a la hora de detectar, localizar y corregir errores de otro programa, permitiendo al programador analizar un programa, y examinar los datos así como supervisar determinadas condiciones, como lo son los valores de las variables.
Programación orientada a objetos en visual Basic
Es una forma de programación en donde se desarrollan soluciones utilizando componentes u objetos de software.
Visual Basic proporciona compatibilidad total con la programación orientada a objetos, incluidos la encapsulación, la herencia y el polimorfismo.
Operadores
Racionales
Son conocidos tambein como operadores comparativos
Brindan un resultado verdadero, falso, o no valido
Igual (=)
Distinto (<>)
Menor que (<)
Menor o igual que (<=)
Mayor que (>)
Mayor o igual que (>=)
Lógicos
Se utilizan generalmente cuando mendiante Visual Basic se comparan dos expresiones regresando uno de los dos valores posibles en true y false
Navegación (Not)
And
Or exclusivo (Xor)
Implicación (Imp)
False si se presenta el primer operando True y el segundo operando es False
Or inclusivo (Or)
Equivalencia (Eqv)
Aritméticos
Son utilizados para calcular el valor proporcionando un resultado
Exponenciación
Multiplicación (*)
División (/)
Resta de una división entera (Mod)
División entera (\)
Resta (-)
Cambio de signo
Suma (+)
IDE
Se entiende como aplicación u entorno de desarrollo integrado o interactivo que proporciona servicios o herramientas para facilitar el desarrollo de software.Normalmente un IDE consiste en un editor de código,fuente,herramientas de construcción automáticas y un depurador
Visual Basic cuenta con un único entorno de desarrollo por parte de Microsoft, la cual es conocida como Microsoft Visual Basic x.0 el cual corresponde a las versiones desde la 2.0 hasta la 20.0
Contiene sus respetivas diferencias entre versiones del lenguaje. Siendo el IDE es el encarado de proporcionar todas las facilidades para programar en Visual Basic, entre ellas:
La Barra de menús
La caja de herramientas
La ventana o barra de herramientas
La ventana del formulario
La Ventana de propiedades
Lenguaje de programación
Es el encargado de permitir que el computador o dispositivo realice los pasos necesarios para la ejecución de una o múltiples tareas, permitiendo que la maquina y el usuario se comuniquen entre sí.
Tipos de lenguaje
Lenguaje de máquina
Es el más primitivo de los códigos y se basa en la numeración binaria, todo en 0 y 1. Y es quien reúne las instrucciones que recibe de una maquina a la hora de llevar los procesos para los que haya sido programada
Lenguaje de alto nivel
Tiene como finalidad el facilitar el trabajo del programador , ya que permiten la utilización de códigos mediante idiomas conocidos, acompañados de unas instrucciones mas sencillas de entender, lo cual se refleja en la ejecución de directrices y la traducción al lenguaje de la maquina.
Lenguaje de bajo nivel
Están orientados a la maquina o computadora,este ejerce un control directo sobre el Hardware y pueden llegar a variar de acuerdo a lo que se esté programando.