Lógica computacional

Anuncio
LOGICA COMPUTACIONAL
Mapa inicial: una estructura lógica de relación con 1 o más elementos por medio de ideas,
definición y conceptos
Reglas de elaboración de un mapa mental
 Contar con elemento central
 Llegar desde cualquier rama del mapa al elemento
 Ideas relacionadas con el elemento central
Algoritmo: Serie de pasos para llegar a un problema
Este surge en el año de 1626 de un árabe llamado Knowoski (que quiere decir algoritmo),
aplicando a las estructuras matemáticas a través de signo Numero Romano I. V, X, L, M, C.
Realizando estadísticas para aplicar una serie de pasos para la solución de un problema
Método: Forma o técnica ordenada para cualquier tipo de cosa (algoritmo) previo a la
programación
SOLUCIÓN DEL PROBLEMA
1. Análisis del problema
 Descomposición de los elementos que forman un todo
2. Diseño del algoritmo
 Pasos a seguir a un pseudocódigo
3. Implementación de la solución
 Estructura
PASOS PARA LA SOLUCION DE UN PROBLEMA
1) Análisis del problema ¿Qué quiero obtener? (Producto) salida
A partir de que lo voy a obtener “entradas”
Como lo voy a obtener “proceso” (datos)
UAL – Unidad Aritmética Lógica
UC – Unidad de Control
UES – Unidad de Entrada y Salida
E/
S/
PROCESO
UES
UAL
UC
2) Diseño del algoritmo
Pasos a seguir “Divide y vencerás”
Módulos
y
submodulos
Elemento de mayor peso
dentro de la estructura
del algoritmo
Parte del modulo
con la característica
de que no destruye
el objetivo original del algoritmo
3) Implementación del algoritmo
Ponerlo a funcionar la solución del problema dado
1. Codificación y transcribir el algoritmo a un lenguaje de programación
Entendible para la computadora
Clasificación de Leguajes de Programación
Nivel Bajo
40’s
Maquina o ensamblador
0/1 Mnemónicos
abreviación de palabra
completa
MS-DOS
Nivel Medio
60’s
COBOL- matemáticos
FORTRAN – admón.
PASCAL – cálculos
recursivo repetitivo
Nivel Alto
80’s
VISUAL BASIC
HTML
JAVA
C++
Ambiente gráfico
amigable al usuario
Encaminados al proceso
de la maquina rendimiento
de equipo
Nivel de proceso tiempo
2. Compilación
Revisión de la sintaxis y la estructura de la codificación realizada de acuerdo al lenguaje
de programación usada, comillas, llaves, corchetes y comas etc.
3. Errores y depuración
Errores de compilación Sintaxis de estructuras – puntuación
Declaración de variables – asignación de variables a valores
Errores de ejecución – divisiones entre 0
Errores de lógica – errores de diseño del algoritmo que dan una salida errónea cuando
acomodamos mal un código.
4. Ejecutar
Correr el programa implementación procesar el algoritmo codificado, verificando sin
errores
***TIPO DE DATOS
La clasificación de datos en función de su naturaleza
Numéricos: Enteros
10, 20, 100
Carácter:
Flotantes
2.3, 53.8
Texto
A, B, C...
Lógico: 0, 1 AND, OR, NOT
Comparadores
Exponenciales
10E+8, 23, 200E-20
String
Cadena “HOLA”
Alfanuméricos
correo electrónico
Caracteres 4 #
Identificador: el nombre asociado a una dirección de memoria que alude a un objeto de la
estructura de un programa.
Constante Que tiene un valor fijo asignado durante todo el proceso del programa EJEMPLO
una regla, IVA.
Variable Valor que se da durante el proceso del programa y que cambia durante el mismo
EJEMPLO el descuento flotante, el sueldo de un empleado
TIPO DE ASIGNACION: El dar valores a las variables y constantes definidas en el programa
Constante
Variable
IVA
SUELDO
Valor
0.15
2000
Expresión Conjunto de datos vendidos por operadores aritméticos y/o lógicos
Aritméticos: +, -, /, *, exp.
Lógicos: AND, OR, NOT.
TIPOS DE ALAMACENAMIENTO:
Asignación de variables Escritura s/ (variables o constantes “texto”)
Constantes: Escritura E/
Lectura: Leer E/ Lectura (variables o constantes)
EJEMPLO DE: Algoritmo “HOLA MUNDO”
Escribir (“hola_mundo”)
FIN
ALGORITMOS DE INTERACCION: Solicitar datos de entrada para realizar un proceso.
Ej.:
Dame (variable, constante, “cadena de texto”)

