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

ALGORITMICA

Este documento trata sobre conceptos básicos de algoritmos como problemas, lógica, definición de algoritmos, tipos de algoritmos, características de algoritmos, desarrollo de algoritmos cualitativos, componentes de algoritmos cuantitativos, datos, tipos de datos, constantes y variables, y operadores.

Cargado por

Mariana Garcia
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

ALGORITMICA

Este documento trata sobre conceptos básicos de algoritmos como problemas, lógica, definición de algoritmos, tipos de algoritmos, características de algoritmos, desarrollo de algoritmos cualitativos, componentes de algoritmos cuantitativos, datos, tipos de datos, constantes y variables, y operadores.

Cargado por

Mariana Garcia
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/ 14

REPUBLICA BOLIVARIANA DE VENEZUELA

INSTITUTO UNIVERSITARIO DE TEGNOLOGIA

JUAN PABLO PEREZ ALFONZO

AMPLIACION MARACAIBO

IUTEPAL

ALGORITMICA

Autor:

Arellano Pernia Juan Aldrey

Cedula: 19.988.603

Abril, 2023
ALGORITMICA

UNIDAD I: CONCEPTOS BASICOS

 Problema

Cuestión que se plantea para hallar un dato desconocido a partir de otros datos
conocidos, o para determinar el método que hay que seguir para obtener un
resultado dado.

 Lógica

Método o razonamiento en el que las ideas o la sucesión de los hechos se


manifiestan o se desarrollan de forma coherente y sin que haya contradicciones
entre ellas. Modo o manera particular de pensar, de ver, de razonar o de actuar
que se considera coherente, racional o de sentido común.

 Algoritmo: definición, clases, características

Definición: Se denomina algoritmo a un grupo finito de operaciones organizadas


de manera lógica y ordenada que permite solucionar un determinado problema.
Se trata de una serie de instrucciones o reglas establecidas que, por medio de una
sucesión de pasos, permiten arribar a un resultado o solución. Según los expertos
en matemática, los algoritmos permiten trabajar a partir de un estado básico o
inicial y tras seguir los pasos propuestos, llegar a una solución. Cabe resaltar que,
si bien los algoritmos suelen estar asociados al ámbito matemático (ya que
permiten, citar casos concretos, averiguar el cociente entre un par de dígitos o
determinar cuál es el máximo común divisor entre dos cifras pertenecientes al
grupo de los enteros), aunque no siempre implican la presencia de números.

Clases: Según su sistema de signos, es decir, cómo se describen los pasos a


seguir, los algoritmos pueden ser:
- Cuantitativos y cualitativos: si funcionan a través de cálculos matemáticos o
secuencias lógicas.
- Computacionales o no computacionales: si requieren o no del uso de un
ordenador para la solución o ejecución de una determinada tarea.

Según su función y estrategia, es decir, qué hacen y cómo lo hacen, existen


cinco tipos de algoritmos:

- Algoritmos de búsqueda: aquellos que encuentran uno o varios elementos que


presenten un conjunto de propiedades dentro de una determinada estructura de
datos. Las búsquedas pueden ser:
- Secuenciales: comparan el elemento a buscar con cada elemento del conjunto,
hasta encontrarlo.
- Binarias: comparan el elemento de búsqueda con un elemento ubicado en el
medio de una serie ordenada para determinar si son iguales.
- Algoritmo de ordenamiento: son los que se utilizan para reorganizar elementos
de un listado, siguiendo unas pautas de orden numérico o alfanumérico.
Pueden ser:
- De burbuja: comparan cada elemento de la lista a ordenar, intercambiando
posiciones si no están ordenados correctamente.
- Por selección: ordenan a partir del elemento más pequeño de forma
consecutiva.
- Rápido: eligen un elemento del conjunto y reubican el resto en torno a este en
función de si son menores o mayores respecto a él.
- Algoritmos voraces: se trata de un tipo de algoritmo aplicado a problemas de
optimización y se utiliza para la toma de decisiones lógicas para llegar a una
solución final global. Estos algoritmos no son reversibles una vez que se toma
la decisión de ejecutarlos.
- Programación dinámica: este tipo de algoritmo está asociado al método con el
que se procesa el resultado. La solución de un elemento depende de la
solución de una serie de problemas más pequeños, por lo que conforme se van
solucionando subproblemas, se van almacenando las soluciones para que no
sea necesario calcularlas nuevamente. Con la programación dinámica se
reduce el tiempo de ejecución del algoritmo.
- Algoritmos probabilísticos: este tipo de algoritmos basa sus resultados en el
azar, de manera que, en líneas generales, se pueda obtener una buena
solución para cualquier distribución aleatoria de inputs de entrada. El azar
representa una optimización de tiempo respecto a si se determinara la mejor
alternativa para cada caso individual. Se obtiene, en consecuencia, una buena
solución a un problema para cualquier distribución de datos de entrada.

