1) Estructura
de datos, Variables, Arreglos (Vectores y matrices)
En programación, una estructura de datos es
una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato
elemental es la mínima información que se tiene en un sistema.
Una estructura de datos define la organización y conexión de estos y
un conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones
básicas son:
§ Alta, adicionar un nuevo valor a la estructura.
§ Baja, eliminar un valor de la estructura.
§ Búsqueda, encontrar un determinado valor en la estructura para realizar una
operación con este valor, en forma secuencial o binario (siempre y cuando los
datos estén ordenados).
§ Ordenamiento, de los elementos pertenecientes a la estructura.
§ Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a
las apareadas.
Cada estructura ofrece ventajas y desventajas en relación a la simplicidad
y eficiencia para llevar a cabo cada
operación. De esta forma, la elección de la estructura de datos apropiada para
cada problema depende de factores como la frecuencia y el orden en que se
realiza cada operación sobre los datos.
Estructuras
de datos
1.
Vectores
2.
Matrices
3.
Listas
4.
Arboles
Matriz O Vector
En programación, una matriz o vector (llamados en inglés arrays) es una zona de
almacenamiento continuo, que contiene una serie de elementos del mismo tipo
Desde el punto de vista
lógico una matriz se puede ver como un conjunto de elementos ordenados en fila
(o filas y columnas si tuviera dos dimensiones).
Vectores son llamados
arreglos también, los cuales sirven como campos virtuales en donde puedes
almacenar datos temporalmente.
Por ejemplo, un vector (5,1)
significa que podemos guardar temporalmente 5
datos.
La matriz en un conjunto de arreglos en los
cuales podemos guardar datos temporalmente.
La diferencia con los vectores es que podemos
tener un cojunto de arreglos mas extensa.
Por ejemplo, una matriz de (5,5) o matriz
cuadrada de 5.
Aqui podemos guardar 25 datos
Tipos
De Datos
Todos los datos tienen un tipo
asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un
valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto
de valores que puede tomar una variable.
Tipos de Datos Simples
Ø Datos Numéricos: Permiten
representar valores escalares de forma numérica, esto incluye a los números
enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas
comunes.
Ø Datos Lógicos: Son
aquellos que solo pueden tener dos valores (cierto o falso) ya que representan
el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
Ø Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que
permiten representar valores identificables de forma descriptiva, esto incluye
nombres de personas, direcciones, etc. Es posible representar números como
alfanuméricos, pero estos pierden su propiedad matemática, es decir no es
posible hacer operaciones con ellos. Este tipo de datos se representan
encerrados entre comillas.
Ejemplo:
“Instituto
Tecnológico de Peru”
“1997”
Operadores
y Operandos
Ø
Operadores: Son elementos que relacionan de forma diferente, los valores de una o más
variables y/o constantes. Es decir, los operadores nos permiten manipular
valores.
Aritméticos
Tipos
de Operadores Relaciónales
Lógicos
Ø Operadores Aritméticos: permiten efectuar
operaciones matemáticas con los valores (variables y constantes).
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
Mod Modulo (residuo de la división entera)
Ejemplos:
Expresión Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14
Operadores Relaciónales:
h
Se utilizan para establecer una conexion entre dos valores.
h
Compara estos valores entre si y esta comparación produce un resultado
de certeza o falsedad (verdadero o falso).
h
comparan valores del mismo tipo (numéricos o cadenas)
h
Los operadores relaciónales tiene menor prioridad que los aritméticos.
Operadores
Relaciónales
> Mayor que
< Menor que
>
= Mayor o igual que
<
= Menor o igual que
<
> Diferente
= Igual
Ejemplos:
Si a = 10 b = 20 c
= 30
a
+ b > c Falso
a
- b < c Verdadero
a
- b = c Falso
a
* b < > c Verdadero
Operadores Lógicos:
h
Estos operadores se utilizan para establecer relaciones entre valores
lógicos.
h
Estos valores pueden ser resultado de una expresión relacional.
Operadores
Lógicos
And Y
Or O
Not Negación
Operador And
Operando1 Operador Operando2 Resultado
T AND T T
T F F
F T F
F F F
Operador Or
Operando1 Operador Operando2 Resultado
T OR T T
T F T
F T T
F F F
Operador Not
Operando Resultado
T F
F T
Ejemplos:
(a < b) and (b < c)
((a
> = b) or (a < d)) and (( a > = d) and (c > d))
not (a = c) and (c > b)
Constantes
y Variables
Ø Constante: Una constante es un dato
numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416
Ø Variable: Es un espacio en la memoria
de la computadora que permite almacenar temporalmente un dato durante la
ejecución de un proceso, su contenido puede cambia durante la ejecución del
programa. Para poder reconocer una variable en la memoria de la computadora, es
necesario darle un nombre con el cual podamos identificarla dentro de un
algoritmo.
Ejemplo: área = pi * radio ^ 2
Las
variables son : el radio, el área y la constate es pi
2) Lenguaje y programación (altos, bajos,
maquina, ejemplos)
Lenguajes de Programación
Es un
conjunto de símbolos, caracteres y normas que le permiten a las personas comunicarse con
la computadora.
Los
lenguajes de programación tienen un conjunto de instrucciones que nos permiten ejecutar
operaciones de entrada/salida, calculo, manipulación de textos,
lógica/comparación y almacenamiento/recuperación.
Los
lenguajes de programación se clasifican en:
Ø Lenguaje Maquina: Son
aquellos cuyas instrucciones son
directamente entendibles por la
computadora y no necesitan traducción posterior para que la CPU pueda
comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se
expresan en términos de la unidad de memoria mas pequeña el bit (dígito binario
0 o 1).
Ø Lenguaje de Bajo Nivel (Ensamblador): El término ensamblador (del inglés assembler) describe a un tipo
de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina. El propósito para el que se
crearon este tipo de aplicaciones es la de facilitar la escritura de programas,
ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la
práctica imposible. La evolución de los lenguajes de programación a partir del
lenguaje ensamblador originó también la evolución de este programa ensamblador
hacia lo que se conoce como programa compilador.
Funcionamiento
El programa lee el fichero
escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación propio en sistema binario para la plataforma que se eligió como destino
en las opciones específicas del ensamblador.
Ø Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC,
pascal, cobol, c, etc.) son aquellos en
los que las instrucciones o sentencias a la computadora son escritas con
palabras similares a los lenguajes humanos (en general en ingles), lo que
facilita la escritura y comprensión del programa.
Como una computadora únicamente
puede interpretar y ejecutar el lenguaje máquina, existen programas
traductores, que traducen, programas desde el lenguaje simbólico al lenguaje
máquina.
Los traductores se dividen en: Intérpretes y compiladores.
Un intérprete es
un programa que lee línea a línea un programa escrito en un lenguaje; el
lenguaje fuente, y lo va traduciendo a un código intermedio, para ejecutarlo.
Un compilador es un programa que lee un programa escrito en un lenguaje; el
lenguaje fuente, y lo traduce a un programa objeto. El proceso de la traducción
de programas fuente a programas objeto es la fase de compilación.
El programa objeto obtenido de este proceso ha sido traducido normalmente al
código común del lenguaje máquina. El proceso de montaje conduce a
un programa en lenguaje máquina directamente ejecutable.
Ø
Lenguajes
Orientados a objetos: La POO (programación orientada
a objetos) intenta solventar principalmente los problemas de la Ingeniería del Software como: portabilidad, reusabilidad y
mantenimiento entre otros. Para ello se base en características claves como el
encapsulamiento, la herencia,
el polimorfismo, y el desarrollo orientado primero hacia el qué, y luego hacia
el cómo (interfaces).
El
elemento principal de la POO es la Clase,
la cual simboliza abstractamente un elemento del mundo existente o una unidad
que agrupa propiedades y funcionalidades comunes.
Ø Internet y las nuevas exigencias del
software
La aparición de Internet cambió el foco de los sistemas informáticos.
Industrialmente, son pocas las aplicaciones desktop (de escritorio) que se
diseñan, a menos que se necesiten específicamente. Los negocios de una empresa dependen de datos
que casi nunca están centralizados, y se necesita que esos datos puedan ser
consultados y manipulados por clientes internos y
externos vía un navegador de Internet.
Podemos
fácilmente distinguir entre una aplicación Web y una aplicación de Escritorio:
esta última se caracteriza por llevar a cabo casi la totalidad de operaciones
de negocios, la seguridad impera en este modo, debido a que el equipo donde se
encuentra instalada puede contar con diferentes mecanismos de defensa frente a
virus, troyanos, software espía, &c; el rendimiento y velocidad de
procesamiento son también un punto a favor.
Por
otro lado, sigue el paradigma de multiplataforma, ya que a través de un único
navegador es capaz de acceder a la aplicación como tal y llevar operaciones
como si se tratará de una aplicación más instalada en el equipo local. Sus
usuarios pueden acceder (siempre que se haya concedido este permiso) desde
cualquier máquina con conexión a internet.
4)
Programas
Programa: Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora para la solución de un problema.
Metodología para la solución de
un problema por medio de la computadora:
·
Definición del problema: Es el
enunciado del problema, el cual necesita una definición clara y precisa
·
Análisis: Es necesario
definir; los datos de entrada, la información que se desea producir, los
métodos y formulas
·
Diseño de algoritmo: Debe partir de un inicio, ser
finito en tamaño y tiempo de ejecución.
·
Codificación: Es una serie de instrucciones
detalladas , es la operación de escribir la solución del problema (de acuerdo a
la lógica del diagrama de flujo o pseudocódigo),
·
Depuración y verificación del
problema: Es el proceso de identificar
y eliminar errores, para dar paso a una solución.
·
Documentación: Es la guía o comunicación escrita sirve para
ayudar a comprender o usar un programa
·
Mantenimiento: Se lleva a cabo después de terminado el
programa, cuando se detecta que es necesario hacer algún cambio o ajuste
¿Qué es un Algoritmo?
n Son un conjunto de instrucciones bien
definida, ordenada y finita, que permiten efectuar una actividad específica
mediante pasos sucesivos que no generen dudas a quien lo vaya a ejecutar.
n Muchos autores los señalan como listas de
instrucciones para resolver un problema abstracto, es decir, que un número
finito de pasos convierten los datos de un problema (entrada), en una solución
(salida).
Formas de expresión de un Algoritmo
Lenguaje natural
1. Diagramas de
Flujo
Es la expresión detallada en forma gráfica de
cómo deben efectuarse los pasos en la computadora para lograr la solución de un
problema. Es la expresión gráfica de un
algoritmo.
2. Pseudocódigo
Es una mezcla de lenguaje de programación y
español (o ingles) que se emplea, dentro de la programación, para el diseño de programas.
3. Lenguajes de
Programación
Entender la estructura
Una estructura es
la esquematización de un problema y puede ser:
Secuencial: Se ejecuta un proceso y luego se ejecuta otro, pero, no tiene la
posibilidad de expandirse. Son procesos consecutivos.