Вы находитесь на странице: 1из 31

Universidad Mariano Gálvez de Guatemala

Facultad de Ingeniería en sistemas


Curso: Algoritmos
Catedrático: HAROLDO HERLINDO TURCIOS GARCIA
Trabajo: Proyecto Final

Victor Rene Roquel Monroy


1990-17-11000
18/11/2017
ÍNDICE
INTRODUCCIÓN .............................................................................................................................. 3
ALGORITMO ..................................................................................................................................... 4
PSEUDOCÓDIGO ............................................................................................................................ 4
C++ ..................................................................................................................................................... 6
PSeInt ................................................................................................................................................. 7
PRIMER PARCIAL RESUELTO .................................................................................................... 8
ESTRUCTURA SELECTIVA SIMPLE ......................................................................................... 10
ESTRUCTURA SELECTIVA DOBLE .......................................................................................... 12
ESTRUCTURAS SELECTIVA ANIDADA ................................................................................... 14
ESTRUCTURA SELECTIVA MÚLTIPLE .................................................................................... 16
ESTRUCTURA REPETITIVA MIENTRAS ................................................................................. 18
ESTRUCTURA REPETIR HASTA QUE ..................................................................................... 20
ESTRUCTURA REPETITIVA PARA ........................................................................................... 22
FUNCIONES Y PROCEDIMIENTOS .......................................................................................... 24
PROCEDIMIENTOS .................................................................................................................. 24
FUNCIONES ............................................................................................................................... 25
ARREGLOS..................................................................................................................................... 26
CONCLUSIÓN ................................................................................................................................ 29
RECOMENDACIONES.................................................................................................................. 30
E-GRAFÍA ........................................................................................................................................ 31
INTRODUCCIÓN
Este trabajo contiene todo lo visto durante el curso de algoritmos contiene
básicamente pseudocodigos y diagramas de flujos en PSeInt como también
contiene programas en c++ cada tema viene con su respectiva definición,
sintaxis como también su representación grafica contiene desde estructuras
selectivas, repetitivas, funciones hasta arreglos
ALGORITMO
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del
griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi). Es un conjunto
prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite 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

PSEUDOCÓDIGO
En ciencias de la computación, y análisis numérico, el pseudocódigo (o falso lenguaje) es una
descripción de alto nivel compacta e informal del principio operativo de un programa informático u
otro algoritmo.

Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para
la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro
lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales
para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico
del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea
conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática
compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el
código del lenguaje de programación convencional, ya que es una descripción eficiente y con un
entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en
los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la
planificación del desarrollo de programas informáticos, para esbozar la estructura del programa
antes de realizar la efectiva codificación.

DIAGRAMA DE FLUJO
El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso.
Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos
de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama
de actividades muestra el flujo de control general.

En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven elementos
físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales permiten al diagrama
soportar mejor flujos de comportamiento y datos continuos.

Estos diagramas utilizan símbolos con significados definidos que representan los pasos del
algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y
de fin del proceso
C++
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup.
La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten
la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a
objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los


paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele
decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los
fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
PSeInt
PSeInt es la abreviatura de PSeudo Intérprete, una herramienta educativa creada en Argentina,
utilizada principalmente por estudiantes para aprender los fundamentos de la programación y el
desarrollo de la lógica. Es un software muy popular de su tipo y es ampliamente utilizado en
universidades de Latinoamérica y España.

PSeInt está pensado para asistir a los estudiantes que se inician en la construcción de programas o
algoritmos computacionales. El pseudocódigo se suele utilizar como primer contacto para introducir
conceptos básicos como el uso de estructuras de control, expresiones, variables, etc, sin tener que
lidiar con las particularidades de la sintaxis de un lenguaje real. Este software pretende facilitarle al
principiante la tarea de escribir algoritmos en este pseudolenguaje presentando un conjunto de
ayudas y asistencias, y brindarle además algunas herramientas adicionales que le ayuden a
encontrar errores y comprender la lógica de los algoritmos.
PRIMER PARCIAL RESUELTO
ESTRUCTURA SELECTIVA SIMPLE
La estructura selectiva simple es implementada con la instrucción SI en el caso de la estructura
simple se efectuara el conjunto de instrucciones solo cuando la evaluación de la condición genera
el valor lógico verdadero. Luego de la condición se escribe la palabra reservada ENTONCES y el
conjunto de instrucciones es que serán ejecutadas si la expresión lógica generara como resultado
un valor verdadero. La instrucción si puede concluir con las palabras reservadas, ejecutadas si la
condición es verdadera

