Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1. Lógica
La lógica puede definirse como la disciplina que formaliza el estudio de
los métodos de razonamiento. Es un conjunto de técnicas y teoremas
que nos permiten modelar y definir formas de razonar. Las estructuras
del pensamiento y las reglas que las gobiernan son estudiadas en la
lógica.
● El elefante es un mamífero.
● 5 es un número entero.
● La luna gira en torno a la tierra.
Ejemplos de proposiciones:
Conectores logicos
Negación: Invierte el valor de verdad de una proposición. Cuando
aplicamos este conector a una proposición lógica verdadera, el
resultado es falso. Y viceversa si es falsa el resultado termina siendo
verdadera.
No ¬ Negación No es el caso
de p.
Y ^ Conjunción pyq
O V Disyunción poq
Álgebra de Boole: Nació a mediados del siglo XIX, cuando George Boole
presentó dos libros que explicaban la idea de tratar las proposiciones
lógicas utilizando las matemáticas.
Se puede definir como un sistema matemático basado en los valores 1
(verdadero) y 0 (falso), en conjunto con las
operaciones AND, OR y NOT. Las variables en este sistema no pueden
tomar valores diferentes a 1 y 0, y se denominan variables booleanas.
Ej: A · B
—---------------------------------------------------------------------------------------------
Unidad 2. Algoritmos
Podemos definir un algoritmo como un conjunto definido de
instrucciones, con una orden y una cantidad determinada de pasos
(no existen algoritmos con infinitos pasos). Los algoritmos permiten
llevar a cabo una actividad mediante pasos sucesivos que no generen
dudas a quien deba realizar dicha actividad.
Ej:
1. Ingresar alto de la habitación. Entrada
2. Ingresar ancho de la habitación. Entrada
3. Multiplicar alto por ancho. Proceso
4. Mostrar resultado. Salida
Módulo 2:
Unidad 1. Representación gráfica de los procesos
Representar algoritmos o procesos puede ser algo difícil. No siempre se
pueden encontrar las palabras adecuadas y, en muchos casos, sería muy
difícil de entender o muy largo de leer si solamente se utilizan palabras. Es por
ello que se creó un lenguaje de símbolos, para poder representar
gráficamente los procesos mediante diagramas.
Características de la programación.
Inicio / Fin
Un algoritmo es finito, es por eso que siempre debe tener un comienzo y un
fin.
Los tipos de datos básicos que puede tomar una variable son los siguientes:
Comentarios: Son textos que nos permiten incluir notas en nuestro algoritmo
o código. Estos son ignorados al ejecutar las instrucciones. En este caso, los
utilizaremos para indicar las secciones.
Existen estándares que definen los símbolos que se deben utilizar en los
diagramas de flujo. Dichos diagramas no siempre son algoritmos, pueden ser
procesos de negocio, procesamiento electrónico de datos, entre otros.
Los diagramas de flujo pueden ser muy simples —como los vistos ahora— o
muy complejos y largos. Todo depende del problema que se esté intentando
resolver.
Uso de variables y tipos de datos: Las variables son un elemento fundamental
de la programación, dado que, más allá de lo que haga el sistema que
estamos construyendo, siempre vamos a necesitar almacenar información en
la memoria del computador.
Las variables siempre tienen un tipo de dato asociado, que establece cómo el
lenguaje tiene que tratar el dato contenido dentro de esa variable.
Tipos de datos: Existen diferentes tipos de datos, los principales son los
siguientes:
● Integers: Este tipo de datos se utilizan cuando queremos almacenar un
número sin decimales (un número entero). Por ejemplo, es lo que usamos
si queremos calcular la suma de 100 + 300.
● Double: Las variables de este tipo, al igual que las del tipo float,
permiten manipular números con decimales. La principal diferencia es
la precisión. Como el nombre lo indica, el tipo de dato double tiene una
precisión doble que el tipo de dato float (2x). En general, un double tiene
15 dígitos decimales de precisión, mientras que el tipo de dato float
tiene solo 7.
Según /switch permite agregar una opción de otro modo / default, es decir,
una opción que se ejecute cuando ninguna de las demás es verdadera
(también puede ser nombrada opción por defecto o default). Esto permite
responder, en caso de que el valor de la variable no corresponda con ninguna
de las cuatro provincias. Por ejemplo, podríamos imprimir un mensaje que
muestre “No es una opción correcta”.
Este bucle cumple las mismas funciones que los ciclos anteriores (permite la
repetición de la ejecución en una sección de código), pero con la diferencia de
que asegura que el código se repita, al menos, una vez. Lo que hace es
ejecutar el código que se va a repetir y luego evaluar si
lo tiene que volver a ejecutar.
Tema 4. Recursividad
var1 + var2.
var1 - var2.
var1 * var2.
var1 / var2.
var1 % var2.
Los operadores, junto con las variables y estructuras de datos, son las
bases para la programación, es decir, permiten llevar a cabo acciones
de acuerdo con el valor de dichas variables y el resultado de los
operadores.
Tema 2. Arreglos.
Los arreglos son estructuras de datos que permiten almacenar un
conjunto de variables del mismo tipo. Por ejemplo, podemos tener un
arreglo que contenga los números y contenga las palabras.
Tema 3. Matrices.
Las matrices son estructuras de datos que permiten almacenar datos
en forma de tabla, en la que especificamos un índice para la fila y otro
para la columna. Son iguales que los arreglos, en el sentido de que
necesitan índices para acceder a los elementos y son de tamaño fijo.
Son un arreglo de arreglos, es decir, un arreglo en el que cada elemento
es otro arreglo.
● Punteros: En programación, los punteros son direcciones de
memoria, una forma de saber en qué parte de la memoria se
encuentra una variable y poder acceder a ella cuando sea
necesario.
Tema 4. Listas.
Las listas son secuenciales, debido a que cada elemento contiene un
puntero hacia el siguiente elemento. Por este motivo, siempre que
busquemos un elemento en una lista, son otra estructura de datos muy
importante, que difiere de los arreglos y las matrices en dos aspectos
fundamentales: no son accedidas con un índice, sino de manera
secuencial.
Tema 1. Burbuja.
El algoritmo burbuja es uno de los algoritmos más simples de ordenamiento:
compara elementos de a pares y, si el arreglo tiene n cantidad de elementos,
el método realiza n-1 iteraciones sobre el arreglo. Como en cada iteración se
detecta el elemento mayor, cada iteración sucesiva va a ir teniendo un
elemento menos que comparar.
El método burbuja no tiene la inteligencia de detectar si el arreglo ya está
ordenado, por lo que siempre se hacen n-1 iteraciones sobre este, sin importar
el estado de inicio.
Tema 2. Árbol.
Este algoritmo utiliza una estructura especial llamada árbol binario, para
poder ordenar los elementos dentro de un arreglo u otro tipo de estructura.
La estrategia se basa en construir el árbol, elemento por elemento, el cual se
inserta directamente de manera ordenada. Luego, se obtienen los elementos
recorriendo el árbol construido.
La principal característica de un árbol binario es que cada nodo puede tener
hasta dos nodos hijos.
Tema 3. Inserción.
El ordenamiento por inserción utiliza el siguiente algoritmo:
★ Tomar el primer elemento del arreglo y copiarlo a un nuevo arreglo.
★ Tomar el segundo elemento y compararlo con el ya existente. En el caso
de que sea menor, colocarlo a la izquierda. En el caso de que sea mayor,
colocarlo a la derecha.
★ Tomar el tercer elemento y realizar la misma evaluación: ubicarlo a la
derecha de aquellos elementos que son mayores y a la izquierda de
aquellos que son menores.
★ Repetir el paso anterior, hasta que no queden elementos en el arreglo
original.
★ El resultado es un nuevo arreglo ordenado.
Tema 4. Selección.
El ordenamiento por selección establece que, para ordenar un arreglo, se
deben seguir los siguientes pasos:
● Buscar el menor valor del arreglo e intercambiarlo por el elemento que
se encuentra en la primera posición.
● Buscar el segundo menor valor del arreglo e intercambiarlo por el
elemento que se encuentra en la segunda posición.
● Utilizar el mismo procedimiento para todos los elementos del arreglo
Módulo 4. Conceptos básicos de programación
Unidad 1. Características de los lenguajes
Los lenguajes de programación son un conjunto de palabras
con una sintaxis particular que nos permiten indicarle a un
computador qué es lo que debe hacer.
Código fuente: Se denomina así al código escrito consiste en
un conjunto de archivos que contienen las instrucciones
sobre qué es lo que la máquina debe hacer.
Compilador
Un compilador es una aplicación que lee un lenguaje de
entrada, denominado fuente, y lo transforma en lenguaje
objeto, el cual no tiene por qué ser necesariamente código
máquina.
Los compiladores traducen los lenguajes de alto nivel al
lenguaje de máquina.
Interpretado
Se considera un lenguaje interpretado a aquel que es
traducido a instrucciones propias de la plataforma, línea por
línea, mientras es ejecutado. La principal ventaja de un
lenguaje interpretado es que tiene una gran independencia
de la plataforma donde es ejecutado y es más flexible a la
hora de codificar.
Lenguajes estáticos
Un lenguaje estático es aquel que, si ya definimos una
variable de un tipo determinado, no permite que cambiemos
su tipo. Explicado de otra manera: si delimitamos una
variable de un tipo específico, solamente podemos asignarle
valores de ese tipo y solo de ese tipo.
Lenguajes dinámicos
Al contrario de los estáticos, los lenguajes dinámicos no
tienen especificado el tipo explícitamente, lo infieren o
deducen mediante el valor asignado a la variable en tiempo
de ejecución.
Paradigma declarativo
En el caso del paradigma declarativo, no definimos el
conjunto de pasos o instrucciones, sino que determinamos
directamente el estado final de lo que deseamos obtener y
dejamos al computador que defina cuál es el mejor método
para hacerlo.
Tema 4. Multiplataforma
Un lenguaje multiplataforma es aquel que permite la
ejecución de un programa sin necesidad de compilarlo cada
vez que cambiamos de plataforma.
Lenguaje Java
Java es un lenguaje de programación utilizado para múltiples
propósitos, puede trabajar en forma concurrente, es decir, se
puede paralelizar su ejecución, es orientado a objetos y fue
diseñado específicamente para tener tan pocas
dependencias de implementación como fuera posible.
Mensajes:
Un mensaje es una petición de un objeto a otro para que
este último realice una acción específica ejecutando uno de
sus métodos.
Un mensaje está compuesto por los siguientes tres
elementos:
El objeto destino, hacia el cual el mensaje es enviado.
El nombre del método que se va a llamar.
Los parámetros solicitados por el método.
Tema 3. Características
Para que un desarrollo sea considerado como orientado a
objetos, debe cumplir con un conjunto de características:
Herencia: Permite que definamos una clase y que luego
creemos subclases a partir de ella, reutilizando lo definido en
la primera para crear otras clases de objetos.
Encapsulamiento: Consiste en un método especial para
poder leer o modificar dicho atributo.
Abstracción: Podemos definirla también como la capacidad
de encapsular y aislar la información que deseamos incluir
en nuestros objetos.
Polimorfismo: Establece que una misma operación puede
tener diferentes comportamientos en diferentes objetos, es
decir, diferentes objetos pueden reaccionar de manera
distinta al enviarles el mismo mensaje.