Algoritmo de suma de dos variables: definir variables
Variables: valor1, valor2, total.
Solicitar valor DAME (valor1, “el primer numero a sumar”)
DAME (valor2, “el segundo numero a sumar”)
TOTAL
valor1 + valor2
ESCRIBIR (mi total con “resultado de la suma”)
FIN
Prueba de escritorio sobre el algoritmo: comprobación de que se realizo bien el algoritmo
valor1 (numérico), valor2 (numérico), total (numérico)
valor1 = 10
valor2 = 20
total = 10 + 20
resultado de la suma 30

Algoritmo de calculo de la hipotenusa de un triangulo rectángulo
Variable: lado_a (numérico), lado_b (numérico), lado_c (numérico)
Dame (lado_a “el valor del lado a del triangulo”)
Dame (lado_b “el valor del lado b del triangulo”)
Lado_c
(lado_a**2 + lado_b**2)
Escribir (lado_c, “la hipotenusa del triangulo del trabajo es”)
FIN
Prueba de escritorio
Lado a
7
Lado b
10
Hipotenusa
7** + 10**
Hipotenusa
49 + 100
Lado_c
149
La hipotenusa del triangulo es: 149

Algoritmo del calculo de pago de artículos escolares contemplando
descuento del 10% fijo en reglas y el pago de IVA (al menos 2 artículos)
Variables: regla (txt), goma (txt), sacapuntas (txt), total, subtotal, subtotal_regla
Constantes: precio_regla (float), precio_pluma (float), precio_goma (float),
precio_regla (float)
Dame (regla”10%_de_descento”)
Dame (regla “el primer numero a sumar”)
Dame (goma “el segundo numero a sumar”)
Dame (pluma “el tercer numero a sumar”)
Subtotal_regla
(regla * precio_regla)-((regla * precio_regla)*.10)
Subtotal
subtotal_regla + goma * precio_goma + pluma * precio_pluma)
Total
subtotal + (subtotal*.15)
Escribir (“total:” total”)
FIN
EXPRESIONES LOGICAS
Conjunto de datos unido por operadores lógicos:
Menor que >, mayor que <, menor igual <=, mayor igual =>, diferente <>
Orden de prioridad de operadores lógicos/aritméticos
1.
2.
3.
4.
()
*, /, **
+, Operadores Lógicos
Ej.:
A=1
B=2
C=3
Suma = 6
IF SUMA <= (( a2 + b2 * c ) – ( (b **2 * c ) / 2 ) )
(1 + 4 * 3) – (4 * 3) / 2
1 + 12
- 12 / 2
13
6
7
6<=7
DIAGRAMA DE FLUJO
Representación gráfica de un algoritmo con la solución de un problema dado.
PSEUDOCODIGO: Solución Inicial a un problema usando algoritmos con las ordenes, pasos a
seguir por la computadora, en un lenguaje a nivel usuario; y posteriormente certificado de
codificado de un lenguaje de programación.
SIMBOLOGIA
1. Inicio o fin
2. Impresión
3. Decisión
4. Conector
5. Proceso
6. Flujo
7. Conector Interno
8. Entrada de datos
9. Salida de datos a pantalla
Ej.:
INICIO
Variables: Regla,
goma, sacapuntas,
total
Constantes:
precio_regla,
precio_pluma,
precio_goma, IVA,
descuento
Precio_regla
Precio_pluma
Precio_goma
Descuento
1
10
4
5
10
1
Regla, Goma,
Pluma
Subtotal (regla *
precio_regla)-((regla *
precio_regla) * .10)
Total : total
Total : total
FIN
VENTAJAS
Nos permite con facilidad seguir el flujo de información
La comunicación con el usuario se favorece
El análisis de mi problema se vuelve sencillo
DESVENTAJAS
El uso encadenado de decisiones que hace compleja la interpretación
PSEUDOCODIGO: Sueldo de un empleado días trabajados * salario diario
40 días bono de 1000
INICIO
Variables:
dias_trabajados,
salario_diario, sueldo
Constantes: Bono
1
1
días trabajados
salario diario
Sueldo =
(días_trabajados *
salario_diario)
Días
trabajados
>40
Sueldo = sueldo + bono
Sueldo: sueldo
FIN
PSEUDOCODIGO
DIAGRAMAS DE NAISSEN SCHEIDERMAN
Herramientas de representación gráfica de programación estructurada que contienen la
representación gráfica de los diagramas de flujo y la lingüística del pseudocódigo.
Se representan por cajas
ACCION 1
ACCION 2
ACCION 3
…………
ACCION N
donde internamente se manejan diferentes estructuras.
Estructura Secuencial: Acciones secuénciales sin
ningún tipo de decisión o salto.
Ej.:
Variable: Nombre (txt), promedio (float),
matemáticas (float), español (float), ed.física (float),
historia (float), geografía (float), civismo (float),
artística (float), total (float)
Constante: Total_materias (num.)
Solicitar variables: español, ed.fisica, historia,
geografía, civismo, artística, nombre
Total_materias
Total
7
español + ed.fisica + historia + geografía +
civismo + artística + matemáticas
Promedio
total / total_materias
Imprimir: alumno, promedio
SI
CONDICION
Estructura selectiva simple:
IF (si) --- THEN (entonces)
ACCION
Problema: Debo Facturar productos comestyibles aplicando IVA y un descuento del 8%, siempre
que el total sea mayor a $ 1,000
Variables: producto1 (float), producto2 (float), producto3 (float), total (float), subtotal (float)
Constantes: IVA (float), descuento (float)
Dame (producto1, “dame el primer precio a sumar”)
Dame (producto2, “dame el segundo precio a sumar”)
Dame (producto3, “dame el tercer precio a sumar”)
Subtotal
producto1 * precio_producto1 + producto2 * precio_producto2 + producto3 *
precio_producto3
Dame (total,”precio total de los articulos”)
Total si_<1000_total
Dame (descuento,”descuento de .08%”)
Total total-(total-.08%)
Subtotal
subtotal+ (subtotal * .15)
Escribir (total:”total”)
DIAGRAMA DE NAISSEN – SCHEIDERMAN CON ESTRUCTURA
COMPUESTA
IF
TH E N
CONDICION
SI
NO
ACCION “A”
ACCION “B”
ELSE
END I F
IF condición
THEN
Acción “A”
ELSE
Acción “B”
END IF
DIAGRAMA DE FLUJO
IF TOTAL > 1000
THEN
TOTAL = TOTAL – (TOTAL* .08)
ELSE
TOTAL = TOTAL – (TOTAL * .06)
END IF
Total
> 1000
Total
PSEUDOCODIGO
1. Constantes
2. Variables
3. Solicitud de valores
4. Cálculos
5. Si total > 1000
entonces: total con descuento 8%
en caso contrario total con descuento del 6%
6. Calculo total global con IVA
NAISSEN SCHEIDERMAN
TOTAL > 1000
SI
NO
Total
total +total
total +
(total * .08)
(total * .06)
total-(total * .06)
Total
total-(total * .0
Descargar