Está en la página 1de 38

Para un problema, una

solución lógica.
Pensamiento Computacional

Unidad 2
Lógica Computacional

Tema 1
Resolución de problemas basados en computadoras
Objetivo
Adquirir habilidades técnicas y competencias computacionales
necesarias para abordar desafíos y problemas utilizando la tecnología

Introducción
 La resolución de un problema mediante un ordenador consiste en el proceso que, a
partir de la descripción de un problema expresado habitualmente en lenguaje natural y
en términos propios del dominio del problema, permite desarrollar un programa que
resuelva dicho problema.
 Se denomina instrucción al conjunto de datos insertados en una secuencia
estructurada o específica que el procesador interpreta y ejecuta.
Subtemas

» Subtemas:
1. Instrucciones, operadores lógicos y relacionales; y, tipos
de datos.
2. Constantes y variables, expresiones.
3. Análisis de requerimientos, estructura de un pseudocódigo,
abstracción.
Resolución de problemas basados en computadoras
Algoritmo

El algoritmo es una serie


ordenada de procesos o
pasos que deben llevarse a
cabo para dar solución a
un problema específico.
Características
• Preciso
• Definido
• Finito
• Legible
Resolución de problemas basados en computadoras
Características de un algoritmo
El orden de ejecución de sus pasos o instrucciones debe ser
PRECISO Y riguroso, algunos tendrán que ser ejecutados antes de otros,
de manera lógica, por ejemplo, no se podrá imprimir un archivo,
ORDENADO si previamente no se ha encendido la impresora y no se podrá
encender la impresora si previamente no se tiene una.

DEFINIDO Si el algoritmo se ejecuta en repetidas ocasiones, usando los


CARACTERÍSTICAS mismos datos, debe producir siempre el mismo resultado.

Todo algoritmo posee un inicio, de igual forma debe tener un


FINITO final; la ejecución de sus instrucciones debe terminar una vez
procese los datos y entregue resultados.

Tiene que haber claridad en el texto que describe el al


LEGIBLE algoritmo, de tal manera que sea posible leerlo y entenderlo con
facilidad.
Resolución de problemas basados en computadoras
Pasos para la construcción de un Algoritmo

Las fases para construir un


programa, y resolver un
problema son las siguientes:

1. Definición del problema.


2. Análisis del problema.
3. Diseño de la solución.
4. Implementación de la
solución.
5. Prueba y Depuración.
Resolución de problemas basados en computadoras

1. Definición del problema


En esta etapa, identificamos y comprendemos claramente el problema que
queremos resolver. Es importante delimitar el problema y establecer los
objetivos y requisitos que se deben cumplir.

2. Análisis del problema

Analizamos en profundidad el problema para comprender su estructura y


características. Exploramos posibles enfoques y estrategias para abordarlo
y consideramos las limitaciones y restricciones involucradas.
Resolución de problemas basados en computadoras

3. Diseño de la solución

Diseñamos una solución eficiente y efectiva para el problema


identificado. Utilizamos herramientas y técnicas de la lógica
computacional para desarrollar un plan lógico y detallado.

4. Implementación de la solución

Traducimos el diseño de la solución en código de programación.


Utilizamos un lenguaje de programación adecuado y aplicamos buenas
prácticas de programación para implementar la solución de manera
precisa.
Resolución de problemas basados en computadoras

5. Prueba y depuración

En esta etapa, evaluamos la solución implementada para verificar su


funcionamiento correcto. Realizamos pruebas exhaustivas, identificamos
errores o fallos y los corregimos mediante técnicas de depuración.
Subtema 1: Instrucciones.

Al iniciar el proceso de
diseño del algoritmo
debemos definir
instrucciones para
resolverlo, estas
instrucciones se deben
escribir y posteriormente
almacenar en memoria en
el mismo orden en que han
de ejecutarse.
Subtema 1: Instrucciones.
Las instrucciones básicas que se pueden implementar de manera general en un algoritmo
y que son soportadas en todos los lenguajes de programación las mencionamos a
continuación:
Subtema 1: Operadores lógicos y relacionales.
Operadores

Para evaluar expresiones contamos con una amplio conjunto de operadores

Operadores

Aritméticos Relacionales Lógicos


Subtema 1: Operadores lógicos y relacionales.
Operadores Aritméticos

DIV

MOD
Subtema 1: Operadores lógicos y relacionales.

Operadores Relacionales
Subtema 1: Operadores lógicos y relacionales.
Operadores Lógicos
Operadores Lógicos
Subtema 1: Operadores lógicos y relacionales.
Precedencia de Operadores
Subtema 1: Tipos de datos.

Siendo el dato la unidad


