APPS 4ºCLorena Rodríguez Turrubiates1.*Desarrollar el proceso de solución de unproblema.*1.1. Identificar el problemaDefin...
APPS 4ºCLorena Rodríguez Turrubiates1.2. Análisis del problemaEsta fase requiere una claradefinición del problema, dondese...
APPS 4ºCLorena Rodríguez Turrubiates¿Qué datos se necesitan para resolver el problema?La respuesta a la primera pregunta i...
APPS 4ºCLorena Rodríguez Turrubiates1.3. Elaborar algoritmos de la solución delproblemaUn algoritmo es un conjuntoprescrit...
APPS 4ºCLorena Rodríguez TurrubiatesEs decir que todo algoritmo calcula una función donde cadanúmero natural es la codific...
APPS 4ºCLorena Rodríguez Turrubiatesuna salida satisfactoria, sino que el éxito estaría definido en función delas secuenci...
APPS 4ºCLorena Rodríguez TurrubiatesNo puede hacerse mucho hincapié en documentación, ósea el registrode Información .Sin ...
APPS 4ºCLorena Rodríguez Turrubiates1.5. Crear Pseudocódigo de la solución delproblemaEl pseudocódigo se trata de una herr...
APPS 4ºCLorena Rodríguez TurrubiatesEn vez de escribir el programa directamente en un lenguaje deprogramación determinado ...
APPS 4ºCLorena Rodríguez TurrubiatesGracias a esta herramienta, podemos reunir a todos los programadores,dar las pautas de...
APPS 4ºCLorena Rodríguez TurrubiatesEstructura a seguir en su realización:1. Cabecera.1. Programa.2. Módulo.3. Tipos de da...
APPS 4ºCLorena Rodríguez TurrubiatesA continuación se muestra un ejemplo de prueba de escritorio delsiguiente algoritmo:su...
APPS 4ºCLorena Rodríguez TurrubiatesINSTRUCCIÓN entrada menor suma Pantallaleer entrada 10menor = entrada 10suma :=0 0suma...
Próxima SlideShare
Cargando en…5
×

Unidad 1

