Menu de navegacion ejercicios de lógica
  1. La lógica
  2. Metodología para solucionar problemas computables
  3. Variables, constantes y operadores
  4. Estructuras para representar algoritmos
  5. La tecnología
  6. Decisiones
  7. Ciclos
  8. Vectores
  9. Matrices
  10. Funciones

Seccion de decisiones

Lógica de programación

1. La lógica

Lógica: la forma más obvia y facil de hacer cualquier cosa

Fundamentos conceptuales

Atributo: caracteristica que identifica a un ente informatico.
Ente informatico: todo aquello que se puede describir basandose en sus caracteristicas.
Dato: stributo "codificado" en unos terminos entendibles a un sitema de información, son manejables, comparables y en gran medida absolutos.
Codificado: atributo convertido a una escala determinada para poder ser más manejable, permite realizar comparaciones y obtener resultados.
Campo: nombre que se le pone a un dato para identificar el atributo que describe.
Registro: conjunto de campos que pertenecen a un ente informatico.
Tabla o archivo: conjunto de registros que tienen la misma estructura y se pueden manejar como una unidad.
Base de datos: conjunto de tablas o archivos organizados bajo unas tecnicas de normalización.
Bodega de datos: conjunto de bases de datos tpecnica y lógicamente organizadas para que almacenen grandes volumenes de información.
Información: conjunto de datos organizados y entendibles.
Informatica: ciencia que estudia, aplica y optimiza el tratamiento eficiente de la información para que sea veraz y oportuna.

2. Metodología para solucionar problemas computables

Objetivo: Solución del problema, define hacia dónde vamos y dónde debemos parar.
Análisis semántico: estudia el significado de un mensaje a partir del significado y sentidos de las palabras que lo conmponen, garantiza la claridad del objetivo.
Algoritmo: conjunto de pasos que permite alcanzar un objetivo.
Análisis EPS:Entrada (objetivo), proceso (algoritmo) y salida (resultado).
Solución optima: alcanzar el objetivo con los minimos recursos.
Prueba de escritorio: simulación de la puesta en marcha de un algoritmo, determina si alcanza el objetivo.
Algoritmo informal: todo algoritmo que normalmente son realizados por los seres humanos.
Algoritmo computacional: todo algoritmo que debe ser implementado por un computador para aprovechar su velocidad de procesamiento.
transcripción: proceso en el cual se convierte un algoritmo informal en uno computacional de acuerdo con un lenguaje de programación.
Programa: algoritmo escrito con las instrucciones, restricciones y reglas de un lenguaje de programación.
Digitación: proceso por medio del cual se lleva a cabo la transcripción, se requiere un editor de texto o entorno integrado de desarrollo.
Compilación: proceso que revisa si el programa digitado se ajusta a las reglas sintácticas del lenguaje de programación.
Correr: ejecución del programa por el computador, permite verificar los resultados.

3. Variables, constantes y operadores

Variable: campo de memoria al que se le puede cambiar su contenido.
Campo de memoria: parte de la memoria principal del computador que permite guardar datos.
Entero: tipo de dato, número que no tiene punto decimal.
Real: tipo de dato, número que tiene punto decimal.
Caracter: tipo de dato, cada uno de los valores del código ASCII (American Standard Code for Interchange Information).
Bit: digito binario, cada cero o cada uno utilizado en el sistema ACII.
Byte: conjunto de 8 bits.
Cadena: conjunto de caracteres.
=: asignación, el computador almacena en la izquierda lo que está a la derecha.
Operadores: signos que permiten expresar relaciones entre variables y/o constantes de las cuales normalmente se desprende un resultado.
Jerarquia de operadores: conjunto de reglas que permiten al computador evaluar de una sola forma las expresiones aritmeticas, primero potencias, segundo multiplicación y división, tercero suma y resta.
Codigo American Standard Code for Interchange Information:

4. Estructuras para representar algoritmos

Estructura: esquema que permite representar una idea que bajo consiciones normales es constante.

Estructuras basicas del pensamiento

Secuencias: una instruccion va después de otra de manera ordenada.
Decisiones: la siguiente instrucción depende de una condición que determinará el camino.
Ciclos: la instrucción repetitiva se activa con una condición mientras

Tecnicas de representación

Diagrama de flujo: representa algoritmos por medio de simbolos graficos, presenta una idea clara de la secuencia de pasos que necesita para alcanzar el objetivo.
Diagrama rectangular estructurado: herramienta grafica que respresenta la solución aa un problema, permite ser desordenado.
Seudocodigo: representación textual de un algoritmo de manera que se enmarque en algunas normas tecnicas que falicitan su posterior transcripción.

5. La tecnología

Lenguajes

