Está en la página 1de 13

IESTP

ALTO HUALLAGA

MANUAL AUTOFORMATIVO
LOGICA DE PROGRAMACION

Autor:
Ing. Mucha Colca Edgar Dennis

edmucha@hotmail.com
APRENDIZAJE 1ACTIVIDAD DE

TEMAS
PÁG. 2
Resolución de problemas
FUNDAMENTOS DE
mediante el razonamiento lógico
ALGORITMOS
PÁG. 3
Diseño de algoritmos EL SUBTÍTULO VA AQUÍ

El estudio de la programación está conectado directamente al área de las ciencias


PÁG. 5 exactas; y las matemáticas, con sus reglas, estarán presente en diversos momentos. Por
Uso de operadores aritméticos y otro lado el inglés, hoy fundamental en cualquier profesión, también será importante, ya
operadores lógicos
que al programar encontrarás una mayor variedad de cursos y materiales en este idioma.
Y además, la mayoría de los lenguajes de programación utilizan el inglés como base.

RAZONAMIENTO
LÓGICO
(INFORMÁTICA)

Un razonamiento lógico, en definitiva, es un proceso mental que


implica la aplicación de la lógica. A partir de esta clase de
razonamiento, se puede partir de una o de varias premisas para
arribar a una conclusión que puede determinarse como verdadera,
falsa o posible.

¿Qué es exactamente la lógica de programación? Lógica es la técnica


utilizada para desarrollar instrucciones en una secuencia para lograr
determinado objetivo. Es la organización y planificación de
instrucciones en un algoritmo, con el objetivo de tornar visible la
implementación de un programa o software

ABSTRACCIÓN
(INFORMÁTICA)

La abstracción consiste en aislar un elemento de su contexto o del


resto de los elementos que lo acompañan. En programación, el
término se refiere al énfasis en el "¿qué hace?" más que en el
"¿cómo lo hace?" (característica de caja negra). El común
denominador en la evolución de los lenguajes de programación,
desde los clásicos o imperativos hasta los orientados a objetos, ha
sido el nivel de abstracción del que cada uno de ellos hace uso.

Los lenguajes de programación son las herramientas mediante las


cuales los diseñadores de lenguajes pueden implementar los
modelos abstractos. La abstracción ofrecida por los lenguajes de
programación se puede dividir en dos categorías: abstracción de
datos (pertenecientes a los datos) y abstracción de control
(perteneciente a las estructuras de control).

CARACTERÍSTICAS:

 Tiene que ser preciso.


 Tiene que estar bien definido.
 Tiene que ser finito.
 La programación es adaptar el algoritmo al ordenador.
 El algoritmo es independiente según donde lo implemente.

Definición: Un algoritmo se entiende como una sucesión finita de pasos que debe cumplir las siguientes especificaciones:

Cada paso del algoritmo debe estar bien definido: Esto significa que la definición de un paso debe ser suficientemente clara, para que una
persona pueda entenderla y realizarla. Si bien no se puede dar un criterio determinístico para decidir si un paso está bien definido,
debemos apelar al sentido común para decidir que un paso está especificado sin ambigüedades.

Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo escrito con un objetivo: conseguir un resultado. ¡No tiene
sentido crear un programa que espere ~ segundos (infinitos segundos) y luego escriba en pantalla “Hola Mundo!

DISEÑO DE ALGORITMOS
Una computadora no tiene capacidad para solucionar problemas más que cuando se le Proporcionan los pasos sucesivos a realizar, para
ello elaboramos un algoritmo.
Es un método para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que
debe realizar la computadora
¿QUÉ ES UN ALGORITMO?

Por algoritmo, se entiende a un conjunto finito de instrucciones que se deben seguir para resolver un problema. No obstante, desde el
punto de vista de la programación de ordenadores, la definición del algoritmo como la especificación de una serie de pasos, es
incompleta. Debe observarse que los ordenadores son equipos que tienen limitaciones físicas en cuanto a capacidad de almacenamiento
y procesamiento

TÉCNICAS DE DISEÑO DE ALGORITMOS

 Algoritmo divide y vencerás: El método está basado en la resolución recursiva de un problema dividiéndolo en dos o más
subproblemas de igual tipo o similar.
 Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una
solución. En la mayoría de los casos la solución no es óptima.
 Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma
simultánea en varios procesadores.
 Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios
 Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso
sucesor y otro antecesor.
 Algoritmos no determinísticos: El comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede
bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
 Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces
llamado experiencia) de los mismos.
 Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
 Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de
forma controlada encontrando las mejores soluciones.
 Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente,
almacenando las soluciones menos costosas.
EJEMPLO 1:
Algoritmo “Papa-frita”
Inicio:
 Tomar las papas
 Pelar las papas
 Cortar las papas en tiras
 Tomar el sartén y colocarla sobre la estufa
 Encender el fuego de la estufa
 Colocar el sartén con aceite para calentar
 Esperar hasta que el aceite esté caliente
 Colocar las papas para freir
 Aguardar 10 minutos hasta que las papas estén fritas
 Retirar las papas y servir
Fin

PSEUDOCÓDIGO
(INFORMÁTICA)
Una computadora no tiene capacidad para solucionar problemas más que cuando se le Proporcionan los pasos sucesivos a realizar, para
ello elaboramos un algoritmo.

Es un método para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que
debe realizar la computadora