165 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
165
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad 1

  1. 1. APPS 4ºCLorena Rodríguez Turrubiates1.*Desarrollar el proceso de solución de unproblema.*1.1. Identificar el problemaDefinición del problemaRequiere que el problema seadefinido y comprendidoclaramente para que pueda seranalizado con todo detalleEstá dada por el enunciado delproblema, el cuál debe ser claro ycompleto. Es importante queconozcamos exactamente que sedesea del computador; mientrasqué esto no se comprenda, notiene caso pasar a la siguienteetapa. .Identifica lo que quieres lograr. Aprender programación decomputadoras permite aprender a crear juegos de computadora, haceraplicaciones para tu teléfono celular o construir el próximo sitio web. Laprogramación de computadoras es un pasatiempo divertido ygratificante, y tus nuevas habilidades pueden ayudarte a alcanzar tusmetas personales, como el progreso en el trabajo o un cambio decarrera. Tener una meta en mente te ayudará a empezar y mantener laconcentración.Elige un lenguaje de computadora. Busca sitios y grupos de discusiónrelacionados con tu objetivo y hazte una idea de qué lenguajes estánutilizando otros desarrolladores de software. Por ejemplo, si deseasdesarrollar aplicaciones web, comienza con JavaScript o PHP. C++ yJava son populares lenguajes de programación de juegos. En losentornos de negocio, lenguajes .NET, como Visual Basic y C# son de usogeneral. No hay respuesta "correcta". Una vez que aprendes aprogramar en un lenguaje de programación, descubrirás que elaprendizaje de un segundo lenguaje es más fácil. Si no estás seguro dellenguaje para empezar, elige un popular lenguaje orientado a objetos,como C++, Java o C#.
  2. 2. APPS 4ºCLorena Rodríguez Turrubiates1.2. Análisis del problemaEsta fase requiere una claradefinición del problema, dondese contemple lo que debehacer el programa y elresultado o solución deseada.Dado que se busca unasolución por computadora, seprecisan especificacionesdetalladas de entrada y salida.Para poder definir bienun problema es convenienteresponder a las siguientespreguntas:¿Qué entradas se requieren (tipo y cantidad)?¿Cuál es la salida deseada (tipo y cantidad)?¿Qué método produce la salida deseada?El propósito del análisis de un problema es ayudar al programador parallegar a una cierta comprensión de la naturaleza del problema. Elproblema debe estar bien definido si se desea llegar a una soluciónsatisfactoria.Para poder definir con precisión el problema se requiere que lasespecificaciones de entrada, proceso y salida sean descritas condetalles. Entrada, son todos los datos que hay que ingresar para la resolucióndel problema. Proceso, son los diferentes procedimientos en los cuales usare losdatos proporcionados por el usuario en el paso anterior para resolver elproblema. Salida, la resolución del problema.Una buena definición del problema, junto con una descripción detalladade las especificaciones de entrada y salida, son los requisitos másimportantes para llegar a una solución eficaz.El análisis del problema exige una lectura previa del problema a fin deobtener una idea general de lo que se solicita. La segunda lecturadeberá servir para responder a las preguntas:¿Qué información debe proporcionar la resolución del problema?
  3. 3. APPS 4ºCLorena Rodríguez Turrubiates¿Qué datos se necesitan para resolver el problema?La respuesta a la primera pregunta indicara los resultados deseados olas salidas del problema. La respuesta a la segunda pregunta indicaraque datos proporcionan o las entradas del problema.En esta fase debemos aprender a analizar la documentación de laempresa, investigar, observar todo lo que rodea el problema.
  4. 4. APPS 4ºCLorena Rodríguez Turrubiates1.3. Elaborar algoritmos de la solución delproblemaUn algoritmo es un conjuntoprescrito de instrucciones oreglas bien definidas, ordenadasy finitas que permite realizaruna actividad mediante pasossucesivos que no generen dudasa quien deba realizar dichaactividad. Dados un estadoinicial y una entrada, siguiendolos pasos sucesivos se llega aun estado final y se obtiene unasolución. Los algoritmos son el objeto de estudio de laalgoritmia.1En la vida cotidiana, se emplean algoritmos frecuentemente pararesolver problemas. Algunos ejemplos son los manuales de usuario, quemuestran algoritmos para usar un aparato, o las instrucciones querecibe un trabajador por parte de su patrón. Algunos ejemplosen matemática son el algoritmo de la división para calcular el cocientede dos números, el algoritmo de Euclides para obtener el máximocomún divisor de dos enteros positivos, o el método de Gauss pararesolver un sistema lineal de ecuaciones.Algoritmos como funcionesArtículo principal: Teoría de la computabilidad.Esquemática de un algoritmo solucionando un problema de ciclo hamiltoniano.Un algoritmo se puede concebir como una función que transforma losdatos de un problema (entrada) en los datos de una solución (salida).Más aun, los datos se pueden representar a su vez como secuenciasde bits, y en general, de símbolos cualesquiera.1 9 11 Como cadasecuencia de bits representa a un número natural(véase Sistemabinario), entonces los algoritmos son en esencia funciones de losnúmeros naturales en los números naturales que sí se pueden calcular.
  5. 5. APPS 4ºCLorena Rodríguez TurrubiatesEs decir que todo algoritmo calcula una función donde cadanúmero natural es la codificación de un problema o de una solución.En ocasiones los algoritmos son susceptibles de nunca terminar, porejemplo, cuando entran a un bucle infinito. Cuando esto ocurre, elalgoritmo nunca devuelve ningún valor de salida, y podemos decir quela función queda indefinida para ese valor de entrada. Por esta razón seconsidera que los algoritmos son funciones parciales, es decir, nonecesariamente definidas en todo su dominio de definición.Cuando una función puede ser calculada por medios algorítmicos, sinimportar la cantidad de memoria que ocupe o el tiempo que se tarde, sedice que dicha función es computable. No todas las funciones entresecuencias datos son computables. El problema de la parada es unejemplo.Análisis de algoritmosComo medida de la eficiencia de unalgoritmo, se suelen estudiar losrecursos (memoria y tiempo) queconsume el algoritmo. El análisis dealgoritmos se ha desarrollado paraobtener valores que de alguna formaindiquen (o especifiquen) la evolucióndel gasto de tiempo y memoria enfunción del tamaño de los valores deentrada.El análisis y estudio de los algoritmoses una disciplina de las ciencias de lacomputación y, en la mayoría de loscasos, su estudio es completamenteabstracto sin usar ningún tipo de lenguaje de programación ni cualquierotra implementación; por eso, en ese sentido, comparte lascaracterísticas de las disciplinas matemáticas. Así, el análisis de losalgoritmos se centra en los principios básicos del algoritmo, no en los dela implementación particular. Una forma de plasmar (o algunas veces"codificar") un algoritmo es escribirlo en pseudocódigo o utilizar unlenguaje muy simple tal como Léxico, cuyos códigos pueden estar en elidioma del programador.Algunos escritores restringen la definición de algoritmo a procedimientosque deben acabar en algún momento, mientras que otros consideranprocedimientos que podrían ejecutarse eternamente sin pararse,suponiendo el caso en el que existiera algún dispositivo físico que fueracapaz de funcionar eternamente. En este último caso, la finalización conéxito del algoritmo no se podría definir como la terminación de este con
  6. 6. APPS 4ºCLorena Rodríguez Turrubiatesuna salida satisfactoria, sino que el éxito estaría definido en función delas secuencias de salidas dadas durante un periodo de vida de laejecución del algoritmo. Por ejemplo, un algoritmo que verifica que haymás ceros que unos en una secuencia binaria infinita debe ejecutarsesiempre para que pueda devolver un valor útil. Si se implementacorrectamente, el valor devuelto por el algoritmo será válido, hasta queevalúe el siguiente dígito binario. De esta forma, mientras evalúa lasiguiente secuencia podrán leerse dos tipos de señales: una señalpositiva (en el caso de que el número de ceros sea mayor que el deunos) y una negativa en caso contrario. Finalmente, la salida de estealgoritmo se define como la devolución de valores exclusivamentepositivos si hay más ceros que unos en la secuencia y, en cualquier otrocaso, devolverá una mezcla de señales positivas y negativas.1.4 Elaborar diagramas de flujo de la solucióndel problemaUn Diagrama de Flujo representa la esquematización gráfica de unalgoritmo, el cual muestra gráficamente los pasos o procesos a seguirpara alcanzar la solución de un problema Es importante resaltar que elDiagrama de Flujo muestra el sistema como una red de procesosfuncionales conectados entre sí por " Tuberías " y "Depósitos" de datosque permite describir el movimiento de los datos a través del Sistema.Este describirá : Lugares de Origen y Destino de los datos ,Transformaciones a las que son sometidos los datos, Lugares en los quese almacenan los datos dentro del sistema , Los canales por dondecirculan los datos.Es un grafico lógico del plan de trabajo que se ejecutara para la soluciónde un determinado problema. A través de él, se planifica la solución delproblema independiente del lenguaje de computación a usar.Las capacidades humanas necesarias para elaborar un diagrama de flujocorrecto son: Lógico, Prácticas, y Atención.El empleo de la maquina en las funciones del procediendo de datos hanhecho necesario un flujo ordenado de la información. La secuencia enque deberán ejecutarse las operaciones tendrá que definirse claramente,y cuando se combine con los datos a los que debe aplicarse, esasecuencia creara el flujo de información.
  7. 7. APPS 4ºCLorena Rodríguez TurrubiatesNo puede hacerse mucho hincapié en documentación, ósea el registrode Información .Sin Instrucciones escritas y sin representación graficadel flujo de trabajo sería muy difícil de llevar una tarea de procediendode datos en forma apropiada. Hay varios métodos más eficientesorganizados y normalizados, es el de los diagramas de Flujo que elFuturo programador comprenda la necesidad de los diagrama de flujo.Es un grafico lógico del plan de trabajo que se ejecutara para la soluciónde un determinado problema. A través de él, se planifica la solución delproblema independiente del lenguaje de computación a usar.Las capacidades humanas necesarias para elaborar un diagrama de flujocorrecto son: Lógico, Prácticas, y Atención.El empleo de la maquina en las funciones del procediendo de datos hanhecho necesario un flujo ordenado de la información. La secuencia enque deberán ejecutarse las operaciones tendrá que definirse claramente,y cuando se combine con los datos a los que debe aplicarse, esasecuencia creara el flujo de información.No puede hacerse mucho hincapié en documentación, ósea el registrode Información .Sin Instrucciones escritas y sin representación graficadel flujo de trabajo sería muy difícil de llevar una tarea de procediendode datos en forma apropiada. Hay varios métodos más eficientesorganizados y normalizados, es el de los diagramas de Flujo que elFuturo programador comprenda la necesidad de los diagrama de flujo.
  8. 8. APPS 4ºCLorena Rodríguez Turrubiates1.5. Crear Pseudocódigo de la solución delproblemaEl pseudocódigo se trata de una herramienta que los analistas de sistemasutilizan para comunicar a los programadores la estructura del programaque van a realizar, de forma de tener una idea bien clara de lo que senecesita programar.El pseudocódigo es una forma de diagramar un algoritmo para resolver undeterminado problema, sin atenerse a ningún lenguaje de programaciónen especial.Un algoritmo es un conjunto de procedimientos que permiten resolver unproblema.
  9. 9. APPS 4ºCLorena Rodríguez TurrubiatesEn vez de escribir el programa directamente en un lenguaje deprogramación determinado (C, Basic, etc.), crearemos un borradorentendible para todos, para luego de tener bien en claro lo que se debehacer, pasar a la programación propiamente dicha.El pseudo código se refiere a crear un código para orientar a losprogramadores, pero sin la sintaxis ni la estructura propia de ningúnlenguaje.Utilización en la prácticaEn el trabajo de un analista de sistemas, una de las partes más trabajosases la de determinar qué es lo que necesitan de un sistema los usuariosfinales. Se dedican muchas horas a hacer un relevamiento de los datosque serán necesarios, los tipos de procesamientos, las salidas, etc. Y debeexistir una realimentación entre el diseño y el usuario, para garantizar queel sistema cumpla con los requisitos del usuario.
  10. 10. APPS 4ºCLorena Rodríguez TurrubiatesGracias a esta herramienta, podemos reunir a todos los programadores,dar las pautas de trabajo, y mediante el pseudocódigo, cadaprogramador sabrá lo que hace el sistema, y podrá escribir el códigocorrespondiente.Incluso dos programadores que dominen el mismo lenguaje pueden tenermetodologías de trabajo distintas. Un problema puede ser resuelto demuchas maneras, cada una más o menos eficiente que la otra, pero todascumplen con el objetivo.El pseudocódigo elimina estas diferencias, dando libertad a losprogramadores para que puedan ajustarse a su metodología de trabajo.Generalmente, este código se escribe con la participación de todos losprogramadores. Esto representa la ventaja de que muchas opinionesayudan a elegir la mejor entre todas, logrando una solución efectiva yeficaz al problema planteado.Características y partesLas principales características de este lenguaje son:1. Se puede ejecutar en un ordenador.2. Es una forma de representación sencilla de utilizar y de manipular.3. Facilita el paso del programa al lenguaje de programación.4. Es independiente del lenguaje de programación que se vaya autilizar.5. Es un método que facilita la programación y solución al algoritmo delprograma.Todo documento en pseudocódigo debe permitir la descripción de:1. Instrucciones primitivas.2. Instrucciones de proceso.3. Instrucciones de control.4. Instrucciones compuestas.5. Instrucciones de descripción.
  11. 11. APPS 4ºCLorena Rodríguez TurrubiatesEstructura a seguir en su realización:1. Cabecera.1. Programa.2. Módulo.3. Tipos de datos.4. Constantes.5. Variables.2. Cuerpo.1. Inicio.2. Instrucciones.3. Fin.1.6. Prueba de escritorio de la solución delproblemaSe denomina prueba de escritorio a la comprobación que se hace de unalgoritmo para saber si está bien hecho. Esta prueba consiste en tomardatos específicos como entrada y seguir la secuencia indicada en elalgoritmo hasta obtener un resultado, el análisis de estos resultadosindicará si el algoritmo está correcto o si por el contrario hay necesidadde corregirlo o hacerle ajustes.La prueba de escritorio es una herramienta útil para entender que haceun determinado algoritmo, o para verificar que un algoritmo cumple conla especificación sin necesidad de ejecutarlo.Básicamente, una prueba de escritorio es una ejecución „a mano‟ delalgoritmo, por lo tanto se debe llevar registro de los valores que vatomando cada una de las variables involucradas en el mismo.
  12. 12. APPS 4ºCLorena Rodríguez TurrubiatesA continuación se muestra un ejemplo de prueba de escritorio delsiguiente algoritmo:suma :enteroentrada :enteromenor :enteroleer entradamenor = entradasuma = 0mientras (entrada != 0) hagasi (entrada < menor) entoncesmenor =entradafin_sisuma = suma + entradaleer entradafin_mientrasescribir “valor Menor:”escribir menorescribir “Suma:”escribir suma
  13. 13. APPS 4ºCLorena Rodríguez TurrubiatesINSTRUCCIÓN entrada menor suma Pantallaleer entrada 10menor = entrada 10suma :=0 0suma :=suma + entrada 10leer entrada 7menor = entrada 7suma :=suma + entrada 17leer entrada 9suma :=suma + entrada 26leer entrada 0Escribir “valor menor:” Valor MenorEscribir menor 7Escribir “Suma:” Suma:Escribir suma 26http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtmlhttp://es.wikipedia.org/wiki/Pseudoc%C3%B3digo

×