Lenguaje de bajo nivel: aquellos lenguajes en los cuales sus instrucciones son complejas para nosotros pero extremadamente sencillas para el computador.
Lenguaje de alto nivel: aquellos lenguajes que son más entendibles para el ser humano y facilitan la programación.
Lenguajes interpretados: aquellos lenguajes donde existe un programa interpretador que toma nuestro código, lo convierte en bajo nivel y lo ejecuta.
Lenguajes compilados: aquellos lenguajes donde un programa compilador toma todo nuestro codigo, lo revisa y cuando esta completamente bien, lo convierte en bajo nivel para que sea ejecutable.

Errores en un programa

Errores humanos: errores que ocurren en el proceso de escritura del algoritmo, no son detectados por el compilador.
Errores de concepción: error que ocurre cuando el objetivo no esta claramente identificado y entendido, entonces no satisface las necesidades.
Errores lógicos: errores que ocurren cuando no se lleva a cabo la prueba de escritorio.
Errores de procedimiento: errores que ocurren cuando se tiene claro el objetivo y se desarrolla aproximadamente bien el algoritmo pero no se hace bien la prueba de escritoriio.
Errores detectados por un compilador: el compilador dice cuál es el error y orienta sobre su ubicación.
Errores de sintaxis: omisiones que ocurren al momento de escribir un programa, suelen consistir en cerrar con punto y coma o declarar una variable, no permiten que el programa se ejecute.
Errores de precaución: Recomenadaciones tecnicas para garantizar el correcto funcionamiento del programa, permiten que el programa se ejecute pero no es optimo.

Desarrollo historico de la programación

Programación directa o real: a traves de circuitos electricos y electronicos, programación de bajo nivel.
Programación libre: implementación de lenguajes de programacón y metodología de instrucciones libre.
Programación estructurada o tradicional: aplicación de los lenguajes de programación con la implementación de las tres estructuras basicas (secuencias, decisiones y ciclos).
Programación orientada a objetos: la programación es una simulación del mundo real, los objetos son entes informaticos que tienen caracteristicas (atributos) y sirven para algo (métodos).
Programación visual: la experencia de usuario es importante, por ello se desarrollan herramientas para facilitar el diseño de interfaces claras y entendibles.
Programación funcional: un objetivo complejo es facil de programar cuándo se divide en objetivos pequeños, las funciones son programitas (conjuntos de instrucciones) que permiten alcanzar pequeños obejtivos, tienen nombre identificativo, recibe argumentos y retorna un valor.

7. Decisiones

Decisión: estructura lógica que consiste en elegir un camino lógico entre varios posibles a partir de una condición predefinida. A continuación se describen las estructuras de decisiones:

si entonces simple

No es obligatorio incluir la alternativa Sino

                    si (condición)
                        instrucciones
                    sino 
                        instrucciones
                    fin_si
                

si entonces en cascada

las alternativas Sino permiten generar nuevas condiciones Si

                    si (condición_1)
                        instrcucciones
                    sino
                        si (condición_2)
                            instrucciones
                        sino
                            si (condición_3)
                                instrucciones
                            sino
                                instrucciones
                            fin_si_3
                        fin_si_2
                    fin_si_1
                

si entocnes en secuencia

No incluyen Sino, a menos que vaya en el interior

                    si (condicion 1)
                        instrucciones
                    si (condicion 2)
                        instrucciones
                    si (condicion 3)
                        instrucciones
                    si (condicion 4)
                        instrucciones
                

si entonces anidado

Una estructura de decisión completa se encuentra dentro de otra

                    si (condición_externa)
                        si (condición 1)
                            instrucciones
                        sino 
                            instrucciones
                        fin_si_1
                    sino 
                        si (condición 2)
                            instrucciones
                        sino
                            instrucciones
                        fin_si_2
                    fin_si_externo
                    
                

casos simple

Abrevia las decisiones en cascada y secuencia

                    evalúe (variable)
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                        sino: instrucciones
                    fin_evalúe
                

casos anidado

un caso genera otra estructura de casos

                    evalúe (variable)
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                        si vale (valor): instrucciones
                                         evalúe (variable)
                                              si vale (valor): instrucciones
                                              si vale (valor): instrucciones
                                              si vale (valor): instrucciones
                                              sino: instrucciones
                                         fin_evalúe
                        sino: instrucciones
                    fin_evalúe
                

8. Ciclos

Ciclo: estructura que permite repetir un conjunto de instrucciones una cantidad de veces determinada, normalmente dependiente de una condición. cada ciclo cuenta con una variable que almacena el valor de inicio que va a estar en la evaluación de la condición y que se incrementa en la ejecucion del conjunto de instruccione para que posteriormente la condición sea falsa, por estas razones dicha variable se llama indice del ciclo. ¡Son fundamentales para trbajar con arreglos! A continuación se describen las estructuras de ciclos:

ciclo mientras o mientras que

