You are on page 1of 26

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE INGENIERIA CIVIL Y MECANICA


CARRERA DE INGENIERIA CIVIL
1. DATOS INFORMATIVOS:
CURSO: SEGUNDO
PARALELO: B
TEMA: ALGORITMO, PSEUDOCODIGO, DIAGRMA DE FLUJO
FECHA: 29/06/2016
2. OBJETIVOS
OBJETIVO GENERAL
Comprender los conceptos bsicos y la estructura general de Seudocdigo,
diagrama de flujo para la resolucin de problemas.

OBJETIVOS ESPECFICOS
Estudiar correctamente los diferentes algoritmos para conocer
su funcionamiento respectivo.
Realizar

la

solucin

de

problemas,

para

que

sea

independiente del lenguaje a utilizar.

3. MARCO TEORICO
ALGORITMOS
DEFINICIN: Un Algoritmo, se puede definir como una secuencia de instrucciones
que representan un modelo de solucin para determinado tipo de problemas. O bien
como un conjunto de instrucciones que realizadas en orden conducen a obtener la
solucin de un problema. Por lo tanto podemos decir que es un conjunto ordenado y
finito de pasos que nos permite solucionar un problema.

LOPEZ JOSE LUIS IRAZABAL


MARCOS

Los algoritmos son independientes de los lenguajes de programacin. En cada problema


el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente
programacin. El algoritmo es la infraestructura de cualquier solucin, escrita luego en
cualquier lenguaje de programacin.
Programa: Un programa es una serie de instrucciones ordenadas, codificadas en
lenguaje de programacin que expresa un algoritmo y que puede ser ejecutado en un
computador.

CLASIFICACIN DE ALGORITMOS: Los algoritmos se pueden clasificar en


cuatro tipos:

Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una


computadora. Ejemplo: Frmula aplicada para un clculo de la raz cuadrada de
un valor x.

Algoritmo no computacional: Es un algoritmo que no requiere de una


computadora para ser ejecutado. Ejemplo: Instalacin de un equipo de sonido.

Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o


instrucciones no estn involucrados clculos numricos. Ejemplos: Las
instrucciones para desarrollar una actividad fsica, encontrar un tesoro.

Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o


instrucciones involucran clculos numricos. Ejemplo: Solucin de una ecuacin
de segundo grado.

CARACTERSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las


siguientes caractersticas:
1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera
precisa e inequvoca que se debe hacer.

LOPEZ JOSE LUIS IRAZABAL


MARCOS

2.

Debe ser Finito, porque un algoritmo debe tener un nmero limitado de

pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las
mismas condiciones de entrada.
4. Puede tener cero o ms elementos de entrada.
5. Debe producir un resultado. Los datos de salida sern los resultados de
efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

Entrada de datos, son los datos necesarios que el algoritmo necesita para ser

ejecutado.
Proceso, es la secuencia de pasos para ejecutar el algoritmo.
Salida de resultados, son los datos obtenidos despus de la ejecucin del
algoritmo.

TCNICAS DE REPRESENTACIN: Para la representacin de un algoritmo, antes


de ser convertido a lenguaje de programacin, se utilizan algunos mtodos de
representacin escrita, grfica o matemtica. Los mtodos ms conocidos son:

Diagramacin libre (Diagramas de flujo).


Diagramas Nassi-Shneiderman.
Pseudocdigo.
Lenguaje natural (espaol, ingls, etc.).
Frmulas matemticas

EL PSEUDO-CDIGO

Las caractersticas de este pseudolenguaje fueron propuestas en 2001 por el responsable


de la asignatura Fundamentos de Programacin de la carrera de Ingeniera Informtica
de la FICH-UNL. Las premisas son:

LOPEZ JOSE LUIS IRAZABAL


MARCOS

Sintaxis sencilla
Manejo de las estructuras bsicas de control
Solo 3 tipos de datos bsicos: numrico, caracter /cadenas de caracteres y lgico
(verdadero-falso).
Estructuras de datos: arreglos
Todo algoritmo en pseudocgido tiene la siguiente estructura general:
Proceso SinTitulo
accion 1;
accion 1;
.
.
.
accion n;
FinProceso

Comienza con la palabra clave Proceso seguida del nombre del programa, luego
le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso.
Una secuencia de instrucciones es una lista de una o ms instrucciones, cada una
terminada en punto y coma.
Las acciones incluyen operaciones de entrada y salida, asignaciones de
variables, condicionales si-entonces o de seleccin mltiple y/o lazos mientras,
repetir o para.
Asignacin

