You are on page 1of 11

Instituto de estudios superiores de Chiapas

universidad Salazar
07PSU0083E

Materia:
Algoritmos computacionales.
Tema:

UNIDAD 1.CONCEPTOS BSICOS.


UNIDAD 2.METODOLOGIA PARA LA RESOLUCIN DE
PROBLEMAS POR MEDIO DE COMPUTADORAS.
Docente:
Lorenzo Bastar
Alumnos:
Juan Arturo Pablo Lpez.
Luli Iveth Perez navarro.
Juan Rivas Hernndez.
Perdro Pablo Alpuche.
Roney de la Cruz Prez.

I.S.C
1 INGENIEROS DE SISTEMA COMPUTACIONALES

UNIDAD 1.CONCEPTOS BSICOS.


1.1.1 DE LOS PROBLEMAS A LOS PROGRAMAS.
Resolucin de problemas por computadoras.
La principal razn para que las personas aprendan lenguajes de Programacin es
utilizar un ordenador como una herramienta para la resolucin de problemas.
tres fases pueden ser identificadas en el proceso de resolucin :
-fase de identificacin (qu nos plantean)
-fase de resolucin del problema
-fase de implementacin (realizacin) en un lenguaje de programacin fase de
resolucin del problema esta fase incluye, a su vez, el anlisis de el problema as
como el diseo y posterior verificacin del algoritmo.
Anlisis del problema el primer paso para encontrar la solucin a un problema es
el anlisis del mismo. Se debe examinar cuidadosamente el problema a fin de
obtener una idea clara sobre lo que se solicita y determinar los datos necesarios
para conseguirlo.
Diseo del algoritmo. Un algoritmo puede ser definido como la secuencia
ordenada de pasos, sin ambigedades, que conducen a la resolucin de un
problema dado y expresado en lenguaje natural, por ejemplo el castellano, todo
algoritmo debe ser: metodologa de programacin, programacin en aplicaciones
electrnicas.
Tcnicas de programacin
1 parte: metodologa de programacin
-preciso: indicando el orden de realizacin de cada uno de los pasos.
-definido: si se sigue el algoritmo varias veces proporcionndole( consistente ) los
mismos datos, se deben obtener siempre los mismos resultados.
-finito: al seguir el algoritmo, este debe terminar en algn momento, es decir tener
un nmero finito de pasos.
Para disear un algoritmo se debe comenzar por identificar las tareas ms
importantes para resolver el problema y disponerlas en el orden en el que han de
ser ejecutadas. Los pasos en esta primera descripcin pueden requerir una
revisin adicional antes de que podamos obtener un algoritmo claro, preciso y
completo.

Este mtodo de diseo de algoritmos en etapas, yendo de los conceptos


generales a los de detalle, se conoce como mtodo descendente (top-Down). En
un algoritmo se deben de considerar tres partes:
-entrada: informacin dada al algoritmo.
-proceso: operaciones o clculos necesarios para encontrar la solucin del
problema.
-salida: respuestas dadas por el algoritmo o resultados finales de los procesos
realizados.

1.1.2 BREVES PRCTICAS DE PROGRAMACIN


BREVES PRACTICAS DE PROGRAMACION
Todo tiene un inicio y la excepcin no son los algoritmos comenzamos con un
problema cualquiera la bombilla no prende:
1 revisar si la bombilla est bien apretada
(Si prende se acab el problema si no seguimos con el paso2)
2 revisar en otro lugar si hay luz en la casa
3 si nada de esto funciona revisar si la bombilla esta fundida y en este caso
comprar otra
As es como sirve un algoritmo son unos pasos que nos sirven para darle solucin
a un problema tan simple como que no prende la bombilla solo que en un
algoritmo se representa grficamente y se da un inicio y un orden por medio de
flechas

NOTA: con el programa (DFD) es donde podemos crear nuestros algoritmos y


darle solucin a los problemas.

1.2 DEFINICIN DE LENGUAJE


Un lenguaje de programacin es un lenguaje formal diseado para expresar
procesos que pueden ser llevados a cabo por mquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento fsico y


lgico de una mquina, para expresar algoritmos con precisin, o como modo de
comunicacin humana.

Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que


