Está en la página 1de 11

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO BOLIVAR
VICERRECTORADO ACADEMICO
DIRECCION DE LOS PROGRAMAS NACIONALES DE FORMACION
COORDINACIÓN PNF INFORMATICA

ALGORÍTMICA Y PROGRAMACIÓN
UNIDAD I

ALGORITMO Y ROGRAMACIÓN.

UNIDAD II

ESTÁNDARES DE CALIDAD EN EL DISEÑO DE ALGORITMOS Y

CONSTRUCCIÓN DE PROGRAMAS.

DOCENTE: ESTUDIANTES:

Marian Adams. Brayan Rivero C.I. 28475042

Jhonny Áviles C.I. 31087072

Ciudad Bolívar, Octubre del 2023.


Un algoritmo es un conjunto de instrucciones ordenadas, finitas y delimitadas que se

crean con el fin de describir de forma sistemática la ejecución de una tarea; son de uso común en

el día a día, y se pueden encontrar en manuales de uso, instrucciones para ejecutar un plan, o

guías para ejecutar procesos. Sin embargo, el uso del término es más común en el ámbito de la

programación. Un programa es una secuencia lógica de instrucciones para ejecutar tareas

específicas en una computadora, dichas secuencias están escritas en código y son diseñadas por

programadores, usando uno o más algoritmos. La diferencia entre un algoritmo y un programa,

es que si bien ambos hacen referencia una serie de instrucciones, los algoritmos pueden estar

escritos en código o en lenguaje natural, mientras que los programas sólo pueden estar escritos

en lenguaje de programación. Además, los algoritmos pueden ser ejecutados por un ser humano,

mientras que los programas están diseñados para ser ejecutados por máquinas.

¿Qué es un algoritmo?

Es una secuencia de pasos que se crea con el fin de explicar un proceso que tiene un inicio

y un fin. Esta serie de instrucciones debe estar expresada en términos concretos, de tal forma que

no quede duda de lo que haya que hacer para que la ejecución sea exitosa. El término algoritmo

viene del griego arithmos (número), y se utiliza comúnmente en la informática, la programación

y las matemáticas. Sin embargo, un algoritmo no solo puede estar expresado en números, sino

también con palabras. Cualquier actividad o evento con inicio y final que tenga una serie de

pasos lógicos para lograr su ejecución puede ser expresada mediante un algoritmo. Y estos

suelen ser representados mediante diagramas de flujo.


¿Qué es un programa?

Un programa es un conjunto de instrucciones o algoritmos diseñados para ser

interpretadas y ejecutadas por una computadora. Aunque se suele usar el término software como

sinónimo, la realidad es que un programa es solo una parte del software, y este a su vez está

compuesto no solo por programas, sino por bases de datos y otro tipo de archivos.

Las instrucciones o comandos de un programa están escritos en lenguaje de

programación, y según el lenguaje utilizado estos pueden ejecutarse directamente en la

computadora (como todos los programas .exe del sistema operativo Windows) o necesitar de un

intérprete. En este caso, se habla de compilación, que es el proceso de "traducir" el lenguaje de

programación con el que ha sido escrito el programa al lenguaje máquina del dispositivo en el

que se ejecutará.

El lenguaje algorítmico.

Es principalmente una herramienta didáctica para facilitar el aprendizaje de la algoritmia

y fomentar las buenas prácticas de la programación. Es un lenguaje estructurado que permite la

abstracción procedimental y de datos y forma parte de la Metodología para la solución de

problemas algorítmicos que está siendo desarrollada en el programa de Ingeniería de Sistemas de

la Escuela de Administración de Negocios (E.A. N.). Los algoritmos pueden describirse

utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con

mayor o menor detalle. La clasificación de los lenguajes para algoritmos puede enunciarse de la
siguiente manera: Lenguaje Natural, Lenguaje de Diagrama de Flujo, Lenguaje Natural de

Programación y Lenguaje de Programación de Algoritmos.

Lenguaje de Programación.

Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede

indicarse a la computadora los pasos a seguir para resolver un problema. Los lenguajes de

programación pueden clasificarse por diversos criterios, siendo el más común su nivel de

semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.

Partes de un algoritmo.

Todo algoritmo está compuesto por tres partes, que son indispensables para que las

instrucciones puedan ejecutarse.

 Entrada: son los requerimientos esenciales para llevar a cabo las instrucciones.

 Proceso: se trata del cuerpo de claves, instrucciones o pasos a seguir para ejecutar

el algoritmo.

 Salida: es la resolución o fin del proceso.

Características de los algoritmos.

Las características fundamentales que debe cumplir un algoritmo son:

 Precisión: Indica el orden de realización de cada paso dentro del proceso.

 Definición: Indica la exactitud y consistencia de los pasos descritos en el proceso, si el

algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado.

 Finitud: Indica el número razonable de pasos, los cuales deben conllevar a la finalización

del proceso y producir un resultado en un tiempo finito.


Elementos para construir un algoritmo.

 Comandos o Palabras reservadas: Todos los lenguajes, naturales o computacionales,

tienen palabras que denotan una acción. Los comandos no son más que acciones que debe

interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada,

es decir la forma de utilizarlo.

 Datos: Es un campo que puede convertirse en información. Un dato puede significar un

número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad,

una medida, una palabra o una descripción. La importancia de los datos está en su

capacidad de asociarse dentro de un contexto para convertirse en información. Los datos

simples pueden ser: Numéricos (Reales, Enteros), Lógicos y Carácter (Char, String).

 Constante: Es un dato que permanece con un valor, sin cambios, es decir constante, a lo

largo del desarrollo del algoritmo o a lo largo de la ejecución del programa. Se utiliza

cuando necesitamos que el valor de determinada variable se mantenga durante la

ejecución del programa o hasta tanto se requiera su cambio.

 Variable: Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en

el transcurso de la ejecución del programa. Una variable descrita o declarada de un tipo

determinado, sólo podrá contener, valores de ese tipo. Una variable declarada numérica

entera, no podrá contener números reales. Se utiliza cuando el dato que contiene sufrirá

cambios o variará en la medida que cambien los valores que maneje.

 Operadores aritméticos: Son utilizadas para construir fórmulas matemáticas. Las

variables y constantes utilizadas son de naturaleza numérica, es decir números enteros o

reales, y las operaciones a efectuar son de orden aritmético.


 Operadores relacionales: Los operadores relacionales sirven para expresar las

condiciones en los algoritmos. Las variables y constantes utilizadas son de distinta

naturaleza, el resultado de una expresión lógica y relacional es de tipo lógico.

 Operadores lógicos: Se utilizan en los programas cuando se requiere conocer o evaluar

si los valores de variables o constantes determinadas cumplen con ciertas condiciones. De

cumplirse o no, permiten un conjunto de instrucciones que pueden o no ejecutarse. Una

expresión lógica puede ser verdadera o falsa.

Expresar un algoritmo.

Podemos expresar un algoritmo de muchas maneras, incluyendo lenguaje natural,

diagramas de flujo, pseudocódigo y, por supuesto, en lenguajes de programación reales.

El lenguaje natural: es popular, pues se nos da naturalmente y puede comunicar los

pasos de un algoritmo a una audiencia general. Cuando desarrollamos algoritmos, a menudo

trabajamos con personas que saben programación y con algunos que no; pero todos conocen el

lenguaje natural.

Sin embargo, el lenguaje natural tiene inconvenientes. Tiende a ser ambiguo y a estar definido

vagamente, pues carece de estructura precisa. Esto dificulta que otros sigan un algoritmo y se

sientan seguros de que es correcto. Los diagramas de flujo y el pseudocódigo son formatos más

estructurados que pueden expresar un algoritmo de manera más precisa, y son populares con

científicos de computación y programadores.

Diagramas de flujo: Una manera más formal de expresar un algoritmo es con un

diagrama de flujo, un diagrama con cajas conectadas por flechas. Expresar un algoritmo como un
diagrama de flujo nos permite visualizar el algoritmo a nivel alto, además de que nos obliga a

pensar muy cuidadosamente en la secuenciación y selección. ¿Cuál flecha va a cuál nodo?

¿Faltan flechas? Estos son los tipos de preguntas valiosas que pueden surgir al traducir un

algoritmo a un diagrama de flujo.

Pseudocódigo: Finalmente la mayoría de los algoritmos se transforman en código para

ejecutar en una computadora. Antes de eso, los programadores a menudo prefieren expresar un

algoritmo en pseudocódigo: un código que utiliza construcciones de un lenguaje de

programación, pero que en realidad, no se ejecuta.

Aquí está el algoritmo del idioma ficticio escrito al estilo de pseudocódigo AP CSP:

FOR EACH word IN words Cada programador escribe pseudocódigo de manera

{ diferente, pues no hay un estándar oficial, así que puedes


APPEND(word, "-")
letter ← FIRST_LETTER(word) toparte con pseudo-código que se vea muy diferente. Expresar
IF (IS_VOWEL(letter))
{ un algoritmo en pseudocódigo ayuda a un programador a
APPEND(word, "ante")
} ELSE { pensar en términos familiares, sin preocuparse por la sintaxis y
APPEND(word, letter)
APPEND(word, "ente") detalles específicos. También les provee a los científicos de
REMOVE_FIRST(word)
} computación una forma independiente del lenguaje para
}
expresar un algoritmo, de manera que los programadores de

cualquier lenguaje puedan tomarla, leer el pseudo-código y traducirlo a su lenguaje favorito.