La instruccin de asignacin permite almacenar una valor en una variable.

LOPEZ JOSE LUIS IRAZABAL


MARCOS

<variable> <- <expresin> ;

Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se


asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la
expresin deben coincidir.

Entradas

La instruccin Leer permite ingresar informacin desde el ambiente.


Leer <variablel> , <variable2> , ... ,
<variableN> ;

Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a
las N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el
comando leer uno o ms valores.

Salidas

La instruccin Escribir permite mostrar valores al ambiente.


Escribir <exprl> , <expr2> , ... , <exprN> ;
LOPEZ JOSE LUIS IRAZABAL
MARCOS

Esta instruccin imprime al ambiente (en este caso en la pantalla) los valores obtenidos
de evaluar N expresiones. Dado que puede incluir una o ms expresiones, mostrar uno
o ms valores.

Dimensionamiento
La instruccin Dimension permite definir un arreglo, indicando sus dimensiones.
Dimesion <identificador> (<maxl>,...,<maxN>);

Esta instruccin define un arreglo con el nombre indicado en <indentificador> y N


dimensiones. Los N parmetros indican la cantidad de dimensiones y el valor mximo
de cada una de ellas. La cantidad de dimensiones puede ser una o ms, y la mxima
cantidad

de

elementos

debe

ser

una

expresin

numrica

positiva.

Se pueden definir ms de un arreglo en una misma instruccin, separndolos con una


coma (,).
Dimension <ident1> (<max11>,...,<max1N>),..., <identM>
(<maxM1>,...,<maxMN>)
Es importante notar que es necesario definir un arreglo antes de utilizarlo.

Condicional Si-Entonces

LOPEZ JOSE LUIS IRAZABAL


MARCOS

La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino depende


del valor de una condicin lgica.
Si <condicin>
Entonces
<instrucciones>
Sino
<instrucciones>
FinSi

Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que


correspondan: las instrucciones que le siguen al Entonces si la condicin es verdadera, o
las instrucciones que le siguen al Sino si la condicin es falsa. La condicin debe ser
una expresin lgica, que al ser evaluada retorna Verdadero o Falso.
La clusula Entonces debe aparecer siempre, pero la clusla Sino puede no estar. En ese
caso, si la condicin es falsa no se ejecuta ninguna instruccin y la ejecucin del
programa contina con la instruccin siguiente.

Seleccin Multiple

LOPEZ JOSE LUIS IRAZABAL


MARCOS

La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de
una variable numrica.
Segun <variable> Hacer
<nmero1>: <instrucciones>
<nmero2>,<nmero3>: <instrucciones>
<...>
De Otro Modo: <instrucciones>
FinSegun

Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo


del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el
contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho
valor.
Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y
una secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de
instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos
nmeros.
Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya
secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la
variable no coincide con ninguna de las opciones anteriores.

Lazos Mientras

LOPEZ JOSE LUIS IRAZABAL


MARCOS

La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin


sea verdadera.
Mientras <condicin> Hacer
<instrucciones>
FinMientras

Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta


verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del
ciclo. Al finalizar la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si
es verdadera, la ejecucin se repite. Estos pasos se repiten mientras la condicin sea
verdadera.
Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar
por primera vez la condicin resulta ser falsa.
Si la condicin siempre es verdadera, al ejecutar esta instruccin se produce un ciclo
infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna
instruccin que modifique la o las variables involucradas en la condicin, de modo que
sta sea falsificada en algn momento y as finalice la ejecucin del ciclo.

Lazos Repetir

LOPEZ JOSE LUIS IRAZABAL


MARCOS

La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la


condicin sea verdadera.
Repetir
<instrucciones>
Hasta Que <condicin>

Al ejecutarse esta instruccin, la secuencia de instrucciones que forma el cuerpo del


ciclo se ejecuta una vez y luego se evala la condicin. Si la condicin es falsa, el
cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condicin. Esto se repite
hasta que la condicin sea verdadera.
Note que, dado que la condicin se evala al final, las instrucciones del cuerpo del ciclo
sern ejecutadas al menos una vez.
Adems, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna
instruccin que modifique la o las variables involucradas en la condicin de modo que
en algn momento la condicin sea verdadera y se finalice la ejecucin del ciclo.

Lazos Para

La instruccin Para ejecuta una secuencia de instrucciones un nmero determinado de


veces.
LOPEZ JOSE LUIS IRAZABAL
MARCOS