Características de los algoritmos: Independientemente del uso que se le dé a los


algoritmos, todos guardan en común las siguientes características:

1. Inicio y fin: parten de un estado inicial desde el cual ejecutan una serie de
instrucciones para llegar a un estado final de salida o finalización.
2. Exactitud: deben indicar un orden claro, específico y lógico de instrucciones
para la ejecución de cada paso, sin que exista espacio para la ambigüedad.
3. Secuencia: deben seguir una serie de pasos ordenados, entendibles y
previamente establecidos.
4. Completos: deben tener en cuenta todas las posibilidades y presentaciones del
problema para ejecutar la solución exacta.
5. Finitos: el número de pasos para ejecutar la tarea debe ser finito para darla por
concluida.
6. Abstractos: representan una guía o modelo para ordenar procesos.

 Desarrollo de algoritmos cualitativos

Los algoritmos cualitativos son aquellos que se realizan por medio de las
palabras, lo que quiere decir que las órdenes vienen dadas en forma verbal. Por
ejemplo una receta de cocina. Por su parte los algoritmos cuantitativos son
aquellos que se realizan por medio de cálculos matemáticos.
 Componentes de un algoritmo cuantitativo

Los algoritmos cuantitativos son aquellos algoritmos que utilizan operaciones


algebraicas y cálculos numéricos específicos para definir un proceso, obteniendo
valores concretos. Por ejemplo, el resultado de una resta o una multiplicación.

Todo algoritmo consta de tres componentes principales: Entrada: Es la


introducción de datos para ser transformados. Proceso: Es el conjunto de
operaciones a realizar para dar solución al problema. Salida: Son los resultados
obtenidos a través del proceso.

Datos

 Definición: Los datos son la información (valores o referentes) que recibe


el computador a través de distintos medios, y que es manipulada mediante el
procesamiento de los algoritmos de programación. Su contenido puede ser
prácticamente cualquiera: estadísticas, números, descriptores, que por separado
no tienen relevancia para los usuarios del sistema, pero que en conjunto pueden
ser interpretados para obtener una información completa y específica.

En los lenguajes de programación, empleados para crear y organizar los


algoritmos que todo sistema informático o computacional persigue, los datos son
la expresión de las características puntuales de las entidades sobre las cuales
operan dichos algoritmos. Es decir, son el input inicial, a partir del cual puede
procesarse y componerse la información.

Son particularmente importantes para la estructura de datos, rama de


la computación que estudia la forma particular de almacenaje de la información en
porciones mínimas para lograr una posterior recuperación eficiente.

 Tipos: En la informática, cuando hablamos de tipos de datos (o simplemente


“tipo”) nos referimos a un atributo que se indica al computador respecto a la
naturaleza de los datos que se dispone a procesar. Esto incluye delimitar o
restringir los datos, definir los valores que pueden tomar, qué operaciones se
puede realizar con ellos, etc.

Algunos tipos de datos son:

- Caracteres. Dígitos individuales que se pueden representar mediante datos


numéricos (0-9), letras (a-z) u otros símbolos.
- Caracteres Unicode. Unicode es un estándar de codificación que permite
representar más eficazmente los datos, permitiendo así hasta 65535 caracteres
diferentes.
- Numéricos. Pueden ser números reales o enteros, dependiendo de lo necesario.
- Booleanos. Representan valores lógicos (verdadero o falso).

 Constantes, variables

Una constante es un elemento de datos con nombre con un valor predefinido,