mínima de información , los
tipos de datos se refieren al
valor que se puede
almacenar en una variable o
constante en un programa.
Algunos de los tipos de
datos más comunes son:
Subtema 1: Tipos de datos.
Rango es negativos y
 Números enteros (sin coma) positivos

758 -48 8/2 = 4 -48 -2 = -50


Rango es negativos y
positivos, números
 Números reales o de puntos flotantes (con con parte decimal
coma)

7,5 -4,8 8/3 = -4,8 -2,0 = -6,8


8 2,66
Subtema 1: Tipos de datos.
Cualquier Símbolo o
 Carácter letra

# b Z Hola mundo Cadena de caracteres

 Lógico (Booleano) Puede tener 2


valores: Falso o
Verdadero
Verdader Falso
o
true false
V F
Subtema 2: Variables.

Una Variable es un nombre


simbólico que identifica una
dirección de memoria, su
valor puede cambiar durante
la ejecución de un programa.
Una Variable debe ser :
• Declarada
• Inicializada
• Utilizada
Subtema 2: Constantes

• Una Constante es el un elemento de almacenamiento de datos o direcciones


de memoria , que no varían durante la ejecución de un programa.

• En la declaración de una variable o constante se debe indicar el tipo de dato al


que pertenece.
Ejemplo de aplicación de una variable y una constante:
Área de un círculo

Fórmula Área = π * radio^2

• La variable "radio" se utiliza para almacenar el valor


del radio del círculo, que es ingresado por el usuario.
• La constante "pi" se utiliza para almacenar el valor
de pi, que se mantiene constante durante toda la
ejecución del programa.
• La variable "area" se utiliza para almacenar el
resultado del cálculo del área del círculo.
Subtema 2: Expresiones.

• Las expresiones son combinaciones de constantes, variables y operadores de


diferentes tipos que nos permiten manipular datos para obtener información nueva.
• Los lenguajes de programación usan los mismos conceptos de las operaciones
matemáticas tradicionales, tales como el agrupamiento y la precedencia de
operadores.
• Están compuestas de un operando y dos operadores y tienen un valor.
• El valor de la expresión se obtiene al tomar los valores de los operandos y aplicarles
el operador.
• Los operandos pueden ser constantes, variables u otras expresiones y se clasifican en
aritméticos, relacionales, lógicos y de conversión de tipos dependiendo del tipo de
los operandos que manipulan y del tipo del valor que regresan.
Subtema 2: Expresiones.

Ejemplos:
Subtema 2: Expresiones.

25 + 8 * 4 < 35/7 + 1 ^ (56/7) - 4 AND 20 – 8 >15


25 + 8 * 4 < 35/7 + 1 ^ (8) - 4 AND 20 – 8 >15
25 + 8 * 4 < 35/7 + 1 - 4 AND 20 – 8 >15
25 + 32 < 5 + 1 - 4 AND 20 – 8 >15

57 < 2 AND 12 >15


Falso ^ Falso
Falso
Subtema 3: Análisis de requerimientos

El análisis de requerimientos es
un estudio profundo de una necesidad
tecnológica que tiene una empresa,
organización o negocio. En este proceso,
se realiza un análisis exhaustivo del
sistema que se va a desarrollar. Se
definen y aplican técnicas que permitan
analizar los requisitos necesarios para su
buen desarrollo.
Subtema 3:Estructura de un pseudocódigo.

El pseudocódigo es un
lenguaje intermedio entre el
lenguaje natural y cualquier
lenguaje de programación
específico, como son: C,
FORTRAN, Pascal, etc. No
existe una notación formal o
estándar de pseudocódigo,
sino que, cada programador
puede utilizar una notación
propia.
Subtema 3:Estructura de un pseudocódigo.

• El pseudocódigo es una forma de expresar los distintos pasos que


va a realizar un programa, de la forma más parecida a un lenguaje
de programación. Su principal función es la de representar por
pasos la solución a un problema o algoritmo, de la forma más
detallada posible, utilizando un lenguaje cercano al de
programación.
• El pseudocódigo no puede ejecutarse en un ordenador ya que
entonces dejaría de ser pseudocódigo, como su propio nombre
indica, se trata de un código falso (pseudo = falso), es un código
escrito para que lo entienda el ser humano y no la máquina.
Subtema 3:Estructura de un pseudocódigo.

• Ocupa menos espacio en una hoja de papel


• La ventaja del pseudocódigo es que en su uso, en la planificación de un
programa, el programador se puede concentrar en la lógica y en las
estructuras de control y no preocuparse de las reglas de un lenguaje
específico
• Permite representar en forma fácil operaciones repetitivas complejas
• Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de
programación.
• Si se siguen las reglas se puede observar claramente los niveles que tiene
cada operación.
• Nota: Es importante en los pseudocódigos el uso de la indentación o sangría
Subtema 3:Estructura de un pseudocódigo.

