0% encontró este documento útil (0 votos)
28 vistas

Contenido de Algoritmos

Este documento describe las etapas para resolver un problema mediante el uso de algoritmos. Explica que un algoritmo es una serie ordenada de pasos para dar solución a un problema de manera finita, secuencial y determinista. Además, detalla las fases de diseño de un algoritmo, incluyendo el uso de pseudocódigo para expresar de forma clara los pasos a seguir, así como los diferentes tipos de datos, operadores y estructuras de control que se pueden utilizar al crear algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas

Contenido de Algoritmos

Este documento describe las etapas para resolver un problema mediante el uso de algoritmos. Explica que un algoritmo es una serie ordenada de pasos para dar solución a un problema de manera finita, secuencial y determinista. Además, detalla las fases de diseño de un algoritmo, incluyendo el uso de pseudocódigo para expresar de forma clara los pasos a seguir, así como los diferentes tipos de datos, operadores y estructuras de control que se pueden utilizar al crear algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

ALGORITMOS

1. Etapas de la resolución de un problema

Introducción:

 Diariamente nos enfrentamos a problemas y como tal, estos problemas nos exigen una
solución “ingeniosa”.
 No siempre la solución que generamos es la más “óptima”.
 La manera de responder a una necesidad difiere de una persona a otra.
 Se hace necesaria una forma estándar de pensamiento que norme las acciones que
realizaremos.
 Las mejores soluciones no son las más complejas; sino aquellas que son funcionalmente
ingeniosas.
 Para obtener soluciones ingeniosas debemos de hallar la manera correcta de llevar a cabo
la misma, y de forma repetitiva.
 Cuando hallamos la forma correcta de ejecutar una solución, y la podemos describir
formalmente, desarrollamos un ALGORITMO.

DEFINICIÓN DE ALGORITMO: es una serie de pasos ordenados para darle la solución a un


problema.

1. Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una
tarea o resolver un problema.
2. Un conjunto de reglas bien definidas para la solución de un problema en un número finito
de pasos.
3. Procedimiento lógico-matemático, aplicado para resolver un problema.
4. Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción
determinada.

Los algoritmos pueden ser: Cualitativos: son los algoritmos que resolvemos por medio o a través
de las palabras. Cuantitativos: son algoritmos que resolvemos por medio de la lógica, números y
operadores.

De lo anterior deducimos que un algoritmo tiene las siguientes características:

a) Es finito
b) Es secuencial
c) Es determinístico.

Diseño de soluciones:

 Todo algoritmo busca solucionar un problema específico.


 Una vez que el problema ha sido analizado y dimensionado, es buen momento para
pensar en las posibles soluciones y seleccionar la mejor alternativa.
 Sin embargo, es importante que la solución se clara. Para esto utilizaremos un método
para expresar de forma clara la solución.
 Los métodos pueden ser diversos, veamos a continuación las fases de un algoritmo:
Lenguaje Natural: es la forma de expresarse natural y lógicamente para darle la solución al
usuario, es decir, darle al usuario la solución de manera que lo pueda comprender.

Diagrama de flujo o Flujograma: es la representación gráfica donde se muestran los pasos a seguir
para la solución del problema. Debe ser Simple claro y General. Y debe indicar claramente su inicio
y su fin.

 En el diagrama de flujo las líneas deben de ser rectas, verticales u horizontales.


 El flujo del diagrama debe de ir de arriba hacia abajo y/o de izquierda a derecha.
 Cuando se posible los símbolos deben dibujarse proporcionalmente.
 En general, no puede llegar más de una línea a un símbolo.
Pseudocódigo: pseudo quiere decir algo falso. El pseudocódigo es el lenguaje que le damos a
entender al programador. Partes del pseudocódigo:

1. Encabezado: es la parte donde debemos identificar con un nombre apropiado, una breve y
clara explicación de su razón de ser.
2. Sección de Declaraciones: Declaración de tipos: un tipo es el nombre asignado a un
conjunto de datos que cumplen ciertas características distintivas. Una clasificación básica y
simple de los tipos de datos es la siguiente: Tipos predefinidos: son los que incluyen la
gramática del lenguaje utilizado. Y Tipos definidos por el Usuario: como su nombre lo
indica, son tipos de datos creados por el usuario basándose en algún tipo de dato
predefinido.
3. Declaración de Constantes y Variables: Constantes: son todos aquellos valores que no
pueden cambiar en un proyecto, y por lo tanto tienen valor fijo. Variables: si se pueden
cambiar su valor.
4. Tipos de datos: los tipos de datos predefinidos son la base para la manipulación de datos.
Los tipos de datos considerados básicos son:
Tipos de datos: Entero: Representa un subconjunto de todos los números. Los tipos
genéricos enteros son: enteros y cardinales. Un número entero figura en un rango de -
2147483648 a 2147483647. Un número cardina sin signo puede estar desde 0 a
4294967295. Carácter: Un carácter puede tomar cualquier valor del sistema de
codificación alfanumérico que se acuerde utilizar. Lógico: El tipo de dato lógico es
conocido también como booleano en honor al matemático inglés George Boole (1815-
1864). Los valores lógicos pueden ser únicamente: falso o verdadero.