mientras que una variable es un elemento de datos con nombre cuyo valor puede
cambiar durante el curso de la ejecución de un programa. Las variables pueden
ser globales o locales.

Una constante es un elemento de datos con nombre con un valor predefinido.


No se puede cambiar el valor asignado a una constante predefinida. Las
constantes predefinidas son:

NULL
Una referencia vacía. Parecido a un puntero vacío. Tenga en cuenta que no es lo
mismo que una cadena de caracteres nula "".

TRUE
Equivalente al número 1.

FALSE
Equivalente al número 0.
Una variable es un elemento de datos con nombre cuyo valor puede cambiar
durante el curso de la ejecución de un programa. Un nombre de variable debe
seguir el convenio de denominación de un identificador (carácter alfabético o
número y el signo de subrayado). Cuando se define más de una variable en una
sola declaración, el nombre debe ir separado por comas. Cada declaración de
variable debe finalizar con un signo de punto y coma. Los nombres de variables
no pueden coincidir con una palabra reservada.

 Operadores: aritméticos, relaciones, lógicos

Los operadores son símbolos que indican cómo se deben manipular los
operandos. Los operadores junto con los operandos forman una expresión, que es
una fórmula que define el cálculo de un valor. Los operandos pueden ser
constantes, variables o llamadas a funciones, siempre que éstas devuelvan algún
valor. El compilador evalúa los operadores, algunos de izquierda a derecha, otros
de derecha a izquierda, siguiendo un orden de precedencia. Este orden se puede
alterar utilizando paréntesis para forzar al compilador a evaluar primero las partes
que se deseen.

- Aritméticos: Los operadores aritméticos se usan para calcular un valor de dos o


más números, o cambiar el signo de un número de positivo a negativo o viceversa.
Suma dos números. Busca la diferencia entre dos números indica el valor negativo
de un número.
- Relacionales: Los operadores relacionales nos permiten comparar expresiones de
tipos compatibles, devolviendo un resultado de tipo lógico: la comparación es
verdadera o falsa.

- Lógicos: Los operadores lógicos pueden crear condiciones compuestas en


una fórmula, como que se deben cumplir dos o más condiciones para elegir un
determinado método de cálculo. Con los operadores lógicos, puede describir estas
combinaciones de condiciones. Utilice AND, OR o XOR con dos expresiones;
utilice NOT con una expresión.

Símbolo Definición

AND

Verdadero sólo si los dos elementos son verdaderos

OR

Verdadero si cualquiera de los elementos es verdadero


XOR

Verdadero si cualquiera de las expresiones (pero no


ambas) es verdadera

NOT

Cambia el valor de Falso a Verdadero y viceversa

 Comandos

Una orden/instrucción (también conocida con el extendido


anglicismo/barbarismo comando -calco del inglés command, que significa orden,
mandato-) es una instrucción que el usuario proporciona a un sistema informático,
desde la línea de órdenes (como una shell) o desde una llamada de programación.
En otras palabras, Un comando es un mensaje enviado al ordenador que provoca
una respuesta en este sistema y se comporta como una orden, pues informa al
dispositivo informático que debe ejecutar una acción según la indicación que
pueda enviarse.

 Estructuras de control: secuencias, selectivas, repetitivas

En lenguajes de programación, las estructuras de control permiten modificar el


flujo de ejecución de las instrucciones de un programa.

Todas las estructuras de control tienen un único punto de entrada. Las


estructuras de control se pueden clasificar en: secuenciales, iterativas y de control
avanzadas. Esta es una de las cosas que permiten que la programación se rija por
los principios de la programación estructurada.

Los lenguajes de programación modernos tienen estructuras de control


similares. Básicamente lo que varía entre las estructuras de control de los
diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para
expresar la estructura.
- La estructura secuencial es la más sencilla de todas, simplemente indica al
procesador que debe ejecutar de forma consecutiva una lista de acciones (que
pueden ser, a su vez, otras estructuras de control); para construir una secuencia
de acciones basta con escribir cada acción en una línea diferente.
- Las estructuras selectivas son sentencias de programación que permiten elegir
entre dos o más opciones o caminos. La elección se hace mediante la evaluación
de un criterio. La sentencia solo se ejecuta si se cumple una condición concreta.
- Las estructuras de control repetitivas son aquellas que permiten ejecutar un
conjunto de instrucciones varias veces, de acuerdo al valor que genere la
expresión relacional y lógica.