DEFINICIÓN
El pseudocódigo (o falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una
explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es
programable sino facilita la programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más
parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo

El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes
de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until….etc

Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un
lenguaje de programación) relativamente fácil.

REGLAS DE CONSTRUCCIÓN
Las principales características de este lenguaje son: * Se puede ejecutar en un ordenador * Es una forma de representación sencilla de
utilizar y de manipular. * Facilita el paso del programa al lenguaje de programación. * Es independiente del lenguaje de programación
que se vaya a utilizar. * Es un método que facilita la programación y solución al algoritmo del programa. Todo documento en
pseudocódigo debe permitir la descripción de: * Instrucciones primitivas. * Instrucciones de proceso. * Instrucciones de control. *
Instrucciones compuestas. * Instrucciones de descripción. Estructura a seguir en su realización: * Cabecera. * Programa. * Modulo. *
Tipos de datos. * Constantes. * Variables. * Cuerpo. * Inicio. * Instrucciones. * Fin.
PROGRAMAR: LOS CONCEPTOS BÁSICOS
Lenguaje de programación: Sistema de símbolos y reglas que permite la construcción de programas con los que la computadora puede
operar, así como resolver problemas de manera eficaz.

Estos contienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, calculo, manipulación de textos,
lógica / comparación y almacenamiento / recuperación.

Los lenguajes de programación se clasifican en:

Lenguaje Máquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción
posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquinan se expresan en términos de
la unidad de memoria más pequeña el bit (dígito binario 0 ó 1).
Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como
mnemotécnicos para las operaciones y direcciones simbólicas.
Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las
instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que
facilita la escritura y comprensión del programa.

FASES PARA LA CREACIÓN DE UN PROGRAMA

1. Definición del Problema


Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo
que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
etapa.
2. Análisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cuál es la
información que se desea producir (salida)
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos
que nos ordenen y en que secuencia para producir los resultados esperados.
3. Diseño del Algoritmo
Las características de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
Debe ser finito en tamaño y tiempo de ejecución.
4. Codificación
La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en
una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le
conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
5. Prueba y Depuración
Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad
del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La prueba consiste en la captura de datos hasta que el programa no presente errores (los más comunes son los sintácticos y
lógicos).
6. Documentación y Mantenimiento

TIPOS DE OPERADORES
OPERADORES ARITMÉTICOS
Los operadores aritméticos nos permiten realizar operaciones aritméticas
Operador Nombre Ejemplo
+ Suma 1+1
- Resta 10-2
* Multiplicación 2*2
/ División 09/03
mod modulo 15 mod 2
div Parte entera 20 div 3
^ Potencia 3^2

OPERADORES LOGICOS

Operador Nombre Ejemplo


Y Conjunción (7>4) & (2=1) //falso
O Disyunción (1=1 | 2=1) //verdadero
NO Negación NO(2<5) //falso

OPERADORES COMPARACIÓN
Los operadores de comparación nos permiten evaluar las expresiones situadas a su derecha e izquierda, devolviendo un valor booleano
VERDADERO o FALSO.
Operador Nombre Ejemplo
= Igual A1=B1
> Mayor que A1>B1
< Menor que A1<B1
>= Mayor o igual que A1>=B1
<= Menor o igual que A1<=B1
<> No es igual a A1<>B1
TIPOS DE DATOS

Números enteros
El tipo int (del inglés integer, que significa «entero») permite representar números enteros.
Los valores que puede tomar un int son todos los números enteros: ... -3, -2, -1, 0, 1, 2, 3, ...
Números reales
El tipo float permite representar números reales.
El nombre float viene del término punto flotante, que es la manera en que el computador representa internamente los números reales.

Caracteres
En este tipo de dato se encuentran todos los caracteres conocidos, una letra, un número, un símbolo especial. Por lo tanto, está
conformado por los DÍGITOS:'0', '1', '2', ... , '9'; LETRAS: 'a', 'b', 'c', ... , 'z'; MAYÚSCULAS: 'A', 'B', 'C', ... , 'Z'; y CARACTERES ESPECIALES: '%',
'*', '?', ... , '/'. En algunos lenguajes de programación como Java y C#, se utiliza la comilla simple (' ') para identificar un caracter, sin
embargo esto puede cambiar dependiendo del lenguaje de programación.

Cadenas
Constituyen conjuntos de caracteres, es decir la UNIÓN DE VARIOS CARACTERES, que pueden ser palabras o frases. El valor de este tipo
de datos se encierra generalmente entre comillas (" ").

Boolean
Los booleanos o tipos de datos lógicos, únicamente reciben dos valores: true ó false. Se utilizan generalmente como banderas, para
identificar si se realizó o no un proceso. Más adelante se podrán aplicar en ejemplos y comprender su funcionamiento. Lo importante por
ahora es conocer que únicamente pueden tomar DOS VALORES: VERDADERO (true) o FALSO (false

“Todo logro empieza con la decisión de intentarlo.” Gail Devers.


WEBGRAFIA

 https://www.hostgator.mx/blog/logica-de-programacion-primer-paso/
 https://studentplace98.blogspot.com/2018/12/fundamentos-de-programacion-algoritmos.html
 https://www.udima.es/es/analisis-diseno-algoritmos.html
 http://www.aliat.org.mx/BibliotecasDigitales/sistemas/Analisis_y_disenio_de_algoritmos.pdf

También podría gustarte