definen su estructura y el significado de sus elementos y expresiones. Al proceso
por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el cdigo fuente de un programa informtico se le llama programacin.
El desarrollo lgico del programa para resolver un problema en particular.
Escritura de la lgica del programa empleando un lenguaje de programacin
especfico (codificacin del programa).

1.3 DEFINICIN DE ALGORITMO


Algoritmo
Los diagramas de flujo sirven para representar algoritmos de manera grfica.
En matemticas, lgica, ciencias de la computacin y disciplinas relacionadas, un
algoritmo (del griego y latn, dixit algoritmos y este a su vez del matemtico persa
Al-Juarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se
obtiene una solucin. Los algoritmos son el objeto de estudio de la algoritmia.1
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 por
parte de su patrn. Algunos ejemplos en matemtica son el algoritmo de
multiplicacin, para calcular el producto, el algoritmo de la divisin para calcular el
cociente de dos nmeros, el algoritmo de Euclides para obtener el mximo comn
divisor de dos enteros positivos, o el mtodo de Gauss para resolver un sistema
lineal de ecuaciones.

1.4 ALGORITMOS COTIDIANOS


Se refiere a todos aquellos algoritmos que nos ayudan a resolver problemas
diarios, y que los hacemos casi sin darnos cuenta de que estamos siguiendo una
metodologa para resolverlos.
Ejemplos.
Disear un algoritmo para cambiar una llanta a un coche.
Pasos del algoritmo
Inicio.

Traer gato.
Levantar el coche con el gato.
Aflojar tornillos de las llantas.
Sacar los tornillos de las llantas.
Quitar la llanta.
Poner la llanta de repuesto.
Poner los tornillos.
Apretar los tornillos.
Bajar el gato.
Fin
Un cliente ejecuta un pedido a una fbrica. La fbrica examina en su banco de
datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el
pedido, en caso contrario rechazar el pedido.

1.5 DEFINICIN DE LENGUAJES ALGORTMICOS


Definicin de Lenguajes Algortmicos.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de
estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificacin de los lenguajes para algoritmos puede enunciarse de la siguiente
manera:
Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programacin.
Lenguaje de Programacin de Algoritmos.
Lenguaje Natural.
Es aqul que describe en espaol, para nuestro caso, los pasos a seguir utilizando
un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan
trminos especializados de una determinada ciencia, profesin o grupo.
Lenguaje de Diagrama de Flujo.

Es aqul que se vale de diversos smbolos para representar las ideas o acciones a
desarrollar. Es til para organizar las acciones o pasos de un algoritmo pero
requiere de etapas posteriores para implementarse en un sistema de cmputo.
Lenguaje Natural de Programacin.
Son aqullos que estn orientados a la solucin de problemas que se definen de
una manera precisa. Generalmente son aplicados para la elaboracin de frmulas
o mtodos cientficos.
El lenguaje natural tiene las siguientes caractersticas:
Evita la ambigedad (algo confuso que se puede interpretar de varias maneras).
Son precisos y bien definidos.
Utilizan trminos familiares al sentido comn.
Elimina instrucciones innecesarias.
Lenguaje de Programacin de Algoritmos.
Es aqul que se utiliza para introducir en la computadora un algoritmo especfico.
Se les conoce tambin como Lenguaje de Programacin.

1.6
HISTORIA
ALGORTMICOS

APLICACIN

DE

LOS

LENGUAJES

HISTORIA Y APLICACION DE LOS LENGUAJES ALGORITMICOS


Al igual que los idiomas sirven de vehculo de comunicacin entre los seres
humanos, existen lenguajes que realizan la comunicacin entre los seres humanos
y las computadoras. Estos lenguajes permiten expresar los programas o el
conjunto de instrucciones que el operador humano desea que la computadora
ejecute.
Los lenguajes de computadoras toman diferentes formas; los de las primeras
computadoras, como la ENIAC y la EDSAC, se componan en el lenguaje real de
las mquinas mismas. La dificultad de programar las mquinas de esta manera
limitaba drsticamente su utilidad y proporcionaba un fuerte incentivo para que se
desarrollaran lenguajes de programacin ms orientados hacia la expresin de
soluciones con la notacin de los problemas mismos.
Los primeros lenguajes de programacin se conocieron como Lenguajes
Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora
FERUT. En los lenguajes ensambladores se define un cdigo especial llamado
mnemnico para cada una de las operaciones de la mquina y se introduce una
notacin especial para especificar el dato con el cual debe realizarse la operacin.

A mediados de los aos 60s aparecieron los primeros lenguajes de propsito


general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,
C++, PASCAL, etc. pero el desarrollo de nuevas tecnologas, tanto en arquitectura
de computadoras como en lenguajes de programacin, contina a paso acelerado,
cada vez con mayor velocidad, el panorama est cambiando de una etapa de
sistemas y lenguajes especialmente desarrollados para aplicaciones individuales.
Los lenguajes de programacin actuales son los conocidos como Lenguajes
visuales, como por ejemplo Visual Fox, Visual Basic, Visual C.

UNIDAD 2.METODOLOGIA PARA LA RESOLUCIN


PROBLEMAS POR MEDIO DE COMPUTADORAS.

DE

2.1 DEFINICIN DEL PROBLEMA


La resolucin de un problema mediante un ordenador consiste en el proceso que a
partir de la descripcin de un problema, expresado habitualmente en lenguaje
natural y en trminos propios del dominio del problema, permite desarrollar un
programa que resuelva dicho problema.
Este proceso exige los siguientes pasos:
Anlisis del problema.
Diseo o desarrollo de un algoritmo.
Transformacin del algoritmo en un programa (codificacin).
Ejecucin y validacin del programa.
Los dos primeros pasos son los ms difciles del proceso. Una vez analizado el
problema y obtenido un algoritmo que lo resuelva, su transformacin a un
programa de ordenador es una tarea de mera traduccin al lenguaje de
programacin deseado.

2.2 ANLISIS DE LOS DATOS


Cuando un usuario plantea a un programador un problema que resolver mediante
su ordenador, por lo general ese usuario tendr conocimientos ms o menos
amplios sobre el dominio del problema, pero no es habitual que tenga
conocimientos de informtica. Por ejemplo, un contable que necesita un programa
para llevar la contabilidad de una empresa ser un experto en contabilidad
(dominio del problema), pero no tiene por qu ser experto en programacin.
Del mismo modo, el informtico que va a resolver un determinado problema puede
ser un experto programador, pero en principio no tiene por qu conocer el dominio

del problema; siguiendo el ejemplo anterior, el informtico que hace un programa


no tiene por qu ser un experto en contabilidad.
Por ello, al abordar un problema que se quiere resolver mediante un ordenador, el
programador necesita de la experiencia del experto del dominio para entender el
problema. Al final, si se quiere llegar a una solucin satisfactoria es necesario que:
El problema est bien definido con el mximo detalle
Las especificaciones de las entradas y salidas del problema, deben ser descritas
tambin en detalle:
Qu datos son necesarios para resolver el problema?
Qu informacin debe proporcionar la resolucin del problema?

2.3 DISEO DE LA SOLUCIN


1. identificar el problema
Es el primer paso, para la identificacin de objetivos estratgicos de desarrollo
2. planteamiento de alternativa de solucin
Es la accin que permite eliminar las diferencias entre lo que queremos y
tenemos; para un mismo problema se puede tener varias soluciones
3. eleccin de alternativa
Despus de tener todo el repertorio de alternativas, es necesario pasar a otra
etapa: la eleccin de la mejor entre todas las posibilidades. Esta fase es muy
importante porque de la eleccin realizada depende el avance final hasta la
solucin. La orientacin hacia delante supone la irreversibilidad si la decisin es
acertada o una "reversibilidad onerosa", puedes si la decisin no es acertada, es
necesario retroceder, lo que afecta la "optimizad" del proceso.
4. desarrollo de la solucin
En esta fase, a partir de los datos relacionados con la alternativa seleccionada, se
aplican las operaciones necesarias para solucionar el problema
5. evaluacin de la solucin.
Consiste en determinar que la solucin obtenida es lo que se esperaba conseguir
comprobando que el resultado sea correcto.

2.4 CODIFICACIN.
En informtica, la codificacin es tambin aquella operacin que tiene lugar para
enviar datos de un lugar a otro, procesarlos y obtener resultados a partir de ellos.
Todas las operaciones informticas estn cifradas en cdigo binario, o bien,
combinaciones ms o menos complejas de unos y ceros que ocurren
constantemente.
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a
la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones
detalladas en un cdigo reconocible por la computadora, la serie de instrucciones
detalladas se le conoce como programa fuente, el cual se escribe en un lenguaje
de programacin o lenguaje alto nivel.

Existen diversos tipos de lenguaje de alto nivel, de acuerdo al tipo de problema


que se desea resolver, clasificndose en problemas: matemticos, cientficos,
administrativos o comerciales.

2.5 PRUEBA Y DEPURACIN.


Los errores humanos dentro de la programacin de computadoras son muchos y
aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solucin sin errores se le llama
Depuracin.
La Depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo
de la solucin, por ello se debe considerar con el mismo inters y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuracin,
ya que de este trabajo depende el xito de nuestra solucin.
a) Trate de iniciar la prueba de un programa con una mentalidad saboteadora, casi
disfrutando la tarea de encontrar algn error.
b) Sospeche de todos los resultados que le arroje la solucin, con lo cual deber
verificar todos.
c) Considerar todas las situaciones posibles normales y an algunas de las
anormales.