UNIDAD II: OPERADORES Y EXPRESIONES

 Operador de asignación

El operador de asignación, asigna el valor de su operando de la derecha a una


variable, una propiedad o un elemento de indexador que proporciona el operando
de la izquierda. El resultado de una expresión de asignación es el valor asignado
al operando izquierdo.

 Operadores aritméticos, jerarquía o procedencia, construcción de


expresiones computacionales a partir de expresiones aritméticas

Los operadores aritméticos se usan para calcular un valor de dos o más


números, o cambiar el signo de un número de positivo a negativo o viceversa.
Suma dos números. Busca la diferencia entre dos números o indica el valor
negativo de un número.
La jerarquía de operadores determina el orden en el que se resuelven las
expresiones cuando se involucran operaciones aritméticas como la suma, resta,
multiplicación, división, potencia, raíz y módulo de la división.

Esta es una lista de los operadores aritméticos más frecuentemente


encontrados en los lenguajes de programación

Ejemplo: ___A__ A/ (B*C)

B . C

 Operadores relaciones: construcción de expresiones lógicas

Los operadores relacionales permiten realizar comparaciones entre valores de


tipos de datos numéricos (como los enteros y los reales) así como entre
carácteres. Estos operadores reciben parámetros de tipo numérico o carácter pero
su resultado es de tipo lógico. Esto significa que solo regresan uno de dos valores

posibles: verdadero si la relación se cumple y falso si la relación no se cumple.

Los siguientes son los operadores relacionales más comunes en los lenguajes
de programación:

Operado Nombre Ejemplo de su uso Resultado de la expresión


r

> Mayor 8 > 15 falso

< Menor 8 < 15 verdadero

>= Mayor o igual 8 >= 8 verdadero

<= Menor o igual 8 <= -8 falso

= Igual 45.0 = 32.0 falso

<> Diferente 10 <> 3 verdadero

Al comparar caracteres es importante tener en cuenta que los lenguajes de


programación normalmente lo hacen comparando el valor numérico asignado a
cada letra, dígito o símbolo por lo que los resultados de la operación dependerán
del código de caracteres que estemos usando. [1] Por ejemplo, si usamos el código

de caracteres ASCII, el carácter D está representado por el código 68 y el

carácter d está representado por el código 100 . Eso significa que el resultado de

ejecutar 'D' < 'd' es el valor lógico verdadero , ya que 68 es menor a 100.

También es importante considerar que al manipular números reales, los


operadores relacionales enfrentan restricciones debido a que los computadores
representan ese tipo de datos de forma aproximada. Eso provoca que operaciones
que desde el punto de vista de la aritmética deberían regresar valores iguales,
reporten valores diferentes al usar los operadores relacionales de las
computadoras debido a errores de redondeo o representación.

 Operadores lógicos: jerarquía o precedencia, tablas de verdad, contracción


de expresiones lógicas compuestas, evaluación de expresiones lógicas
compuestas

La sintaxis especifica una serie de reglas de construcción que deberán cumplir


las fórmulas para ser sintácticamente correctas. Los elementos que estudiaremos
en una fórmula, en lógica proposicional son:

- Símbolos: p, q, r...
- Operadores: negación, conjunción, disyunción, condicional, disyunción
exclusiva
- Paréntesis: ( )

Las reglas de construcción sintácticas son:

- Un símbolo sólo no es una fórmula


- Los operadores unarios se anteponen al símbolo. Los operadores binarios se
sitúan entre los símbolos.
- Los paréntesis han de estar bien formados, y ha de haber tantos paréntesis de
abertura como de cierre:
- Son correctos: (p), p and (q), p or ((not q) and r)...
- No son correctos: (), (p (or) q), p and (q or (not r)...
- Son fórmulas:
- p, not p, p and q, p xor (not q), not (p -> q)...
De los símbolos no hay nada más que decir, son letras minúsculas del
alfabeto. En cuanto a los operadores lógicos, no vamos a verlos todos, sólo los
necesarios para comprender la lógica que después aplicaremos a la
programación. Cada operador está representado por un símbolo.

También podría gustarte