5. Cuerpo del Algoritmo: El cuerpo del algoritmo es la sección en la que se escriben las
instrucciones que solucionan un problema en particular, el cuerpo del algoritmo inicia con
una palabra reservada INICIO y luego las instrucciones que resuelven el problema, para
finalizar con la palabra reservada FIN ALGORITMO y opcionalmente, el identificador del
algoritmo que finaliza.
6. Expresiones: si se observa con determinación las instrucciones escritas en cualquier
lenguaje de programación, notara que está llena de expresiones. Una expresión puede
estar en: una asignación, una instrucción de salida, los límites y los saltos de un ciclo desde
los índices de conjuntos y arreglos de datos, las condiciones, los parámetros de su
algoritmo. Tipos de expresiones: aritméticas y lógicas.
EXPRESIONES OPERADORES ARITMÉTICOS:

OPERADOES DIV Y MOD: Los operadores aritméticos DIV y MOD pueden ser aplicados
únicamente a operadores con números enteros y el resultado que producen también es
un número entero. Para el operador DIV, el resultado es la parte entera de la división. Para
el operador MOD, el resultado es el residuo de la división. Por ejemplo:

EXPRESIONES LÓGICAS: Una expresión lógica es aquella cuya evaluación general como
resultado da un valor lógico, es decir, verdadero o falso. Ejemplo: 5>3 expresión lógica con
valor verdadero.
Precedencia de operadores: Dado que una sola expresión puede contener una gran
cantidad de operandos y operadores, se hace necesario establecer el orden de
precedencia con el que los operadores serán aplicados. Ejemplo: 1+2*4 ¿Cuál es el
resultado 12 o 9?
La precedencia de operadores o reglas de prioridad tienen por objeto establecer el orden

en que los operadores deben ser aplicados a los operandos indicados en una expresión.

Puntos importantes para resolver un algoritmo:

1) Identificar cual es el proceso o las instrucciones a seguir.


2) Analizar las instrucciones.
3) Desarrollar el razonamiento lógico y abstracto, que permitirá solucionar el problema.
4) Saber comprender el problema del usuario, cuando el usuario nos pide resolver su
problema, para nosotros se convierte en un requerimiento.
5) Reconocer los resultados que se esperan, sistematizar o automatizar.
6) Con que datos vamos a trabajar. ¿Qué datos se capturan? ¿Qué datos se calculan?
7) Realizar restricciones que generan la solución.
8) Diseñar los procesos o establecer operaciones para alcanzar la solución, cuando yo diseño
o genero los procesos, estoy creando mi algoritmo.

BLOQUES DE SENTENCIA

En C++ el concepto de bloque de sentencias se utilizan para agrupar un conjunto de sentencias


dentro de un ámbito concreto del programa. Un bloque de sentencias es un conjunto de
instrucciones englobadas bajo llaves “{y}”. Hay diferentes lugares, en un programa escrito en
C++, donde podemos usar bloques de código. Por ejemplo: en la sintaxis habitual de la función
main(), todas las instrucciones que pertenecen a esta función principal se escriben dentro de
una llave de apertura y una llave de cierre. De la misma manera, como se verá en el siguiente
tema, cualquier otra función tiene sus llaves para agrupar las instrucciones que forman parte
de ella. Por otro lado en C++ son posibles otros bloques de código que, como veremos en este
tema, están asociados a estructuras de control y que engloban un conjunto de instrucciones
que se ejecutan bajo las condiciones que controlan estas estructuras.
OPERADORES RELACIONALES:

C++ define el tipo bool que tiene dos literales, false y true. Una expresión booleana o lógica es,
por consiguiente, una secuencia de operandos y operadores que se combinan para producir
uno de los valores false o true. Operadores como == o <= que comprueban una relación entre
dos operandos se llaman operadores relacionales y se utiliza en expresiones de la forma:
expresión1_operador_relacional_expresión2

OPERADORES RELACIONALES Y LÓGICOS

Los operadores relacionales se usan normalmente en sentencias de selección y de iteración


para comprobar una condición. Operadores relacionales en C++:

== (¡Ojo!, no =) Igual a a==b != No igual a a!=b

> Mayor que a>b < Menor que a<b

>= Mayor o igual a>=b <= Menor o igual a<=b

Los operadores lógicos se utilizan con expresiones para devolver un valor verdadero o falso
(true o false). Se denominan también operadores booleanos. Los operadores lógicos de C++
son: not(!), and(&&), y or(||). El operador not produce falso si su operando es verdadero, y
viceversa. El operador and produce verdadero sólo si ambos operandos son verdaderos, si
cualquiera de los operandos es falso, produce falso. El operador or produce verdadero si
cualquiera de los operandos es verdadero, y falso en caso de que los dos operandos sean
falsos.

Bloque de sentencia: ESTRUCTURA DE SELECCIÓN

ESTRUCTURA DE SELECCIÓN IF: La sentencia IF-ELSE, elige entre varias alternativas en base al
valor de una o más expresiones booleanas. La SINTAXIS de la Sentencia IF-ELSE es la siguiente:

Sentencia if-else
If(expresión booleana)
< Bloque de sentencia>
Else
If(expresión booleana)
< Bloque de sentencia>
Else
< Sección de sentencia>
ESTRUCTURA SWITCH: Aunque la sentencia if de C++ es muy potente, en ocasiones su
escritura puede resultar tediosa, sobre todo en casos en los que el programa presenta varias
elecciones después de chequear una expresión: selección múltiple o multialternativa. En
situaciones donde el valor de una expresión determina qué sentencias serán ejecutadas es
mejor utilizar SWITCH en lugar de IF. La SINTAXIS de la sentencia SWITCH es:

Switch (opción){
Case1: suma=a+b;
Case2: resta=a+b;
Case3: multi=a*b;
Case4: divi= a/b;
Break;
Default:
Cout<<”opción inválida”;
}

También podría gustarte