2.6 DOCUMENTACIN.
Es la gua o comunicacin escrita en sus variadas formas, ya sean en enunciados,
procedimientos, dibujos o diagramas. A menudo un programa escrito por una
persona, es usado por muchas otras. Por ello la documentacin sirve para ayudar
a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento).
La documentacin debe presentarse en tres formas, externa, interna y al usuario
final. La primera debe estar integrada por los siguientes elementos:
a) Descripcin del problema.
b) Nombre del autor.
c) Diagrama de flujo y/o pseudocdigo.
d) Lista de variables y constantes.
e) Codificacin del programa.
En lo referente a la documentacin interna, sta lo constituyen los comentarios o
mensajes que agregan al cdigo, para hacer ms claro el entendimiento del
proceso. A la documentacin para el usuario se le conoce como manual del
usuario. En este manual no existe informacin de tipo tcnico, sino la descripcin
del funcionamiento del programa.

2.7 MANTENIMIENTO
El mantenimiento informtico, o tambin llamado soporte informtico, consiste en
una serie de tareas que son llevadas a cabo por personal interno o por empresas
especializadas para mantener en determinados niveles de servicio los sistemas
informticos.
Cada vez es ms comn ver departamentos informticos internos que se apoyan
en ciertos servicios externalizados. Uno de los servicios que conviene valorar en
este sentido es el mantenimiento informtico, a travs de servicios personalizados
prestados por compaas expertas en esta rea.
A grandes rasgos podemos diferenciar el mantenimiento de sistemas informticos
en tres categoras: mantenimiento de ordenadores, mantenimiento de servidores y
mantenimiento de aplicaciones software, o este ltimo tambin conocido como
desarrollo de software como servicio.