Sintaxis
Si expresion_logica Entonces

acciones_por_verdadero

Fin Si

Representación Grafica

Ejemplo
ESTRUCTURA SELECTIVA DOBLE
En este caso de la estructura selectiva simple se efectuará al conjunto de instrucciones es verdadero
si la condición fuese falsa, continuara con la siguiente instrucción, es decir se ignoran las
instrucciones del cuerpo del verdadero. En muchos casos es útil establecer de forma explícita el
conjunto de instrucciones que se ejecutarían si fuere falsa es decir su no se cumple la condición
verdadera. Para estos casos la estructura selectiva doble provee una solución. La estructura
selectiva doble se forma al optar influir luego del primer conjunto de instrucciones la palabra
reservada SiNo.

Sintaxis
Si expresion_logica Entonces

acciones_por_verdadero

SiNo

acciones_por_falso

Fin Si

Representación gráfica

Ejemplo
ESTRUCTURAS SELECTIVA ANIDADA
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de
una estructura condicional hay otra estructura condicional En numerosos casos en el desarrollo de
la solución de problemas, encontramos que luego de tomar una decisión y marcar el camino
correspondiente a seguir, es necesario tomar otra decisión.

Luego de evaluar las condiciones, se señala nuevamente la rama correspondiente a seguir y


nuevamente podemos tener que tomar otra decisión. El proceso puede repetirse numerosas veces.

En el siguiente ejemplo tenemos una estructura selectiva SI ENTONCES que contiene dentro de ella
otra estructura selectiva SI ENTONCES / SINO.

Sintaxis
Si expresion_logica Entonces
acciones_por_verdadero
SiNo
acciones_por_falso
Si expresion_logica Entonces
acciones_por_verdadero
Fin Si
Fin Si

Representación Grafica

Ejemplo
ESTRUCTURA SELECTIVA MÚLTIPLE
Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría
resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de
alternativas es grande puede plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar n valores
distintos, 1, 2 , 3, ....,n y según que elija uno de estos valores en la condición, se realizará una de las
n acciones o lo que es igual, el flujo del algoritmo seguirá sólo un determinado camino entre los n
posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma
el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N.

Sintaxis
Segun variable_numerica Hacer

opcion_1:

secuencia_de_acciones_1

opcion_2:

secuencia_de_acciones_2

opcion_3:

secuencia_de_acciones_3

De Otro Modo:

secuencia_de_acciones_dom

Fin Segun

Representación Grafica
Ejemplo
ESTRUCTURA REPETITIVA MIENTRAS
La estructura algorítmica mientras, comúnmente conocida como while, es la estructura adecuada
para utilizar en un ciclo cuando no sabemos el número de veces que éste se ha de repetir. Dicho
número depende de las proposiciones dentro del ciclo.

Por ejemplo, supongamos que tenemos que obtener el total de una serie de gastos, pero no
sabemos exactamente cuántos son; o cuando tenemos que sacar el promedio de calificaciones de
un examen, pero no sabemos precisamente cuántos alumnos lo aplicaron.

Ejecuta un bloque de instrucciones, mientras una expresión lógica dada se cumpla.

Si la condición se cumple, el bloque se ejecuta, después, la condición se vuelve a evaluar.

Si la condición se evalúa la primera vez como falsa, el bloque de instrucciones no será ejecutado.

Sintaxis
Mientras expresion_logica Hacer

secuencia_de_acciones

Fin Mientras

Representación Grafica
Ejemplo
ESTRUCTURA REPETIR HASTA QUE
Es también muy frecuente que un bloque de programa que quizá se repita, deba ejecutarse al menos
una vez. Por ejemplo, si queremos pedir un dato al usuario, quizá exista algún error y haya que
insistir, pero al menos deberemos pedírselo una primera vez.

En estos casos, la estructura "mientras" no es la más adecuada: no podemos comprobar la condición


al principio, sino después de haber pedir el valor. En estos casos (que son muy frecuentes), sería
más razonable usar otra estructura de programación en la que la condición se compruebe después
de dar ciertos pasos. Esa estructura es "repetir... hasta":

