0% encontró este documento útil (0 votos)
15 vistas10 páginas

Algoritmia

Cargado por

mariagladish717
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)
15 vistas10 páginas

Algoritmia

Cargado por

mariagladish717
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

Algoritmia

Actividad de consulta

1. Que es un algoritmo y cuales son las partes de un Algoritmo

[Link] las características de los Algoritmos

[Link] los elementos necesarios para construir un Algoritmo

[Link] y explique las formas de representar un Algoritmo:


Diseño del algoritmo y su escritura inicial, representación grafica
de los algoritmos, Seudo código.

[Link] se entiende por dato y que tipos de datos se puede utilizar


en la realización de algoritmos

[Link] tipos de expresiones y operadores se puede utilizar en la


realización de algoritmos

[Link] se entiende por Instrucción de entrada, salida y de


asignación.

[Link] los siguientes conceptos de programación: Lenguaje de


programación, Lenguaje Maquina, Lenguaje ensamblador,
Lenguaje de bajo nivel, Lenguaje de alto nivel, Intérprete,
Compilador, operadores numéricos, operadores lógicos, carácter,
cadena, constante, variable.

[Link] se entiende por compilación y cuales son sus fases


SOLUCION
1. Un algoritmo es un conjunto finito de pasos lógicos y ordenados
que se siguen para resolver un problema o realizar una tarea
específica. Un algoritmo tiene tres partes principales: entrada,
proceso y salida.
Entrada: Es la información o datos que se le proporcionan al
algoritmo para que pueda empezar a trabajar. Por ejemplo, en una
receta de cocina, la entrada serían los ingredientes.
Proceso: Es la secuencia de pasos o instrucciones que se ejecutan
para transformar la entrada y llegar a la solución del problema. En
la receta de cocina, el proceso sería la serie de pasos para mezclar
los ingredientes, hornear, etc.
Salida: Es el resultado o la solución que se obtiene después de
ejecutar el proceso. En la receta, la salida sería el pastel horneado.
En resumen, un algoritmo es como una receta de cocina que te guía
paso a paso para lograr un resultado específico, donde la entrada
son los ingredientes, el proceso es la preparación y la salida es el
plato terminado.

2. Un algoritmo se caracteriza por ser preciso, definido, finito,


ordenado y, en muchos casos, eficiente y escalable. Estas
características aseguran que el algoritmo pueda resolver un
problema de manera efectiva y confiable.
Características detalladas:
 Preciso:
Cada paso en el algoritmo debe estar claramente definido y
no ser ambiguo. Debe ser objetivo y no dejar lugar a
interpretaciones.
 Definido:
El mismo algoritmo, con la misma entrada, siempre debe
producir la misma salida. Esto garantiza la consistencia y
fiabilidad del algoritmo.
 Finito:
Un algoritmo debe tener un número finito de pasos. No
puede ser un proceso infinito. Esto asegura que el
algoritmo termine y proporcione una solución.
 Ordenado:
Los pasos del algoritmo deben tener un orden
específico. Deben ejecutarse secuencialmente para lograr
el resultado deseado.
 Eficiente:
Un buen algoritmo debe hacer un uso óptimo de los
recursos, como tiempo de ejecución y memoria. Esto es
especialmente importante en algoritmos que manejan
grandes cantidades de datos o se ejecutan con frecuencia.
 Escalable:
La capacidad de un algoritmo para manejar grandes
volúmenes de datos o crecer en complejidad sin perder
eficiencia es crucial en muchas aplicaciones.

3. Un algoritmo se construye con tres elementos


fundamentales: entrada, proceso y salida. La entrada son los datos
iniciales, el proceso es la secuencia de pasos para transformar esos
datos, y la salida son los resultados obtenidos al final del
proceso. Además, para que un algoritmo funcione correctamente,
debe ser preciso, definido, finito, y efectivo.

Elementos Clave:
 Entrada: Datos iniciales que el algoritmo utilizará para operar.
 Proceso: Conjunto de pasos lógicos y operaciones que se realizan
para transformar la entrada en la salida deseada.
 Salida: Resultados obtenidos después de aplicar el proceso a la
entrada.
Características Esenciales:
 Precisión: Cada paso del algoritmo debe ser claro y no ambiguo.
 Definición: El algoritmo debe tener un conjunto específico de reglas
para cada paso, evitando la ambigüedad.
 Finitud: El algoritmo debe terminar en un número finito de pasos.
 Efectividad: Cada paso debe ser realizable y llevar a la solución del
problema.
Bloques de Construcción:
 Secuenciación: Los pasos del algoritmo se ejecutan en un orden
específico.
 Selección: Permite tomar decisiones dentro del algoritmo basadas en
condiciones.
 Iteración: Permite repetir un conjunto de pasos varias veces.