Mientras se cumpla la condicion, entonces se ejecuta repetitivamente el conjunto de instrucciones hasta que la condición se vuelva falsa.

                    variable
                    mientras (variable_condición)
                        conjunto de instrucciones
                        variable (paso_valor)
                    fin_mientras
                

ciclo para

para la variable se toma valor inicial hasta valor final aumentando valor, es más corto que el ciclo mientras que.

                    para (variable) = (tope_inicial) hasta (tope_final) paso (valor)
                        conjunto de instrucciones
                    fin_para
                

ciclo haga hasta

Similar al ciclo mientras, pero las instrucciones se repiten mientras la condición sea falsa.

                    variable
                    haga
                        conjunto de instrucciones
                        variable (paso_valor)
                    hasta (variable_condición)
                

ciclo haga mientras

Inversión del ciclo mientras, primero se ejecuta el conjunto de instrucciones y luego se evalúa la condición

                    varibale
                    haga
                        conjunto de instrucciones
                        variable (paso_valor)
                    mientras (varibale_condición)
                

ciclo anidado

Estructura en la cual un ciclo esta dentro de otro. Mientras la condición_1 sea verdadera se ejecuta el conjunto de instrucciones dentro del cual se encuentra un ciclo interno regido por la condición_2 que se ejecutará cuando la condición_2 sea verdadera, cuando la condición_2 es falsa se ejecuta el resto de instrucciones del ciclo externo, y luego volverá a evaluar la condición_1. ¡Son fundamentales para trabajar con matrices!.

                    mientras (condición_1)
                        mientras (condición_2)
                            conjunti de instrucciones
                        fin_mientras_2
                    fin_mientras_1
                

9. Vectores

Arreglo: conjunto de variables en donde cada una de ellas puede ser referenciada utilizando su posición relativa, es decir, su ubicación en relación con el primer elemento de dicho conjunto.
Índice: toda variable que permita ubicar un elemento dentro de un arreglo, suelen ser datos númericos enteros.
Subíndice: variable que reemplaza al índice, su contenido es el dato entero que necesitamos.
Vector: arreglo en donde la ubicación exacta de cada elemento necesita solamente un subíndice. El conjunto de datos almacenados debe tener un nombre, los datos deben tener el mismo tipo de datos, una cantidad o tamaño de elementos definida, un uso destinado claro, un subíndice entero

10. Matrices

Matriz: conjunto de variables organizadas en filas y columnas, para referenciar cada dato se requiere aclarar en qué fila y en qué columna se encuentra. Las filas son horizontales y las columnas son verticales, debe tener un nombre de identificación, contiene el mismo tipo de dato, tiene una dimensión y un tamaño delimitados.
Dimensión: se refiere a la cantidad de filas y columnas que va a tener la matriz, consiste en determinar la cantidad de filas y columnas va a tener la matriz, finalmente la matrix debe tener una finalidad clara.
Tamaño absoluto: se refiere al resultado de multiplicar la cantidad total de filas por la cantidad total de columnas de una matriz.
Tamaño relativo: cantidad total de posiciones usadas en una matriz, es menor o igual al tamaño absoluto de la matriz.

11. Funciones

Función: conjunto de órdenes que permite lograr un objetivo, tiene un nombre que la identifica, puede requerir parametros, pude retornar resultados, puede ser manejada como una sola unidad. Es el concepto más importante en el mundo de la programación, es una herramienta muy poderosa que hace de la programación una actividad sencilla. Las funciones permiten simplificar el código, simplificar la prueba de escritorio y reutilizar código.
Macro algoritmo:algoritmo que logra el objetivo general por medio de unidades funcionales que logran pequeños obejtivos, entonces el objetivo general se divide en objetivos especificos alcanzados por funciones que estan coordinada por la función principal. La función principal se encarga de coordinar y llamar a las otras funciones para alcanzar el objetivo general, esto facilita la comprensión del algoritmo, simplifica la prueba de escritorio y su posterior corrección. Suele representarse con un diagrama de bloques. Logimanente cada opción llama a una función diferente para que logré determinado objetivo.
Menú: es un conjunto de opciones que se le presentan a un usuario para que él escoja cuál utilizar, siempre debe existir una opción que permita terminar el programa o salir del menú.

Problemas reales de la programación

Simplificar la idea general para lograr un objetivo: normalmente se desarrollan soluciones más largas de lo esperado, es recomendable dividir el objetivo y solucionarlos con pedacitos funcionales de código.
Simplificar la prueba de escritorio: un algoritmo corto permite detectar facilmente los errores, esto lo hace más confiable.
Reutilizar código: es común la necesidad de incorporar código que ya se ha hecho en otras aplicaciones.

Variables globales y variables locales

Variable global: variable declarada por fuera de cualquier función, entonces se puede reconocer y utilizar desde cualquier función.
Variable local: variable declarada por dentro de una función, entonces solo se puede reconocer y utilizar en determinada función.