Sintaxis
Repetir

secuencia_de_acciones

Hasta Que expresion_logica

Representación Grafica
Ejemplo
ESTRUCTURA REPETITIVA PARA
En muchas ocasiones, no querremos que algo se repita mientras se cumpla una condición, sino un
cierto número de veces. Por ejemplo, para escribir "Hola" 3 veces en pantalla existe una orden más
cómoda que la orden "mientras" o la orden "repetir... hasta". Es la orden "para", que hace que una
variable tome una serie de valores que se van incrementando. Por ejemplo, una estructura como
"para x con valores desde 2 hasta 4" haría que un bloque de programa se repitiera 3 veces. En la
primera repetición, la variable "x" tendría el valor 2, en la segunda tendría el valor 3 y en la tercera
tendría el valor 4. La sintaxis exacta en PseInt es: " Para variable <- valorInicial Hasta valorFinal
Hacer"

Sintaxis
Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer

secuencia_de_acciones

Fin Para

Representación Grafica
Ejemplo
FUNCIONES Y PROCEDIMIENTOS
PROCEDIMIENTOS
En muchos casos, nos encontraremos con tareas que tenemos que repetir varias veces en distintos
puntos de nuestro programa. Si tecleamos varias veces el mismo fragmento de programa no sólo
tardaremos más en escribir: además el programa final resultará menos legible, será más también
será más fácil que cometamos algún error alguna de las veces que volvemos a teclear el fragmento
repetitivo, o que decidamos hacer una modificación y olvidemos hacerla en alguno de los
fragmentos. Por eso, conviene evitar que nuestro programa contenga código repetitivo. Una de las
formas de evitarlo es usar "subrutinas", una posibilidad que la mayoría de lenguajes de
programación permiten, y que en ocasiones recibe el nombre de "procedimientos" o de "funciones"
(existe algún matiz que hace que esas palabras no sean realmente sinónimas y que comentaremos
más adelante).

Ejemplos
FUNCIONES
Una función es un bloque de código con un determinado propósito o fin, podemos definir mas de
una función en nuestro algoritmo y nos permite ahorrar líneas de código las funciones en PSeInt se
identifican con un nombre comienzan con la palabra reservada FUNCIÓN puede resivir cierta
cantidad de argumentos y retornar en valor

Sintaxis
Funcion variable_de_retorno <- Nombre ( Argumentos )

Fin Funcion

Ejemplos
ARREGLOS
Los arreglos son estructuras de datos homogéneas(Todos los datos son del mismo tipo de datos)
Ejemplo Entero con Entero, No puede ir un arreglo mesclado con entero y cadena de caracteres.

Los arreglos permiten almacenar un determinado numero de datos bajo un mismo identificador,
para luego referirse a los mismos utilizando uno o mas subíndices. Los arreglos pueden pensarse
como vectores, matrices, etc.

Para crear un arreglo en PSeInt utilizamos la palabra reservada dimensión seguido del nombre del
arreglo(identificador) y su tamaño(numero de subíndices) entre corchetes []

Sintaxis
Dimension Identificador [Tamaño]

Ejemplo
Matrices
Vectores
CONCLUSIÓN
 Este trabajo me ayudo a la introducción del lenguaje de programación
en PSeInt como también en C++
 Este texto enseña la facilidad de programación ya que si tú lo puedes
imaginar lo puedes programar
 Me aporto a comprender un poco más los temas que aun tenía dudas
gracias al repaso que le di a los temas para poder realizar este trabajo
RECOMENDACIONES
 Para entender este texto paralelo se recomienda un minimo
conocimiento sobre la programación
 Es recomendable empezar con PSeInt antes de empezar un lenguaje
más avanzado
 Se recomienda investigar los temas o condiciones antes de programar
para tener una mejor base para empezar programar
E-GRAFÍA
http://licenciaturas.umg.edu.gt/moodle/course/view.php?id=89493

http://www.aprendeaprogramar.com/mod/resource/view.php?id=411

http://www.uacj.mx/CGTI/CDTE/JPM/Documents/IIT/selectivas/selectiva-multiple-si-multiple.html

https://odelys2003.files.wordpress.com/2011/11/arreglosenpseint-100915151154-phpapp02.pdf

https://es.wikipedia.org/wiki/C%2B%2B

Вам также может понравиться