El mantenimiento de ordenadores consiste bsicamente en el cuidado preventivo y


correctivo de los equipos informticos de una empresa. Actualizaciones de
hardware y software, revisin de espacio en disco, desfragmentacin, etc.
El mantenimiento de servidores es un poco ms complejo y requiere de personal
con elevada cualificacin tcnica y de confianza. Dado que en los servidores
suele encontrarse la informacin ms crtica de la empresa. Tareas comunes de
este mantenimiento son la actualizacin de software y hardware, las copias de
seguridad, el visionado de los, anlisis de rendimiento, etc.
Y por ltimo el mantenimiento de aplicaciones software. En este aspecto lo ms
interesante y lo que mejores resultados est dando es el desarrollo de software
como servicio. Se trata de contar con tcnicos especializados para mantener y
actualizar las aplicaciones software que la compaa haya desarrollado o que
tenga en desarrollo.
La razn fundamental para contratar servicios externalizados de mantenimiento
informtico es porque nos ponemos en manos de especialistas en la materia. Los
cuales van a estar informados de las ltimas tecnologas y otros aspectos
relevantes de la disciplina. A parte de las ventajas financieras que supone la
externalizacin.
En resumen, el mantenimiento informtico, es un servicio especializado que cubre
las tareas necesarias para que nuestro sistema se encuentre en las mejores
condiciones en todo momento.