4. Un algoritmo se puede representar de varias maneras: mediante


el diseño inicial, que incluye la secuencia de pasos lógicos; a través
de diagramas de flujo, que utilizan símbolos gráficos para visualizar
el proceso; o mediante pseudocódigo, una descripción en lenguaje
natural que se asemeja al código de programación pero sin
adherirse a una sintaxis específica.

Diseño del algoritmo y su escritura inicial:


El diseño del algoritmo implica definir la secuencia lógica de pasos
necesarios para resolver un problema. Esta secuencia debe ser
precisa y evitar ambigüedades. La escritura inicial se refiere a la
expresión de estos pasos en un lenguaje natural, de forma clara y
concisa, preparándola para una representación más formal.

Representación gráfica de los algoritmos (Diagramas de Flujo):


Los diagramas de flujo utilizan símbolos estandarizados para
representar visualmente cada paso y la dirección del flujo de datos
dentro del algoritmo. Estos símbolos, como óvalos para inicio/fin,
rectángulos para procesos, rombos para decisiones, y flechas para
la dirección del flujo, facilitan la comprensión del algoritmo y su
lógica. Los diagramas de flujo son útiles para visualizar algoritmos
complejos y detectar posibles errores en la lógica.

Pseudocódigo:
El pseudocódigo es una forma de representar algoritmos utilizando
una mezcla de lenguaje natural y elementos de lenguajes de
programación. No sigue una sintaxis rigurosa como un lenguaje de
programación real, pero facilita la comprensión y la posterior
traducción a código. El pseudocódigo ayuda a los programadores a
enfocarse en la lógica del algoritmo antes de preocuparse por la
sintaxis del lenguaje de programación específico. Se caracteriza por
el uso de palabras clave en mayúsculas, sangrías para mostrar
jerarquía, y una estructura similar a la de un programa.
En resumen, la elección de la forma de representación de un
algoritmo depende de la complejidad del problema, el público
objetivo y el objetivo final (comprensión, implementación, etc.).

5. En programación, un dato es la representación simbólica de un


atributo o variable, ya sea cuantitativa o cualitativa. Se utiliza
para describir hechos, sucesos o entidades, y es la información
que un algoritmo procesa. Los tipos de datos más comunes en la
realización de algoritmos incluyen: enteros, flotantes, cadenas de
texto, booleanos, arreglos y objetos.

6. En la realización de algoritmos, se pueden utilizar diferentes tipos de


expresiones y operadores. Estas se clasifican principalmente
en: aritméticas, relacionales, lógicas, de cadena y de
asignación. Los operadores permiten realizar cálculos,
comparaciones y manipulaciones de datos, mientras que las
expresiones combinan estos operadores con datos para formar
instrucciones que el algoritmo puede ejecutar.
Tipos de Expresiones y Operadores:
1. 1. Expresiones Aritméticas:
 Operadores: +, -, *, /, % (módulo), ^ (exponenciación).
 Ejemplo: (x + y) * 2 - (z / 3).
 Función: Realizan operaciones matemáticas sobre
valores numéricos.
2. 2. Expresiones Relacionales:
 Operadores: == (igual a), != (diferente de), > (mayor
que), < (menor que), >= (mayor o igual que), <= (menor
o igual que).
 Ejemplo: if (edad >= 18) { ... }.
 Función: Comparan valores y devuelven un resultado
booleano (verdadero o falso).
3. 3. Expresiones Lógicas:
 Operadores: && (AND lógico), || (OR lógico), ! (NOT
lógico).
 Ejemplo: if (llueve && tengo_paraguas) { ...
}.
 Función: Combinan expresiones booleanas para
formar condiciones más complejas.
4. 4. Expresiones de Cadena:
 Operadores: + (concatenación de cadenas), =, !=
(comparación de cadenas).
 Ejemplo: "Hola" + " " + "Mundo".
 Función: Manipulan texto o cadenas de caracteres.
5. 5. Expresiones de Asignación:
 Operador: = (asignación).

 Ejemplo: variable = valor.


Función: Asignan un valor a una variable.
Operadores Adicionales:
 Operadores Bit a Bit: Realizan operaciones a nivel de bits
en datos binarios.
 Operador Ternario: Un operador condicional que permite
escribir expresiones compactas para decisiones simples.
Importancia:
Comprender y utilizar correctamente estos tipos de expresiones y
operadores es fundamental para la creación de algoritmos
efectivos y lógicos. Permiten al programador definir las
operaciones necesarias para resolver un problema y construir
estructuras de control que guíen la ejecución del algoritmo.

7. En programación, las instrucciones de entrada permiten que un


