UNIDAD I LÓGICA COMPUTACIONAL ¿QUÉ ES LA LÓGICA COMPUTACIONAL?
-
Upload
fulgencio-carreno -
Category
Documents
-
view
52 -
download
2
Transcript of UNIDAD I LÓGICA COMPUTACIONAL ¿QUÉ ES LA LÓGICA COMPUTACIONAL?
SECRETARÍA DE EDUCACIÓN PÚBLICASUBSECRETARÍA DE EDUCACIÓN MEDIA
SUPERIORDIRECCIÓN GENERAL DEL
BACHILLERATO
ESCUELA PREPARATORIA FEDERAL POR COOPERACIÓN
“DAVID ALFARO SIQUEIROS”CLAVE EMS – 2/70
LÓGICA COMPUTACIONAL Y PROGRAMACIÓN
UNIDAD ILÓGICA COMPUTACIONAL
LÓGICA COMPUTACIONAL
¿QUÉ ES LA LÓGICA COMPUTACIONAL?
DEFIN
ICIÓ
N La lógica computacional es una disciplina que estudia la aplicación de la lógica clásica formal para la representación computacional de argumentos, las técnicas de deducción automática y asistida por computadora; sus fundamentos relacionados con validez y completes de sistemas de proposiciones; y las aplicaciones de esas técnicas a las diferentes áreas de las ciencias computacionales en todas las etapas de desarrollo de software, es decir, en la especificación, diseño, construcción y verificación formal de programas. En este objetivo concurre junto con la teoría de la computación y el análisis de algoritmos.
EN POCAS PALABRAS LO QUE TRATAREMOS EN ESTA MATERIA ES
PROGRAMACIÓN; PERO… ¿QUÉ ES LA PROGRAMACIÓN?
DEFINICIÓN
Es el proceso de planificar una secuencia de
instrucciones que ha de seguir una
computadora.
PARA QUE EXISTA LA
PROGRAMACIÓN SE REQUIERE DE UN PROGRAMA
QUE SE DEDIQUE A CREAR LOS PROGRAMAS
Y… ¿QUÉ ES UN PROGRAMA Y QUÉ
HACE EL PROGRAMADOR?
DEFINICIONES
PROGRAMAConjunto de
instrucciones de acuerdo con un formato llamado lenguaje que permite da
instrucciones a la computadora para que
las realice en forma automática, convirtiendo
datos o valores en información importante para tomar decisiones.
Conjunto de instrucciones que tienen como propósito generar los resultados o salidas deseadas por el usuario
de la computadora a partir de la realización de una serie de operaciones
sobre un conjunto de datos proporcionado o
entradas.
Conjunto de instrucciones que al ser ejecutadas realizan una
tarea específica.
Es la secuencia de instrucciones que indica las acciones que ha de
ejecutar la computadora.
Para que exista un programa se requiere del Programador.
•Persona que se encarga de crear el código fuente o código del programa mediante un procesador de texto o una ventana de edición.
PROGRAMADOR
EL PROGRAMA DEBE CUMPLIR UN CICLO DE DESARROLLO
CICLO DE DESARROLLO
Planeación: Consiste en entender el problema y establecer soluciones.
Diseño: Se crea la interfaz mediante la
cual el usuario interactúa con la
aplicación.
Programación: Se personaliza la función
de los controles, asociando
instrucciones.
PARA PODER REALIZAR TODO LO ANTERIOR SE
UTILIZAN ALGUNOS
LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
BAJO NIVEL O CÓDIGO MÁQUINA
Conjunto de Ceros y Unos, es
decir señales binarias que, por
ejemplo, un procesador podrá “entender” a una
alta velocidad.
Ejemplo: Pascal,
Cobol, C, C++ y Java.
ALTO NIVEL
Son un conjunto de palabras u órdenes que poseen una determinada
sintaxis, es decir, una norma
predefinida para escribir un programa.
Ejemplo: Visual Basic
LENGUAJES DE PROGRAMACIÓN
Pascal: Fue desarrollado por Niklaus Wirth y el grupo de Zurich a principios de los años 70. Este lenguaje es muy apropiado para la enseñanza de la programación, puesto que su sintaxis es muy simple y es un lenguaje muy estructurado, lo que facilita la lectura e interpretación de los programas.
Cobol: Es un lenguaje de programación muy portable entre diferentes sistemas operativos, orientado a la gestión de datos. Sus usos más comunes son el desarrollo de software en las áreas administrativas y contables.
C: Es un lenguaje de programación estructurado y muy portable, se ha empleado en el desarrollo de sistemas operativos, estructuras de datos, programas científicos, aplicaciones gráficas, análisis numérico, etc.
LENGUAJES DE PROGRAMACIÓN
C++: Este lenguaje es una extensión del C, es decir, incluye algunas mejoras y características que el C clásico no posee. Se emplea en el desarrollo de aplicaciones complejas y a gran escala, tanto en el ámbito académico como en el industrial.
JAVA: Los inicios se remontan a los años 70 pero fue a mediados de los años 90 que Sun Microsystems le dio el aspecto que tiene hoy. Desde un comienzo Java fue diseñado como un Lenguaje Orientado a Objetos. Se puede ejecutar en entornos heterogéneos, en diferentes tipos de computadoras, con cualquier tipo de sistema operativo o puede interactuar con otras aplicaciones independientes. La interactividad, la integración de sonidos e imágenes en una página Web son características de este lenguaje.
TAMBIÉN UTILIZAREMOS DIFERENTES TIPOS DE
DATOS, VARIABLES, OPERADORES ARITMÉTICOS,
OPERADORES LÓGICOS, OPERADORES
RELACIONALES Y COMANDOS
TIPOS DE DATOS
TIPO DE DATO TAMAÑO RANGO
Integer (Entero) 2 bytes -32,768 a 32,767
Long Integer (Entero largo) 4 bytes -2,147,483.648 a 2,147,483.647
Float (Flotante-Decimales) 8 bytes -1,80e308 a 1,80e308
Char (cadena) 1 carácter/byte
2 billones de caracteres
Boolean (Boleano) 2 bytes True o False
Date 8 bytes 1 de enero de 100 a 31 de diciembre, 9999
VARIABLES
Son las literales que se ocupan durante la
ejecución del programa y pueden tener
diferentes valores.
Es una ubicación de almacenamiento temporal de
información a la que se le asigna un nombre nemotécnico y que
guarda un tipo de dato específico. Como su nombre lo indica, toman
diferentes valores durante la ejecución del programa.
OPERADORES
Operador: Es un símbolo aritmético, lógico,
aritmético/lógico o relacional que identifica el tipo de
operación a realizar.
Un operador por sí solo es inservible pero en
combinación con variables, constantes o números
genera un resultado; a esta combinación se le denomina
instrucción o fórmula.
OPERADORES ARITMÉTICOS
Operador Operación matemática
+ Suma
- Resta
* Multiplicación
/ División
\ División entera
Mod Residuo de la división (Módulo)
^ Potenciación
& Concatenación
OPERADORES LÓGICOS
Operador Descripción
And Conjunción (y)
Or Disyunción (o)
Not Negación (No)
OPERADORES RELACIONALES
Operador Descripción
= Igualdad
<> Diferencia
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
ACTIVIDAD
Realizar un Organizador Gráfico del tema expuesto en su cuaderno.
Realizar el Organizador Gráfico a computadora en el programa que más guste y anéxelo al Portafolio de Evidencias.
DIAGRAMA IPO
¿QUÉ ES UN DIAGRAMA
IPO?
DEFINICIÓN
• IPO debe su nombre a las siglas en inglés, INPUT-PROCESS-OUTPUT; en castellano ENTRADA-PROCESO-SALIDA. Es, por mucho, la más simple y práctica forma para planear la programación desarrollada, ya que el término de complejidad no significa necesariamente superioridad. La manera en que funciona es realmente clara, todo lo que hay que hacer es comenzar con un plan básico. Todos los programas tienen algún grado de entrada, algún grado de procesamiento de entrada y algún tipo de salida, que puede ser una pantalla, una impresora, otro programa, etc.
entrada proceso salida
EN
TR
AD
A
Incluye 3 tipos:1. Leer datos desde un archivo de configuración.
2. Pedirle al usuario el ingreso de algún dato.
3. Leer datos que ingresan desde un escáner, una cámara o cualquier otro dispositivo de entrada conectado al sistema.
PR
OC
ES
O
Involucra todo aquello que se hace para manipular o alterar los datos de entrada recibidos (por ejemplo, ordenarlos, operarlos matemáticamente, etc.). Esto es, por lo general, la mayor parte del programa.
SA
LID
A Es la parte inversa de la entrada. Podemos grabar la configuración actual, mostrar al usuario algún mensaje, imprimir algo, enviar los datos al disco o a la entrada de otro programa.
ACTIVIDAD
Realizar un Organizador Gráfico en su cuaderno del tema tratado anteriormente.
Realizar el Organizador Gráfico en la computadora en el programa que más guste y anéxelo a su Portafolio de Evidencias.
Resuelva los ejercicios en su cuaderno y posteriormente páselos a computadora para anexarlos en su portafolio de evidencias.
ALGORITMOS
AHORA VEREMOS LO QUE SON LOS ALGORITMOS, SU HISTORIA, SUS
CARACTERÍSTICAS, CLASIFICACIÓN Y
EXPRESIÓN
ANTECEDENTES
La palabra Algoritmo se deriva del nombre latinizado del gran matemático árabe Mohamed Ibn Al Kow Rizmi (780-850), el cual escribió entre los años 800 y 825 su obra Quitad Al Mugabala, un tratado sobre manipulación de números y ecuaciones donde se recogía el sistema de numeración hindú y el concepto del cero. También alcanzó gran reputación por el enunciado de las reglas para sumar, restar, multiplicar y dividir números decimales.
Junto con Euclídes el gran matemático griego (siglo IV a. C.) que inventó un método para encontrar el máximo común divisor de los números, se les considera los padres de la algoritmia (ciencia que trata de los algoritmos). Fue Fibonacci quien tradujo la obra al latín e inició con la palabra: Algoritmi Dicit.
DEFINICIÓNEs una serie de
operaciones detalladas y no
ambiguas, a ejecutar paso a paso, y que
conducen a la resolución de un
problema.
Es un conjunto de reglas para resolver una cierta clase de
problema o una forma de describir la
solución de un problema.
Conjunto de pasos que nos permite
obtener la solución a un problema.
EXPRESIÓN
GRÁFICACon símbolos,
utilizando diagramas de
flujo.
NO GRÁFICA
Describiendo las operaciones que llevará a cabo, utilizando un
pseudocódigo.
CLASIFICACIÓN
DETERMINISTAS
En cada paso del algoritmo se
determina, de forma única, el siguiente
paso.
NO DETERMINISTAS
Debe decidir en cada paso de la ejecución entre varias
alternativas y agotarlas, todas antes de encontrar la
solución.
CARACTERÍSTICAS
FINITOEl algoritmo debe
acabar tras un número finito de
pasos.
DEFINIDO
El algoritmo debe definirse de forma precisa para cada
paso, es decir, hay que vitar toda ambigüedad al definir cada paso, de modo que si se sigue dos veces, se debe obtener el mismo
resultado cada vez.
PRECISO
Todas las operaciones que el algoritmo
realizará deben ser lo suficientemente
básicas, de modo que puedan, en un
principio, ser llevadas a cabo en forma exacta, y en un tiempo finito,
por una persona usando papel y lápiz.
ACTIVIDAD
Investigar las biografías de Euclídes y Fibonacci en su cuaderno.
Realizar un Organizador Gráfico en su cuaderno del tema tratado.
Realizar el mismo Organizador Gráfico en la computadora con el programa que más guste y anéxelo al Portafolio de Evidencias.
Resuelva los ejercicios en su cuaderno y posteriormente páselos a computadora para anexarlos en su portafolio de evidencias.
ACTIVIDAD
Realizar una pequeña investigación del tema Metodologías para la construcción de programas en su cuaderno.
Realizar un Organizador Gráfico en la computadora de la información investigada y anexarlo al Portafolio de Evidencias.
PROGRAMACIÓN LINEAL
COMENCEMOS CON LA
PROGRAMACIÓN Y LA PRIMERA QUE ESTUDIAREMOS
SERÁ LA PROGRAMACIÓN
LINEAL
PROGRAMACIÓN LINEAL
DEFINICIÓN•Técnica matemática y de
investigación de operaciones que se utiliza en la planificación administrativa y económica para maximizar las funciones lineales de un gran número de variables sujetas a determinadas restricciones.
CARACTERÍSTICAS
CORRECTO/FIEL Producir resultados requeridos.
LEGIBLE
Debe ser entendido por cualquier
programador, que permita fáciles modificaciones.
MODIFICABLE
El diseño nunca es definitivo y por ello su
estructura debe permitir
modificaciones.
DEPURABLEDebe ser fácil la
localización y corrección de errores.
EN LA PROGRAMACIÓN
LINEAL SE UTILIZAN LOS
LLAMADOS DIAGRAMAS DE FLUJO… MMM… PERO… ¿CÓMO
LOS DEFINIMOS Y CUÁL ES LA
SIMBOLOGÍA QUE SE UTILIZA?
DIAGRAMA DE FLUJO
DEFINICIÓN• Es una de las técnicas de
representación de algoritmos más antigua y, a la vez, más utilizada, aunque su empleo ha disminuido considerablemente, sobre todo desde la aparición de lenguajes de programación estructurados. Utiliza los símbolos (cajas) estándar que tienen los pasos escritos en cajas unidas por flechas, denominadas líneas de flujo, que indican la secuencia en que se debe ejecutar.
SIMBOLOGÍA
Desde que surgieron los diagramas de flujo se inventaron diversas simbologías. Gane y Sarsons (1983) sintetizan una metodología para el estudio se los sistemas, utilizando cuatro símbolos básicos:
ENTE EXTERNO
PROCESO
ARCHIVO
FLUJO DE INFORMACIÓN
SIMBOLOGÍA
Actualmente, la simbología se ha ido estandarizando y dentro de los símbolos más comunes podemos mencionar los siguientes:
Proceso Terminal
Decisión
Conector
Proceso predeterminado
Proceso manual
Entrada / Salida
Flujo de información Pantalla
Impresora
Anotación
RECOMENDACIONES PARA EL DISEÑO DE DIAGRAMAS DE FLUJO
1. Se debe usar solamente líneas de flujo horizontales o verticales.
2. Se debe evitar el cruce de líneas utilizando conectores.
3. Se debe usar conectores sólo cuando sea necesario.4. No deben quedar líneas de flujo sin conectar.5. Se debe trazar los símbolos de manera que se
puedan leer de arriba hacia abajo y de izquierda a derecha.
6. Todo texto incluido dentro de un símbolo, deberá ser escrito de manera clara y concisa.
ACTIVIDAD
Realizar un Organizador Gráfico del tema tratado en su cuaderno.
Realizar el mismo Organizador Gráfico a computadora en el programa que gusten y anéxelo a su Portafolio de evidencias.
Resuelva los ejercicios en su cuaderno y posteriormente páselos a computadora para anexarlos en su portafolio de evidencias.
PROGRAMACIÓN ESTRUCTURADA
POR ÚLTIMO VEREMOS LA PROGRAMACIÓN
ESTRUCTURADA
DEFINICIÓN
Técnica de construcción top-down (Arriba-Abajo) de programas que utilizan al máximo los recursos del
lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas
que coordinan adecuadamente el desarrollo de las diferentes
frases de la programación.
Edgar W. Dijkstra es considerado el padre de la
Programación Estructurada.
TÉCNICA DESCENDENTE (top-down)
DEFINICIÓN
Consiste en establecer una serie de niveles de menor a
mayor complejidad que den solución al problema.
MÓDULO
DEFINICIÓN
Constituido por una o varias instrucciones físicamente contiguas y lógicamente encadenadas, las cuales se pueden
referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos del programa. Puede ser: Un programa, una función o una subrutina (procedimiento).
CARACTERÍSTICAS
Máxima cohesión.Mínimo acoplamiento.
Descripción: Funciones y objetivos.Rendimiento: Realizar el proceso aprovechando al máximo todos los recursos con los que se dispone.
Diseño: Comprueba la estructura del módulo, de los datos y la comunicación.
TIPOS
Módulos tipo raíz, director o principal.Módulos tipo subraíz.Módulos de entrad (captura de datos).Módulos de variación de entradas.Módulos de proceso.Módulos de creación y formatos de salida.
DIAGRAMA DE ÁRBOL
DIAGRAMA DE ÁRBOL
DEFINICIÓN
Figura para definir el espacio muestral
de experimentos aleatorios de pasos
múltiples.
ACTIVIDAD
Resuelva los ejercicios en su cuaderno y posteriormente páselos a computadora para anexarlos en su portafolio de evidencias.
ESTRUCTURAS DE CONTROL
POR ÚLTIMO VEREMOS LAS ESTRUCTURAS DE CONTROL QUE FORMAN PARTE DE TODO TIPO DE
PROGRAMACIÓN
TEOREMA DE LA ESTRUCTURA
Bohm y Jacopini demostraron que cualquier problema con un solo punto de entrada y un punto de salida puede resolverse con tres únicos tipos de estructuras de control.
ESTRUCTURAS BÁSICAS DE CONTROL
ESTRUCTURA SECUENCIAL:
Ejecuta las acciones
sucesivamente unas a continuación
de otras sin posibilidad de
omitir ninguna.
ESTRUCTURA ALTERNATIVA(Condicional): Únicamente se
realiza una alternativa
dependiendo del valor de una determinada condición o predicado.
ESTRUCTURAS REPETITIVAS: Son aquellas en las que
las acciones se ejecutan un número
determinado de veces y dependen
de un valor predefinido o el cumplimiento de una determinada
condición.
ESTRUCTURA SECUENCIAL
INICIO
ENTRADA DE DATOS
PROCESO
IMPRIMIR
FIN
ESTRUCTURA ALTERNATIVA
ALTERNATIVA SIMPLE
La existencia o cumplimiento de la condición implica la
ruptura de la secuencia y la ejecución de una determinada acción.
ALTERNATIVA DOBLE
Permite la elección entre dos acciones o
tratamientos en función de que se cumpla o no determinada condición.
ALTERNATIVA MÚLTIPLE
Se adoptan cuando la condición puede tomar n valores enteros: 1, 2,
3, … n.
ESTRUCTURA ALTERNATIVA SIMPLE
INICIO
ENTRADA DE DATOS
CONDICIÓN
PROCESO
IMPRIMIR
FIN
SI
NO
ESTRUCTURA ALTERNATIVA DOBLE
INICIO
ENTRADA DE DATOS
CONDICIÓN
PROCESO
IMPRIMIR
FIN
SI NO
PROCESO
IMPRIMIR
ESTRUCTURA ALTERNATIVA MÚLTIPLE
INICIO
ENTRADA DE DATOS
CONDICIÓN
PROCESO
IMPRIMIR
SI NO
CONDICIÓN
PROCESO
IMPRIMIR
SI NO
CONDICIÓN
PROCESO
IMPRIMIR
SI NO
IMPRIMIR
FIN
ESTRUCTURAS REPETITIVAS
HACER MIENTRAS DO_WHILE
Determina la repetición de un grupo de
instrucciones mientras la condición se cumpla
inicialmente.
REPETIR HASTA
DO_UNTIL
Estructura en la que el número de iteraciones o repeticiones del grupo de instrucciones se ejecuta
hasta que la condición deje de cumplirse. Esta condición
se cumple al final.
DESDE_HASTAFOR_TO
Es aquella que se repite un
número fijo de veces.
ESTRUCTURA WHILE_DO
INICIO
ENTRADA DE DATOS
CONDICIÓN
PROCESO
IMPRIMIR
SI
FIN
NO
ESTRUCTURA DO_UNTIL
INICIO
ENTRADA DE DATOS
PROCESO
CONDICIÓN
IMPRIMIR
FIN
SI
NO
DEFINICIÓN DE PSEUDOCÓDIGO
Pseudo o Seudo significa falso, imitación y código se refiere a las instrucciones escritas en un lenguaje de programación; pseudocódigo no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras.
ACTIVIDAD
Resuelva los ejercicios en su cuaderno y posteriormente páselos a la computadora y anéxelos a su portafolio de evidencias.
ACTIVIDAD
Investigue el tema Programación Orientada a Objetos (POO), realizando un Organizador Gráfico en la computadora y anéxelo a su Portafolio de Evidencias.
Temas a investigar:◦ Fundamentos.◦ Objetos y clases.◦ Métodos.◦ Propiedades:
Herencia Paso de mensajes Encapsulamiento Polimorfismo