Está en la página 1de 16

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Universitaria, Ciencia y tecnología


UTPEB – PNF INFORMÁTICA
SECCIÓN 1M - TRAYETO I
Unidad I

Algoritmos y Programas

Profesor: Integrantes:
Luis Bastardo Angela Gutierrez C.I 27577786
Yanielys Rojas C.I 27956548
Angel Navarro C.I 28140810
Erika Sifontes C.I 28504874

Ciudad Bolívar 13/02/2019


Algoritmo
Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas
que permiten llevar a cabo una actividad mediante pasos sucesivos que no generen
dudas a quien deba hacer dicha actividad. Dados un estado inicial y una entrada,
siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.
Los algoritmos son el objeto de estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su
patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para
calcular el producto, el algoritmo de la división para calcular el cociente de dos
números, el algoritmo de Euclides para obtener el máximo común divisor de dos
enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones
lineales.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su
patrón
En términos de programación, un algoritmo es una secuencia de pasos lógicos que
permiten solucionar un problema.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.
Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje
natural. Dichas expresiones son formas más estructuradas para representar
algoritmos; no obstante, se mantienen independientes de un lenguaje de
programación específico.

La descripción de un algoritmo usualmente se hace en tres niveles:

1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo


matemático y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
2. Descripción formal. Se usa pseudocódigo para describir la secuencia de
pasos que encuentran la solución.
3. Implementación. Se muestra el algoritmo expresado en un lenguaje de
programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto,
un análisis de complejidad o ambos.

Programas

Un programa informático o programa de computadora es una secuencia de


instrucciones, escritas para realizar una tarea específica en una computadora. Este
dispositivo requiere programas para funcionar, por lo general, ejecutando las
instrucciones del programa en un procesador central. El programa tiene un formato
ejecutable que la computadora puede utilizar directamente para ejecutar las
instrucciones. El mismo programa en su formato de código fuente legible para
humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados),
le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de
programas de computadora y datos relacionados se conoce como software.
Generalmente, el código fuente lo escriben profesionales conocidos como
programadores de computadora. Este código se escribe en un lenguaje de
programación que sigue uno de los siguientes dos paradigmas: imperativo o
declarativo, y que posteriormente puede ser convertido en un archivo ejecutable
(usualmente llamado un programa ejecutable o un binario) por un compilador y más
tarde ejecutado por una unidad central de procesamiento. Por otra parte, los
programas de computadora se pueden ejecutar con la ayuda de un intérprete, o
pueden ser empotrados directamente en hardware.
De acuerdo a sus funciones, los programas informáticos se clasifican en software
de sistema y software de aplicación.

Lenguaje de un algoritmo
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita
un proceso. Teniendo en cuenta la forma en que describen el proceso, existen dos
tipos de lenguajes algorítmicos:
 Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
 No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocódigo).
Lenguaje de programación
Es un lenguaje formal que especifica una serie de instrucciones para que una
computadora produzca diversas clases de datos. Los lenguajes de programación se
usan para crear programas de computadora. Un lenguaje de programación permite
poner algoritmos en práctica, los cuales controlan el comportamiento físico y lógico
de una computadora.
Está formado por un conjunto de símbolos (llamado alfabeto), reglas gramaticales
(léxico/morfológicas y sintácticas) y reglas semánticas, que en conjunto definen las
estructuras válidas en el lenguaje y su significado. Al proceso por el cual se escribe,
se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente
de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un
programa de computadora, mediante la aplicación de procedimientos lógicos, a
través de los siguientes pasos:
 El desarrollo lógico del programa para resolver un problema en particular.
 Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
 Prueba y depuración del programa.
 Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de
programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los
lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para
el marcado de páginas web que no es propiamente un lenguaje de programación,
sino un conjunto de instrucciones que permiten estructurar el contenido de los
documentos).
Permite especificar de manera precisa sobre qué datos debe operar una
computadora, cómo deben ser almacenados o transmitidos y qué acciones debe
tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje
que intenta estar relativamente próximo al lenguaje humano o natural. Una
característica relevante de los lenguajes de programación es precisamente que más
de un programador pueda usar un conjunto común de instrucciones que sean
comprendidas entre ellos para realizar la construcción de un programa de forma
colaborativa.
Los lenguajes de Programación

1) Java
Reconocido por su legibilidad y simplicidad, Java es uno de los lenguajes de
programación más adoptados: más 9 millones de desarrolladores lo usan y está
presente en 7 mil millones de dispositivos en todo el mundo. Desde 2001 se
mantiene en las primeras posiciones, llegando al número puesto número 2 como la
más baja de todas en marzo de 2015.

Su enorme popularidad se debe a su poder de permanencia, cuestión que asegura


el funcionamiento a largo plazo de las aplicaciones que lo utilizan.

Asimismo, cabe destacar que el manejo de Java está incluido dentro de las 20
habilidades más valoradas por los empleadores en 2016, según un estudio
elaborado por LinkedIn.