• Ejemplo de palabras claves utilizadas de modo general en un lenguaje de


programación
Subtema 3:Estructura de un pseudocódigo.

• La estructura de un pseudocódigo comienza con la palabra start y finaliza con la


palabra end, en inglés (en español, inicio, fin). Entre estas palabras, sólo se
escribe una instrucción o acción por línea.

INICIO
• VARIABLES
• INSTRUCCIONES U OPERACIONES
• RESULTADOS
FIN
Subtema 3:Estructura de un pseudocódigo.
Un ejemplo aclaratorio en el uso del pseudocódigo podría ser un sencillo algoritmo del
arranque de un carro
Inicio //arranque de un carro
1. poner palanca de cambio en neutro
2. introducir la llave de contacto
3. girar la llave de contacto
4. si el motor se enciende entonces
esperar unos instantes a que se caliente el motor, continuar con la sentencia (línea 5)
de lo contrario
revisar porqué no encendió, solucionado la falla mecánica regresar a la sentencia(línea 4)
5. fin del si
6. poner palanca de cambio en primera
7. pisar el acelerador lentamente
8. Continuar con el viaje
Fin
Subtema 3: Abstracción.

• La abstracción es una estrategia de resolución de problemas en la cual el


programador se concentra en resolver una parte del problema ignorando
completamente los detalles sobre cómo se resuelven el resto de las partes.
• En este proceso de abstracción se considera que el resto de las partes ya han sido
resueltas y por lo tanto pueden servir de apoyo para resolver la parte que recibe
la atención.
• Una vez hecha la descomposición en subproblemas, resulta natural resolver cada
uno de ellos en una función o un procedimiento.
• Como los subproblemas son más sencillos que el problema original, su
complejidad (dada por su tamaño y número de variables) será inferior a la
complejidad del mismo problema resuelto por medio de un solo procedimiento.
Subtema 3: Abstracción.

• La abstracción es la estrategia de programación más importante en


computación. Sin abstracción las personas serían incapaces de abordar los
problemas complejos.
• La pericia de un programador no está en ser veloz para escribir líneas de
programa, si no que en saber descubrir, en el proceso de diseño, cuáles son las
partes del problema, y luego resolver cada una de ellas abstrayéndose de las
otras.
• Un ejemplo de abstracción es el hecho de que uno pueda conducir un
automóvil sin ser un mecánico (lo cual probablemente no era cierto con los
primeros vehículos).
• Al conducir, uno se abstrae de cómo funciona la combustión en el motor. Sólo
se requiere saber cómo se maneja el volante y los pedales, y cuales son las
reglas del tránsito.
Subtema 3: Abstracción.

• DIFERENTES MODELOS DE ABSTRACCIÓN


DEL TÉRMINO CARRO
• Un carro es la combinación (o
composición) de diferentes partes, tales
como motor, carrocería, cuatro ruedas,
cinco puertas, etc.
• Un coche (carro) es un concepto común
para diferentes tipos de coches. Pueden
clasificarse por el nombre del fabricante
(Audi, BMW, SEAT, Toyota, Chrisler...)
• por su categoría (turismo, deportivo,
todoterreno...),
• por el carburante que utilizan (gasolina,
gasoil, gas, híbrido...).
Bibliografía
• JOYANES AGUILAR LUIS. (2003). FUNDAMENTOS DE PROGRAMACIÓN. MEXICO: MC GRAW HILL.
• Fundamentos de computación
• https://www.youtube.com/watch?v=C19lKwVZE60&list=PL46- B5QR6sHkc2PwGOVa_X3HRmCokEizb
• Definición y características de Algoritmo - Tipos , Operadores y Variables
• https://www.youtube.com/watch?v=Tu9OQSff-gw
• Instrucciones de Entrada/Salida Cálculo y Control –
• https://www.youtube.com/watch?v=Meciq2t8gTQ
• Tipos de Datos
• https://www.youtube.com/watch?v=rRZI3kzPDV0&list=PL46- B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index5
• Asignar nombres a Variables/constantes (IdenAficadores)
• https://www.youtube.com/watch?v=eoTravXOsTk
• Operadores Aritméticos
https://www.youtube.com/watch?v=6cprJILuARw
• Operadores Relacionales
https://www.youtube.com/watch?v=thoXz7vYE4k&list=PL46-B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index=14
• Operadores Lógicos
https://www.youtube.com/watch?v=G1WIQkm7FBQ&list=PL46-B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index=15
Mgtr. Maoly Cedillo Arce

También podría gustarte