10

Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer
<instrucciones>
FinPara
Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la
secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la
variable <variable> en <paso> unidades y se evala si el valor almacenado en
<variable> super al valor <final>. Si esto es falso se repite hasta que <variable> supere
a <final>. Si se omite la clusula Con Paso <paso>, la variable <variable> se
incrementar en 1.

Operadores y Funciones
Este pseudolenguaje dispone de un conjunto bsico de operadores y funciones que
pueden ser utilizados para la construccin de expresiones ms o menos complejas.
Las siguientes tablas exhiben la totalidad de los operadores de este lenguaje reducido:
Operador
Relacionale

Significado

Ejemplo

s
>
<
=
<=
>=
Logicos
&Y
|O
~ NO
Algebraicos
+
*

Mayor que
Menor que
Igual que
Menor o igual que
Mayor o igual que

3>2
'ABC'<'abc'
4=3
'a'<='b'
4>=5

Conjuncin (y).
Disyuncin (o).
Negacin (no).

(7>4) & (2=1) //falso


(1=1 | 2=1) //verdadero
~(2<5) //falso

Suma
Resta
Multiplicacin

total <- cant1 + cant2


stock <- disp - venta
area <- base * altura

LOPEZ JOSE LUIS IRAZABAL


MARCOS

11

/
^
% MOD

Divisin

porc <- 100 * parte /

Potenciacin
Mdulo (resto de la divisin

total
sup <- 3.41 * radio ^ 2
resto <- num MOD div

entera)
La jerarqua de los operadores matemticos es igual a la del lgebra, aunque puede
alterarse mediante el uso de parntesis.
A continuacin se listan las funciones integradas disponibles:
Funcin
RC(X)
ABS(X)
LN(X)
EXP(X)
SEN(X)
COS(X)
ATAN(X)
TRUNC(X)
REDON(X)
AZAR(X)

Significado
Raz Cuadrada de X
Valor Absoluto de X
Logaritmo Natural de X
Funcin Exponencial de X
Seno de X
Coseno de X
Arcotangente de X
Parte entera de X
Entero ms cercano a X
Entero aleatorio entre 0 y X-1

EJERCICIOS DE PSEUDOCODIGO
EJERCICIO N 01
En una prensa hidrulica existe una presinen un rea dado en el mbolo de mayor
tamao, Cul ser la fuerza que existe en el mbolo de mayor tamao?

1. ANALISIS
DATOS

INCOGNITAS

FORMULAS

Presin

Fuerza

Fuerza= presin * rea

rea

LOPEZ JOSE LUIS IRAZABAL


MARCOS

12

2. DISEO ( Pseudocdigo)
Proceso Ejecicio7
Leerpresin, rea;
Fuerza <- presin * rea;
Escribir Fuerza;
FinProceso
EJERCICIO N 02
Un baln de rugby si sabemos su masa, y es lanzado verticalmente desde el suelo hacia
arriba a una velocidad. Calcular la energa cintica, energa potencial y la altura mxima
que alcanza el baln.Si la energa cintica es idntica a la energa potencial.
1.- ANLISIS
DATOS

INCOGNITAS

masa
velocidad

Ec
Ep
altura

FORMULAS
1
Ec = 2 * masa * velocidad2
altura = Ec / masa * 9,8
Ep = masa * 9,8 * altura

2.- DISEO (Pseudocdigo)


Proceso Ejercicio10
Leer masa, velocidad;
Ec<-1/2 * masa * velocidad * velocidad;
altura<- Ec/masa * 9.8;
Ep<-masa * altura * 9.8;
EscribirEc, altura, Ep;
FinProceso

EJERCICIO N 03
LOPEZ JOSE LUIS IRAZABAL
MARCOS

13

Encontrar la fuerza de un cuerpo conociendo su aceleracin y su masa.


1. ANALISIS
DATOS

INCOGNITAS

FORMULAS

Aceleracin

Fuerza

Fuerza=masa.aceleracin

Masa

2. DISEO ( Pseudocdigo)
Proceso Ejercicio2
Leeraceleracin, masa;
Fuerza <- aceleracin * masa;
Escribir Fuerza;
FinProceso

EJERCICIO N 04
El total a pagar de una compra realizada en un supermercado una vez realizado un
descuento del 12%.
1. ANALISIS
DATOS

INCGNITAS

FORMULA

LOPEZ JOSE LUIS IRAZABAL


MARCOS

14

Compra

TotalPagar