¿Te gustaría saber más? Conocé 4 cursos online gratuitos para que aprendas a
programar en Java y comenzá a estudiar hoy mismo. Si sos de Córdoba, informate
sobre la Carrera de Web Developer que ofrece el Instituto Superior Santo Domingo.

2) C
Creado entre 1969 y 1972 en los Laboratorios Bell, es uno de los más utilizados en
el mundo. Si bien es ejecutado en la mayoría de los sistemas operativos, es de
propósito general, con lo cual es muy flexible.

Es muy popular para el desarrollo de aplicaciones de escritorio, como el conocido


editor gráfico GIMP.

Conocé el Curso de Diseño de Sitios Web y Maquetación HTML de la Nueva


Escuela de Diseño y Comunicación en Balvanera.

3) C++
Conocido por el nombre “C Plus Plus”, este lenguaje de programación orientado a
objetos surge como una continuación y ampliación del C. Hay una gran cantidad de
programas escritos en C++, como por ejemplo los paquetes de Adobe.

4) Python
Un lenguaje de programación multiplataforma y multiparadigma, que también es de
propósito general. Esto significa que soporta la orientación a objetos, la
programación imperativa y funcional. Su simpleza, legibilidad y similitud con el
idioma inglés lo convierten en un gran lenguaje ideal para principiantes.

5) C#
También llamado “C Sharp”, este lenguaje de programación orientado a objetos fue
desarrollado en el año 2000 por Microsoft para ser empleado en una amplia gama
de aplicaciones empresariales ejecutadas en el framework .NET. C Sharp es una
evolución del C y C++ que se destaca por su sencillez y modernidad.

Tal vez te pueda interesar la Certificación Oracle de Java (OCJP Oracle Certified
Java Programmer) que brinda la UTN de forma online.

6) Visual Basic. NET


Pasó del número 9 en junio de 2016 al sexto lugar en 2017. Es utilizado por una
gran cantidad de personas a lo largo del mundo que no cuentan con conocimientos
profundos como desarrolladores, quienes encuentran en visual basic, además de
una sintaxis sencilla, la posibilidad de automatizar sus propios procesos y crear sus
propias aplicaciones web.

Es visto como uno de los lenguajes más amigables para los que recién comienzan,
sobre todo a comparación de C#.

7) JavaScript
Antes que nada, no confundir con Java. Son lenguajes distintos. Javascript es un
lenguaje de programación que puede ser utilizado para crear programas que luego
son acoplados a una página web o dentro de programas más grandes. Sirve para
crear efectos y realizar acciones interactivas.
Podemos ver funcionando este lenguaje en servicios como el chat, calculadoras,
buscadores de información y un sin fin de utilidades más.

Conocé la Certificación MCSD 70-480 Programming in HTML with Javascript and


CSS3 que ofrece la UTN de forma online.

8) PHP
Creado en 1994 por el programador canadiende Rasmus Lerdorf, nunca pretendió
ser un lenguaje de programación, sino que fue creado con la intención de contar
con un conjunto de herramientas para el mantenimiento de las páginas web.

Es de fácil acceso para nuevos programadores y a su vez ofrece a los más


experientes muchas posibilidades.

Conocé el Curso Online sobre Diseño de Páginas Web que dicta la Nueva Escuela
de Comunicación.

9) Perl
Creado Larry Wall, Pearl es una sigla que significa Practical Extraction and Report
Language. Es un lenguaje de propósito general que sirve practicamente para todo,
como puede ser la generación y tratamiento de ficheros, para analizar datos y
textos, y muchas otras cosas más. Si bien hay proyectos complejos y completos
escritos en Pearl, son los menos.
10) Assembly lenguaje (ASL)
Assembly lenguaje (lenguaje ensamblador) saltó de la posición número 12 en 2016
al número 10 en 2017. Se trata de un lenguaje de programación de bajo nivel
utilizado para interactuar con hardware informático.

Utiliza comandos estructurados, en sustitución de los números, permitiendo a las


personas tener una mayor legibilidad de los códigos. Si bien es más sencillo de leer
que el código binario se trata de un lenguaje difícil que muchas veces es sustituido
por uno superior, como por ejemplo C.
PARTES DE UN ALGORITMO

Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir:


entrada, proceso y salida.

Donde:

ENTRADA

Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer
los resultados esperados.

PROCESO

Pasos necesarios para obtener la solución del problema o la situación planteada.

SALIDA

Resultados arrojados por el proceso como solución.

En el ejemplo del algoritmo de la sumatoria de los dos números, tenemos:

ENTRADA

Valores de de las variables A y B.

PROCESO

Asignar a la variable Suma, el valor de A mas el valor de B.


SALIDA

Impresión del valor de la variable Suma, que contiene la sumatoria

de los valores de A y B.

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.

DEFINICION

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.
Al diseñar un algoritmo se debe tener presente las características de precisión,
definición y finitud.

Visualicemos estas características a través del siguiente ejemplo:

Ejemplo: Algoritmo para hacer una torta