programa reciba datos del mundo exterior (como del usuario a
través del teclado), las instrucciones de salida muestran
información al usuario (por ejemplo, en la pantalla), y las
instrucciones de asignación almacenan valores en variables para su
uso posterior.

Instrucciones de Entrada:
 Permiten al programa recibir datos desde el exterior.
 En muchos lenguajes, se utilizan comandos como input() (en Python)
o cin (en C++) para leer datos del usuario.
 Estos datos se almacenan en variables para su posterior
procesamiento.
Instrucciones de Salida:
 Permiten mostrar información al usuario o a otros dispositivos.
 En lenguajes como Python, se utiliza print() para mostrar texto en la
consola.
 En C++, se usa cout para mostrar resultados.
 La salida puede incluir texto, números, resultados de cálculos, etc.
Instrucciones de Asignación:
 Asocian un valor o el resultado de una expresión a una variable.
 En la mayoría de los lenguajes, se utiliza el símbolo = para la
asignación (por ejemplo, x = 5).
 La expresión a la derecha del símbolo = se evalúa, y su resultado se
guarda en la variable a la izquierda.
 Las instrucciones de asignación son fundamentales para el
almacenamiento y manipulación de datos en un programa.
8. Un lenguaje de programación es un conjunto de reglas y
símbolos que permiten a los humanos comunicarse con las
computadoras para crear programas que realizan tareas
específicas. Los lenguajes de programación se clasifican en bajo
nivel (como el lenguaje máquina y ensamblador) y alto nivel, que
ofrecen mayor abstracción y facilidad de uso para los
programadores. Los lenguajes de máquina son los que la
computadora entiende directamente, compuestos por secuencias
de 0 y 1 (código binario). Los lenguajes ensambladores son de
bajo nivel y utilizan mnemónicos para representar instrucciones,
que luego se traducen a lenguaje máquina.
Un compilador es un programa que traduce código fuente de alto
nivel a código máquina de una sola vez, mientras que un
intérprete traduce y ejecuta código línea por línea. Los
operadores numéricos son símbolos que realizan operaciones
matemáticas (suma, resta, multiplicación, división, etc.). Los
operadores lógicos se utilizan para realizar operaciones
booleanas (AND, OR, NOT).
Un carácter es un símbolo individual (letra, número, signo de
puntuación), y una cadena es una secuencia de caracteres. Una
constante es un valor que no cambia durante la ejecución de un
programa, mientras que una variable es un espacio de memoria
que puede almacenar diferentes valores a lo largo del tiempo.
En resumen:
 Lenguaje de programación: Un conjunto de reglas y
símbolos para comunicarse con las computadoras.
 Lenguaje máquina: Código binario que la computadora
entiende directamente.
 Lenguaje ensamblador: Bajo nivel, utiliza mnemónicos para
instrucciones.
 Lenguaje de bajo nivel: Más cercano al hardware, incluye
lenguaje máquina y ensamblador.
 Lenguaje de alto nivel: Más cercano al lenguaje humano,
facilita la programación.
 Compilador: Traduce código fuente completo a lenguaje
máquina.
 Intérprete: Traduce y ejecuta código línea por línea.
 Operadores numéricos: Realizan operaciones matemáticas.
 Operadores lógicos: Realizan operaciones booleanas.
 Carácter: Símbolo individual.
 Cadena: Secuencia de caracteres.
 Constante: Valor que no cambia.
 Variable: Espacio de memoria para valores cambiantes.

9. La compilación es el proceso de traducir código fuente escrito


en un lenguaje de programación de alto nivel a código máquina o
lenguaje de bajo nivel, que puede ser ejecutado por una
computadora. Este proceso se realiza a través de un programa
llamado compilador. Las fases principales de la compilación son:
análisis (léxico, sintáctico y semántico) y síntesis (generación de
código intermedio, optimización y generación de código final).
Fases de la compilación:
1. 1. Análisis Léxico (Escaneo):
El código fuente se divide en tokens (palabras clave,
identificadores, operadores, etc.) y se construye una tabla
de símbolos con la información de estos tokens.
2. 2. Análisis Sintáctico (Parsing):
Se verifica la estructura del código con la gramática del
lenguaje y se construye un árbol de análisis sintáctico
(AST).
3. 3. Análisis Semántico:
Se verifica la coherencia del código, como tipos de datos,
alcance de variables, etc.
4. 4. Generación de Código Intermedio:
Se crea una representación intermedia del código, que es
independiente de la arquitectura de la máquina.

5. 5. Optimización de Código:
Se mejoran las instrucciones del código intermedio para
aumentar la eficiencia y velocidad de ejecución.
6. 6. Generación de Código Final (Ensamblador/Máquina):
Se traduce el código intermedio optimizado a código
ensamblador o directamente a código máquina, específico
para la plataforma de destino.

También podría gustarte