TotalPagar= Compra-(compra*0.12)

2. DISEO (Pseudocdigo)
Proceso Descuento
Leer Compra;
TotalPagar <- Compra -(Compra*0.12);
Escribir TotalPagar;
FinProceso

EJERCICIO N 05
Pedro va a una ferretera y realiza la compra de una determinada cantidad de quintales
de cemento con un determinado valor unitario cul ser el total a pagar si le realizan un
descuento del 12%?

LOPEZ JOSE LUIS IRAZABAL


MARCOS

15

1. ANLISIS
DATOS

INCGNITAS

FORMULAS

Cantidad

Total

SubTotal= Cantidad*Valor

Valor

Descuento

Descuento=SubTotal*0.12

SubTotal

Total= SubTotal-Descuento

2. DISEO (Pseudocdigo)
Proceso Compra
Leer Cantidad, Valor;
SubTotal<-Cantidad * Valor;
Descuento<-SubTotal * 0.12;
Total<-SubTotal-Descuento;
Escribir subTotal;
Escribir Desccuento;
Escribir Total;
FinProceso

DIAGRAMA DE FLUJO
Un diagrama de flujo es una representacin grfica de un algoritmo. Se utiliza en
disciplinas como la programacin, la economa, los procesos industriales y la psicologa
cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que

LOPEZ JOSE LUIS IRAZABAL


MARCOS

16

representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas
que conectan los puntos de inicio y de trmino.

Reglas para la creacin de Diagramas


1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a
derecha.
2. Los smbolos se unen con lneas, las cuales tienen en la punta una flecha que
indica la direccin que fluye la informacin procesos, se deben de utilizar
solamente lneas de flujo horizontal o verticales (nunca diagonales).
3. Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo del
diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se
debe tener en cuenta que solo se vana utilizar conectores cuando sea
estrictamente necesario.
4. No deben quedar lneas de flujo sin conectar
LOPEZ JOSE LUIS IRAZABAL
MARCOS

17

5. Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso
de muchas palabras.
6. Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del
smbolo final.
7. Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de
salida.
Smbolos de un diagrama de flujo:

Terminal. Indica comienzo o final de un programa,


subprograma o mdulo.

Captura y emisin de datos. Entrada o salida de


informacin desde o hacia el ordenador.

Proceso. Cualquier proceso interno realizado por el


ordenador como asignacin de valor a variables,
operaciones matemticas, etc.

Decisin
mltiple. El
dato o
condicin
planteada presenta distintas alternativas (casos),
siguiendo el programa distinta va en funcin del
caso.
LOPEZ JOSE LUIS IRAZABAL
MARCOS

18

Lnea de flujo. Sentido del flujo de procesos.


Indica qu proceso viene a continuacin del otro.

Decisin mltiple. El dato o condicin planteada


presenta distintas alternativas (casos), siguiendo el
programa distinta va en funcin del caso.

Conector. Indica a travs de una referencia


(nmero, letra o texto) dnde debe continuar
un diagrama de flujo que se interrumpe.

Mdulo independiente. Recibe distintos nombres


como subprograma, subrutina, proceso,
procedimiento, etc. Al llegar a esta llamada el
programa pasa a ejecutar todas las instrucciones
contenidas en la subrutina para una vez terminadas
continuar el flujo.

LOPEZ JOSE LUIS IRAZABAL


MARCOS

19

LOPEZ JOSE LUIS IRAZABAL


MARCOS

20

EJERCICIOS DE DIAGRAMA DE FLUJO


EJERCICIO N 01
Calcular el trabajo de una fuerza que se aplica con un ngulo con la horizontal que
recorre una distancia dada.

1. ANALISIS
DATOS

INCOGNITAS

FORMULA

distancia

Trabajo

Trabajo =(Fuerza * cos


(ngulo*0.017453292) ) * distancia

ngulo
fuerza

2. DISEO (Diagrama de Flujo)

EJERCICIO N 02

Calcular la energa cintica que alcanzar un cuerpo si sabemos su pesoy el tiempoen


cada libre.

1.-ANALISIS
DATOS
peso
tiempo

INCOGNITAS
velocidad
Ec

FORMULAS
velocidad = tiempo * 9,8
1
Ec = 2 * peso * velocidad2

2.- DISEO (Diagrama de Flujo)