Entrada: Harina de trigo, mantequilla, huevos, sal, azúcar

Proceso: 1.- Unir la mantequilla con el azúcar

2.- Batir hasta lograr consistencia cremosa

3.- Agregar harina de trigo, huevos, sal y azúcar

4.- Batir hasta que esponje

5.- Precalentar el horno, en 250 °, y enmantequillar tortera

6.- Una vez logre la consistencia de esponjado, colocar en la tortera

7.- Introducir en el horno por espacio de 45 minutos

Salida:

Torta
ELEMENTOS PARA LA CONSTRUCCIÓN DE UN ALGORITMO

Definíamos algoritmo como un conjunto de pasos conducentes a resolver un


problema, cada uno de esos pasos, corresponde a lo que se denomina en el
programa, una instrucción, aunque pudiera darse que, en una instrucción se junten
dos o más pasos.
Aprender a realizar un algoritmo se fundamenta en lo que se persigue lograr con su
desarrollo; debido a que no existe un método único para resolver problemas se
estudian diferentes métodos de resolución o modelos de construcción para lograr la
generación del resultado deseado.
Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de
instrucciones o pasos en los que se describe su inicio, desarrollo o proceso y salida
o resultado del algoritmo; elaborados para lograr resolver un problema.
Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad
de resolver un problema, a continuación se describen los elementos que se utilizan
en la construcción de una instrucción.

Instrucción o sentencia
Dependiendo del origen del material instruccional se habla de instrucción o
sentencia; ésta, define una acción o un mandato que se debe realizar, esa acción o
mandato se representa a través de un comando o lo que es lo mismo palabras
reservadas de un lenguaje de programación en particular. Una instrucción esta
compuesta por uno o más comandos (acción), datos, símbolos, variables o
constantes y expresiones, que en conjunto representan una instrucción o sentencia.
Ejemplo de instrucción: En la construcción de los programas se estila utilizar una
instrucción por línea. Así mismo, se utiliza la identación, que no es más que la
alineación de aquellas instrucciones dentro de las estructuras que las contienen de
manera ordenada que permita visualizar el inicio y fin de cada bloque de
instrucciones.

Si ASISTIO =”SI” Entonces


Leer Sueldo,
Asignar Sueldo = Sueldo + HoraExtra
Fin Si
Donde:
SI
Representa una estructura condicional utilizada para establecer preguntas
o programar ciertas condiciones

ASISTIO
Nombre de una Variable lógica que puede obtener sólo dos valores “SI”

o “NO”. En el ejemplo se programa la condición de la variables cuando


es “SI”

ENTONCES

Parte de la instrucción o estructura condicional

LEER SUELDO

Instrucción utilizando el comando cuya acción es la lectura de un campo


o dato

Asignar SUELDO=
SUELDO+HORAEXTRA

Instrucción de asignación, permite asignar o calcular el valor que adquirirá


una variable
Fin SI

Cierra la estructura condicional Si –Entonces –Fin Si


FORMAS DE REPRESENTAR UN ALGORITMO
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.

Lenguaje natural
Son aquellas lenguas que han sido generadas espontáneamente en un grupo de
hablantes con propósito de comunicarse, a diferencia de otras lenguas, como
puedan ser una lengua construida, los lenguajes de programación o los lenguajes
formales usados en el estudio de la lógica formal, especialmente la lógica
matemática.
Los algoritmos escritos en este lenguaje se caracterizan por seguir un proceso de
ejecución común y lógico, describiendo textualmente paso a paso cada una de las
actividades a realizar para resolver un problema determinado.
Los inconvenientes de escribir algoritmos en este lenguaje son: la ambigüedad, la
no universalidad y la amplitud del mismo lo cual genera errores y no puede ser
interpretado correctamente por el computador.

Pseudocódigo
Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje
natural con algunas convenciones sintácticas propias de lenguajes de
programación, como asignaciones, ciclos y condicionales, aunque no está regido
por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones
científicas, y como producto intermedio durante el desarrollo de un algoritmo, como
los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es
que los algoritmos descritos en pseudocódigo requieren menos espacio para
representar instrucciones complejas.
El pseudocódigo está pensado para facilitar a las personas el entendimiento de un
algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en
una implementación. Programadores diferentes suelen utilizar convenciones
distintas, que pueden estar basadas en la sintaxis de lenguajes de programación
concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin
necesidad de conocer o utilizar un entorno de programación específico, y es a la
vez suficientemente estructurado para que su implementación se pueda hacer
directamente a partir de él.
Diagramas de Flujo
Son descripciones gráficas de algoritmos; usan símbolos conectados con flechas
para indicar la secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que
abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura
son usados como introducción a los algoritmos, descripción de un lenguaje y
descripción de procesos a personas ajenas a la computación.
Traza de un algoritmo (corrida en frío)

La traza de un algoritmo se puede definir como la ejecución manual de forma


secuencial de las sentencias que lo componen. 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).

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.

También podría gustarte