Traza de un algoritmo (corrida en frío): Se puede definir como la ejecución manual de

forma secuencial de las sentencias que lo componen. La función principal que posee realizar la

traza de un algoritmo es la de comprobar que éste funciona correctamente o para realizar la etapa

de depuración en la que se intenta corregir errores, simplificar el algoritmo al máximo e

incrementar su eficacia y velocidad.

La traza de un algoritmo (o programa) indica la secuencia de acciones (instrucciones) de

su ejecución, así como, el valor de las variables del algoritmo (o programa) después de cada

acción (instrucción).

Se conoce como Corrida en frío a la ejecución manual de cada sentencia del programa,

utilizando un conjunto de datos de entrada determinados y verificando que los resultados son

correctos. Como una técnica de

depuración, el programador debe

utilizar datos que permitan recorrer

todas las posibles rutas del

programa. Para el algoritmo de

cálculo del área de un

paralelepípedo: ancho = 3.0 largo

= 2.0 alto = 1.0 area = 2*(3.0*2.0

+ 3.0*1.0 + 2.0*1.0) = 22.0.


Introducción a los Estándares de calidad.

Todos los tipos de software a ser desarrollados requieren un control de calidad, sea

software de sistemas (Son programas que sirven a otros programas en el trabajo de desarrollo

como compiladores, editores), ingeniería y científico (es software que posee un amplio manejo

numérico usado en biología, astronomía, CAD), computación personal (software comercial de

uso local como procesadores de texto, hojas electrónicas, navegadores web, calendarios,

agendas, recetarios), inteligencia artificial (software de procesamiento especial sistemas

expertos, sistemas basados en el conocimiento, algoritmos no numéricos). Hoy día hay muchos

programadores pero no todos desarrollan sus programas con calidad, a este tipo de productos se

les llama software basura, algunos ni cuentan con un respaldo del programador, o simplemente

no tiene un soporte de calidad que se adapte al usuario. Por eso se presentan dos de los más

valiosos controles de calidad, como son la eficiencia y la efalgoritmo a ingeniería del software

pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones

eficientes y eficaces a los problemas informáticos, el éxito de un proyecto.

Construcción de un programa: El desarrollo de software es un proceso por el cual, dado

un problema, se encuentra un programa (o un conjunto de programas) que lo resuelva

eficientemente.

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 práctica 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.

Niveles de construcción de un programa.

 Programas de bajo nivel: Son programas que explotan las características propias de la

computadora por ejemplo rutinas gráficas, manejos de puertos, interfaces con el usuario,

etc. Con este tipo de programas no puede seguirse estrictamente las fases del diseño y

generalmente son rutinas que deben ser optimizadas, aun sacrificando su claridad (suelen

ser rutinas que solo estudiaran especialistas).

 Programas de alto nivel: Son programas que entregan resultados independientemente de

la máquina. Para construirlos hay que enlazar herramientas ya disponibles. En este tipo

de programas conviene seguir estrictamente las fases del diseño y generalmente no deben

ser optimizadas, ya que requiere claridad para que las entienda un no especialista. Para

facilitar el proceso de mantenimiento, hay que evitar mezclar niveles al construir rutinas.

En algunos momento se definió a la Calidad como: Lo que se hace bien y a la primera,

concepto erróneo ya que, no se puede determinar la calidad de un servicio, producto o proceso,

tomando en cuenta solo el aspecto de desarrollo, olvidando por completo al proceso de

depuración que inherentemente involucra una serie de corrección de errores, por lo que, la

definición de calidad está más allá de la observación de una parte de dicho proceso. La mayoría

de los clientes busca calidad al mejor precio, sin embargo, lo que puede ser excelente para

algunos, no lo es para otros. Cuando un individuo adquiere un producto o servicio, lo hace para

satisfacer una necesidad, pero siempre espera que la nueva adquisición funcione como lo
esperado, o al menos como se lo prometieron en el anuncio publicitario. Muchas veces la calidad

se paga, justificando de esta forma el dicho de que lo barato sale caro.

El significado de calidad puede adquirir múltiples interpretaciones, ya que todo

dependerá del nivel de satisfacción o conformidad del cliente. Sin embargo, las calidades del

resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del

consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado

por los clientes, podremos decir si éste es bueno o malo. Muchas veces el nivel de calidad se

mide de acuerdo a la reacción y preferencias del cliente. Desde el mismo momento en que éste

llega al establecimiento comercial, sabe exactamente qué va a comprar y dónde ubicarlo, va

directo al lugar donde se encuentra el producto de su preferencia. En ocasiones, no encontrará lo

que está buscando y por tanto se decidirá por otro producto de mayor o menor precio, sin

embargo, cuando su nivel de preferencia se afinca en una determinada marca, el cliente prefiere

seguir buscando en otros establecimientos en vez de resolverse con un producto sustitutivo.

También podría gustarte