EJERCICIO N 03
Un Autobs que realiza su recorrido de Ambato a quito recoge cierta cantidad de
pasajeros que viajaran de Ambato a Quito directamente a un determinado valor por
pasajero Determinar cunto gana el chofer si cobra un 15% de lo recolectado en el
viaje y su ayudante un 10% y cuanto es el sobrante para el dueo del autobs?

1. ANLISIS
DATOS
Pasajeros
Pasaje

INCGNITA

FORMULA

S
Total

Total=Pasajeros*Pasaje

Chofer

Chofer=Total*0.15

Ayudante

Ayudante=Total*0.10

Dueo

Dueo=Total-Chofer-Ayudante

2. DISEO (Diagrama de Flujo)


Inicio

Pasajeros, Pasaje
Total=Pasajeros*Pasaje
Chofer=Total*0.15
Ayudante=Total*0.10
Dueo=Total-Chofer-Ayudante
Total
Chofer
Ayudante
Dueo

Fin

EJERCICIO N 04

Determinar el alcance mximo y la altura mxima de una pelota pateada con cierto
ngulo desde una cancha de futbol que es impulsada con cierta velocidad inicial y llega
a su destino en determinado tiempo.

1. ANLISIS
DATOS
Angulo

INCGNITAS FORMULA
Alcance
Alcance= Velocidad * Cos(Angulo) * Tiempo
Altura=Velocidad*sen(Angulo)/ 19.6

Velocidad Altura
Tiempo
2. DISEO (Diagrama de Flujo)

Inicio

Angulo,Velocidad,Tiempo

Alcance= Velocidad * Cos(Angulo) * Tiempo


Altura=Velocidad*sen(Angulo)/ 19.6

Alcance,Altura

Fin

EJERCICIO N 05
Calcular la densidad de una sustancia siendo que se conoce su masa y su volumen.
1. ANLISIS
DATOS
Masa
Volumen

INCGNITAS
Densidad

FORMULA
Densidad=Masa/Volumen

2. DISEO
Diagrama de Flujo
Inicio

Masa, Volumen

Densidad=Masa/Volumen

Densidad

Fin

3. CONCLUCIONES
Los Algoritmos son una manera de expresar cualquier situacin por medio de una
secuencia de pasos ordenados y lgicos que buscan el aclaramiento de cualquier
problema para as identificar lo que se necesita, como se hace y el resultado final, el
cual debe ser igual siempre por lo que se busca que hayan alternativas para cualquier
solucin posible.
A diario en la vida cotidiana cada vez que necesitamos realizar un proceso seguimos una
serie de pasos que nos llevan a culminar un producto, de igual manera cuando estamos
frente un sistema observamos que debemos seguir una serie de pasos para interactuar
con l, todos estos pasos tantos internos como externo se descomponen en algoritmos
que si los representamos descriptiva y grficamente construiramos una serie de
Diagraman de Flujos y Seudocdigos, es por ello que podemos afirmar con certeza que

los Diagramas de Flujos nos sirve para representar grficamente y Seudocdigos nos
sirve para presentar descriptivamente, los procesos o funciones en que se descompone el
sistema, muestra las fuentes y destinos de datos, identifica y da los nombres a los
procesos que lleva a cabo. Identifica y da nombre a los grupos de datos de datos que
relaciona una funcin con otra y seala los almacenes y a los que tiene acceso.
Cabe destacar, que el lenguaje utilizado para especificar la funcin del diagrama de
flujo, no es ms que el lenguaje que utilizamos diariamente, pero adoptando ciertos
verbos y frases imperativas, para describir de manera exacta y precisa lo que se quiere
realizar y el lenguaje utilizado para Seudocdigos es representacin de nuestro diseos
de una manera ms formal y con ms similitud a lo q es un lenguaje de programacin.

4. BIBLIOGRAFIA

MaGraw-Hill interamericana. Madrid. Espaa. Es. 2000. 500p, Metodologa de la


programacin
Baena, L. R. FUNDAMENTOS DE PROGRAMACIN I.
Coppo, R., Iparraguirre, J., Feres, G., Ursua, G., & Cavallo, A. (2011). Enseanza
de la programacin con metodologas de aprendizaje basado en problemas. In XIII
Workshop de Investigadores en Ciencias de la Computacin.
JOYANES, Lus. Fundamentos de Programacin. Editorial: McGRAW- Hill.
Madrid, Espaa. 318, 319,320, 339, 334, 338 pginas.

LOZANO, Letvin, Diagramacin y Programacin. Tercera Edicin. Editorial:

McGraw- Hill. Madrid, Espaa. 18, 19 pginas.

You might also like