miércoles, 3 de diciembre de 2014

Introducción a los casos de uso


Introducción a los casos de uso

1.    Utilizando Internet, el material del curso, libros de ingeniería de software o entrevistas a programadores, realice una tabla comparativa indicando las ventajas y desventajas de las siguientes técnicas de recopilación de requerimientos:

·         Entrevistas y cuestionarios
·         Muestreo
·         Lluvia de ideas

2.    De acuerdo a su evaluación, ¿cuál considera puede ser la técnica más utilizada o recomendable de seguir?

3. Identifique a una empresa de su localidad, la cual tenga un departamento de desarrollo de software, o bien, identifique una empresa de desarrollo de software.

Entreviste a un analista de sistemas buscando respuesta a las siguientes preguntas:

·         Breve descripción de la empresa objetivo de la misma y cargo e información sobre la persona entrevistada.
·         ¿Cuál es la técnica de recopilación de requerimientos utilizada por la empresa?
·         Si no es Casos de Uso, ¿por qué no ha considerado su implementación?
·  En caso de que utilicen Casos de Uso, ¿cuál ha sido su experiencia en la implementación de esta técnica en comparación con otras?, ¿es de mayor beneficio?


R:

1.    


TÉCNICAS
VENTAJAS
DESVENTAJAS
ENTREVISTAS
Dan la mejor fuente de información cualitativa. Pueden descubrir rápidamente malos entendidos, falsas ideas.
Expectativas o encontrar información que se pensaba era no relevante.
El análisis y la interpretación pueden ser largos Toma tiempo extra recabar los hechos esenciales. Puede recolectarse información extraña
CUESTIONARIOS
Es una forma posible de relacionarse con un gran número de |personas para conocer varios aspectos del sistema. Son útiles al explorar el problema básico.
Aunque su aplicación puede realizarse con un mayor número de individuos, es muy rara una respuesta total. Si el cuestionario es cerrado limita las respuestas posibles del interrogado Lleva tiempo desarrollar preguntas bien elaboradas.
LLUVIA DE IDEAS
Puede generar ideas originales en un ambiente relajado.
Fomenta la creatividad.

Requiere de la eliminación de las duplicaciones, problemas no importantes y aspectos no negociables
MUESTREO
La información ya está disponible para el analista. Los registros ayudan a la familiarización del analista con algunas operaciones de la organización. Existe una considerable reducción de costos se tiene una mayor posibilidad de participar en la muestra. Sencillo y es fácil de interpretar y comprender.  En la mayoría de las veces se tiene estimaciones precisas. Se puede calcular en un tiempo inmediato o rápido 
Pueden ocurrir que los miembros de una unidad superior se parezcan reduciendo la 
representatividad de otros en la muestra final.
 
Los registros solo muestran algunas formas de operación.
No reflejan las operaciones actuales de la organización.
 El analista debe tener buena experiencia para encontrar información útil.
 


     2.    

Seguramente sea lo más conveniente una combinación de encuestas (entrevistas y cuestionarios) con lluvia de ideas, que fomenta la creatividad y originalidad; de todas maneras es necesario tener en cuenta el muestreo, aunque tenemos que  recordar que los registros que haya sobre la empresa y su funcionamiento, muchas veces no reflejan el estado y la actividad objetiva, por estar obsoletos y no cumplirse, pero son una pauta para entender lo que se hacía y cuales fueron o son los objetivos.
    
    3.    

IT GROUP

Somos una empresa Colombiana dedicada a brindar soluciones a las organizaciones mediante el desarrollo de software a la medida.
En IT Group pensamos que los sistemas deben responder a las necesidades propias de cada organización, de tal forma que la solución se adapte al usuario y no el usuario a la solución.  De igual forma, desarrollamos nuestros productos con el fin de que nuestros clientes puedan, al final del proceso, evidenciar una mejora dentro de su empresa, bien sea porque ahorran tiempo, dinero o porque simplifican sus procesos. Uno de nuestros objetivos principales es que nuestros clientes no sólo estén satisfechos con el producto que reciben, sino que además éste supere sus expectativas.
Vemos en cada nuevo proyecto una oportunidad para aprender y para mejorar, y por eso, a través de éstos 6 años hemos implementado en nuestros desarrollos toda la experiencia adquirida. De igual forma, tenemos claro que nunca se termina de aprender, por eso estamos en una constante búsqueda de actualización en tecnología y conocimientos y cuando no dominamos un tema, buscamos las respuestas bien sea capacitándonos o por medio de socios estratégicos.
En IT Group vemos la tecnología como un aliado potencial de su negocio, es por eso que durante el proceso de levantamiento de información tratamos de que usted pueda tener un mejor panorama de cómo mejorar sus procesos, de tal forma que de una modesta idea inicial, su empresa evolucione hacia una orientación tecnológica, eficiente e innovadora.
Nuestro compromiso de calidad no se limita a la falta de errores en los desarrollos, también estamos muy comprometidos con el cumplimiento de cronogramas y fechas de entrega.

METODOLOGÍA
 
     1.    Escuchamos las necesidades del cliente.
     2.    Propuesta del alcance y presupuesto del proyecto. 
     3.    Proceso de contratación de acuerdo a los requerimientos de cada cliente. 
     4.    Reunión de apertura del proyecto con los responsables de las partes interesadas. 
     5.    Levantamiento de información.
     6.    Definición y prototipo de la herramienta. 
     7.    Definición del cronograma ajustado del proyecto con reuniones de seguimiento. 
     8.    Diseño de la base de datos y su diccionario de datos. 
     9.    Implementación del sistema por módulos. 
    10. Pruebas preliminares.
    11. Implementación de cambios y correcciones. 
    12. Pruebas finales. 
    13. Manual de instalación, usuario y documentos de soporte.
    14. Instalación de la herramienta de acuerdo a los requisitos del cliente. 
    15. Capacitaciones a los usuarios e interesados. 
    16. Garantía y servicio post venta.
    17. Implementación de cambios y correcciones. 
    18. Pruebas finales. 

PRODUCTOS Y SERVICIOS

• SOFTWARE A LA MEDIDA.
Cada empresa tiene sus procesos propios y su manera de hacer las cosas, los cuales han surgido muy seguramente, motivados en la experiencia de cada organización. Y nunca hay dos organizaciones con experiencias iguales. Para cada organización existe entonces un software a la medida que responda a sus necesidades y expectativas.
IT Group cuenta con una amplia experiencia en este campo. Lo acompañamos desde la asesoría inicial, en la que se identifican sus necesidades y cómo responder a ellas, hasta la implementación de una herramienta eficiente, sin errores y que se adapte a su organización.
Para estos sistemas de información, IT Group desarrolla en los principales lenguajes utilizados en la actualidad (PHP, J2EE, .NET, AJAX), sobre las principales bases de datos (Oracle, SQL Server, Postgre SQL y MySQL) y sobre los servidores que se utilizan masivamente en el momento (Apache, IIS, TOMCAT, JBOSS, OAS).

• COMERCIO ELECTRÓNICO.
La disponibilidad global de internet para el intercambio de transacciones entre compradores y vendedores está fomentando el crecimiento del comercio electrónico.
IT Group puede convertirse en su aliado estratégico en el desarrollo e implementación de herramientas de comercio electrónico para su empresa. Contamos con una importante experiencia integrando sistemas con intermediarios de pagos como PayPal, Pagos online, etc., para ofrecer ventas por internet de una manera segura.
• APLICACIONES EN FACEBOOK.
En facebook se puede lograr un contacto directo con los clientes para conocer sus opiniones sobre la marca, producto o servicio que se está promocionando. IT Group diseña e implementa aplicaciones en Facebook a la medida de su empresa.

• WEB MÓVIL.
La Web móvil llega a lugares donde el cable no puede llegar, lugares que anteriormente eran impensables, como está ocurriendo en los países en vías de desarrollo. Esto trae consigo nuevas oportunidades para realizar negocios, para trabajar, para gestionar nuestro tiempo de ocio, y para muchas otras cosas, lo que nos permite incrementar nuestra capacidad de movimiento.
El acceso a la información desde cualquier lugar, en cualquier momento e independientemente del dispositivo utilizado puede alcanzarse a través de aplicaciones que se adapten dinámicamente a las necesidades del usuario, a las capacidades del dispositivo y a las condiciones del entorno.  IT Group diseña e implementa aplicaciones para web móvil.

• DISEÑO E IMAGEN CORPORATIVA.
Parte importante de la implementación de un sistema es el diseño de la aplicación. Los diseños que realizamos de las aplicaciones son coherentes con la imagen corporativa del cliente, de tal manera que proyecten los objetivos de la organización y se integren al esfuerzo global de la compañía de transmitir un mismo mensaje.

• SOPORTE Y MANTENIMIENTO.

Nuestro departamento de mantenimiento y soporte se mantiene atento a cualquier fallo que presente el sistema para atenderlo inmediatamente y solucionarlo lo más pronto posible. Siempre dispuestos a apoyar a su organización con cualquier mejora o extensión de las herramientas, de tal forma que, con el paso del tiempo el sistema se pueda ir perfeccionando o adaptando a los cambios y dinámicas de su empresa.


Algoritmos y arreglos multidimensionales


FORO TEMÁTICO DE LA UNIDAD 4

Descripción: Leer el material de la unidad cuatro y responder las siguientes preguntas:

a)   Realice un algoritmo usando arreglos.
b)  Explique cuál es la ventaja de usar arreglos multidimensionales.
c)   Comparte tips sobre para la elaboración de arreglos.


R:

a)   Se desea registrar las edades de 4 grupos de personas, cada uno de ellos con 5 elementos. Los datos deberán ser mostrados en forma posterior.

variables:
edad: arreglo(1..4,1..5) de entero
g,p: enteros

Inicio
para g 1 hasta 4 hacer
escribir(‘Grupo : ‘,g)
para p 1 hasta 5 hacer
escribir(‘Edad de la persona ‘,p)
leer(edad[g,p])
para g1 hasta 4 hacer
escribir(‘Grupo ‘,g)
para p 1 hasta 5 hacer
escribir(´persona ‘,p,’ Tiene’,edad[g,p],´años´)
Fin


b)  Un array es un medio de guardar un conjunto de objetos de la misma clase. Se accede a cada elemento individual del array mediante un número entero denominado índice. 0 es el índice del primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del array.
La ventaja de usar arreglos es que se puede usar ciclos para recorrer todos los elementos. Otra ventaja de usar arreglos es que el mismo programa puede ser utilizado para conjuntos de datos de cualquier tamaño sin requerir mayores modificaciones. El programa para promediar seis notas es exactamente igual al que se usaría para promediar treinta notas. Sólo basta con modificar el valor de la constante N.
Un arreglo multidimensional es un arreglo cuyos elementos tienen más de un índice. Son estructuras de datos que almacenan los valores en más de una dimensión.
Un arreglo multidimensional es simplemente una extensión de un arreglo unidimensional. Más que almacenar una sola lista de elementos, piense en un arreglo multidimensional como el almacenamiento de múltiples listas de elementos. Por ejemplo, un arreglo bidimensional almacena listas en un formato de tabla de dos dimensiones de filas y columnas, en donde cada fila es una lista. Las filas proporcionan la dimensión vertical del arreglo, y las columnas dan la dimensión horizontal. Un arreglo de tres dimensiones almacena listas en un formato de tres dimensiones de filas, columnas y planos, en donde cada plano es un arreglo bidimensional. Las filas  proporcionan la dimensión vertical; las columnas, la dimensión horizontal; y los planos, la dimensión de profundidad del arreglo.
Los arrays bidimensionales nos permiten trabajar con varios elementos del mismo tipo simultáneamente y para acceder a estos se hace por medio sus índices.  
Este tipo de estructura de programación estructurada hace más fácil la  ejecución, la comprensión y además se tiene una mejor presentación de  un programa.

c)    
1)    Hacer todos los ejercicios de arreglos que se pueda; hay que practicar mucho para llegar a la perfección.
2)    PRECAUCIÓN: Cuando se define un arreglo, C++ reserva suficiente memoria primaria para almacenarlo. Ésta es exclusiva para el arreglo definido y no es posible utilizarlo para otras tareas de programación o del sistema. En otras palabras, un arreglo grande consume mucha memoria.
3)    La definición del tamaño de un arreglo como “variable constante” en lugar de cómo constante hace que los programas sean más claros. Esta técnica sirve para eliminar los llamados números mágicos; por ejemplo, la mención repetida del tamaño 10 en el código de procesamiento de un arreglo de 10 elementos da a da a dicho número un significado artificial que, desgraciadamente, puede confundir al lector cuando el programa contiene otros 10 que no tienen nada que ver con el tamaño del arreglo.
4)    Busque la claridad de los programas. A veces vale la pena perder un poco en el uso eficiente de la memoria o del tiempo de procesador a favor de escribir programas más claros.
5)    Algunos programadores incluyen los nombres de variables en los prototipos de función con la finalidad de hacer más claros los programas. El compilador los ignora.
6)    Si en lugar de inicializar un arreglo con instrucciones de asignación en tiempo de ejecución, lo inicializa en tiempo de compilación mediante una lista de inicialización, el programa se ejecutará con mayor rapidez.
7)    A veces las consideraciones de desempeño tienen mucho más peso que las de claridad.
8)    Podemos aplicar static a las declaraciones de arreglos para no crear e inicializar los arreglos cada vez que se llame a las funciones en que residen, además de que el arreglo no se destruye cada vez que se sale del programa. Con esto se mejora el desempeño.
9)    Pasar arreglos simulando llamadas por referencia tiene sentido por cuestiones de desempeño. Si se pasaran los arreglos mediante llamada por valor, se pasaría una copia de cada elemento. En el caso de arreglos grandes pasados con frecuencia, esto consumiría tiempo y un espacio de almacenamiento considerable para las copias de los arreglos.
10) A veces los algoritmos más sencillos tienen un mal desempeño. Su virtud es que son fáciles de escribir, probar y depurar. A veces son necesarios algoritmos más complejos para lograr un máximo desempeño.
11) Las enormes ganancias en desempeño que tiene la búsqueda binaria sobre la búsqueda lineal no están exentas de costos. El ordenamiento de un arreglo es una operación costosa en comparación con la búsqueda de un elemento en un arreglo completo. La sobrecarga de ordenar un arreglo vale la pena cuando es necesario hacer muchas búsquedas a alta velocidad.
12) Cuando recorremos un arreglo utilizando un ciclo, el índice nunca debe ser menor que 0 y siempre deberá ser menor que el número total de elementos que tenga el arreglo (uno menos que el tamaño del mismo). Asegúrese de que la condición de terminación del ciclo evite acceder a elementos que estén fuera de este rango.
13) Los programas deberían validar que todos los valores de entrada sean correctos, a fin de evitar que los cálculos del programa sean afectados por información errónea.
14) Mediante el concepto de clases es posible implementar un arreglo inteligente, que en tiempo de ejecución revise automáticamente que todas las referencias a índices estén dentro de los límites. Dichos tipos de datos inteligentes ayudan a eliminar errores.
15) Aunque es posible modificar un contador de ciclo en el cuerpo de un for, evite hacerlo, pues es común que esto genere fallas sutiles.







“Arreglos” (programación)




                                             Actividad semana 4



“Arreglos” (programación)



Para cada uno de los siguientes ejercicios realizar:


a. Análisis de la solución


b. Definición de variables y nombres


c. Diagrama de flujo


d. Prueba de escritorio


e. Algoritmo



1. Llenar un vector (arreglo unidimensional) con 10 valores enteros y determinar cuántos de ellos son positivos, cuantos negativos.


2. Dada una matriz de 5 filas y 5 columnas imprimir la diagonal de la matriz.


3. Llenar un vector de 9 casillas con las calificaciones de un estudiante y posteriormente calcular e imprimir su promedio.


4. Una empresa dedicada a vender computadores, tiene 10 sucursales en varias ciudades. Se necesita leer las ventas mensuales de cada una de las sucursales y calcular el promedio de ventas, además sacar un listado de las sucursales cuyas ventas mensuales sean superiores al promedio.



R:

1.


Algoritmo


Proceso num_pos


Dimension a[10]


cont=0


neg=0


Escribir 'Digite el tamaño del arreglo:'


Leer c;


Para i=1 Hasta c Con Paso 1 Hacer


Escribir 'Digite Numero posición: ',i


Leer a[i]


FinPara






Para i=1 Hasta c Con Paso 1 Hacer


Si a[i]>0 Entonces


cont=cont + 1;


Fin Si


FinPara


neg=c-cont;


Escribir 'Existen ',cont,' números positivos y ',neg,' negativos.'


FinProceso



Diagrama de flujo





2.


Algoritmo


Proceso diagonal_matrices
Dimension vect(5,5);
Escribir 'ingrese el numero filas';
Leer m;
Escribir 'ingrese el numero columnas';
Leer n;
Escribir 'Digite los valores:';
Para i<-1 Hasta m Con Paso 1 Hacer
Escribir 'Fila ',i
Para j<-1 Hasta n Con Paso 1 Hacer
Leer vect(i,j);

FinPara
FinPara
Escribir 'La diagonal pincipal de la matriz es: ';
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
Si (i=j)Entonces
Escribir vect(i,j);
FinSi
FinPara
FinPara
Escribir 'La diagonal secundaria de la matriz es: ';
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-n Hasta n Con Paso 1 Hacer
Escribir vect(i,j);
n<-n-1;
FinPara
FinPara
FinProceso



Diagrama de flujo







3. 


Proceso calcular_promedio_notas
DIMENSION vect(50,50)
Escribir 'ingrese la cantidad de notas'
Leer m
Escribir 'Digite los valores:'
Para i<-1 Hasta m Con Paso 1 Hacer
Escribir 'Nota ',i
Para j<-1 Hasta 1 Con Paso 1 Hacer
Leer vect(i,j);
FinPara
FinPara
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta 1 Con Paso 1 Hacer
acm<-acm+vect(i,j);
FinPara
FinPara
prom<-acm/m;
Escribir 'El promedio del estudiante es: ',prom
FinProceso


Diagrama de flujo





4 .


Proceso calcular_promedio_ventas
DIMENSION vect(50,50)
Escribir 'ingrese la cantidad de meses'
Leer m
Escribir 'Digite los valores de las ventas por cada mes:'
Para i<-1 Hasta m Con Paso 1 Hacer
Escribir 'Mes ',i
Para j<-1 Hasta 10 Con Paso 1 Hacer
Leer vect(i,j)
FinPara
FinPara
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta 10 Con Paso 1 Hacer
acm<-acm+vect(i,j)
FinPara
FinPara
prom<-acm/m
Escribir 'El promedio general de ventas de la empresa es: ',prom
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta 10 Con Paso 1 Hacer
Si (vect(i,j)>prom) Entonces
Escribir 'Las ventas destacadas son: ',vect(i,j)
FinSi
FinPara
FinPara
FinProceso


Diagrama de flujo





Elaboración de algoritmos


FORO TEMÁTICO DE LA UNIDAD 3

Descripción: Leer el material de la unidad tres y responder las siguientes preguntas:

     1.    Realice un algoritmo usando el si múltiple y el si anidado.
     2.    Explique cuál fue la ventaja de usar el si múltiple con respecto al uso de los si anidados.
     3.    Comparte tips sobre para la elaboración de algoritmos.
4

R:
     
     1.    
Algoritmo para seleccionar  una asignatura

SI ANIDADO

inicio
opcion:caracter;
escribe('A)Español');
escribe('B)Matemáticas');
escribe('C)Historia');
escribe('D)Biologia');
escribe('opcion: ');
leer(opcion);
si opcion='A'
escribe('Español')
sino si opcion='B'
escribe('Matemáticas')
sino si opcion='C'
escribe('Historia')
sino si opcion='D'
escribe('Biologia')
sino
escribe('una asignatura inexistente')
fin

Selectiva múltiple

Dados como datos la categoría y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categoría del trabajador y el nuevo sueldo.

Definición de variables:
Cate = categoría
Sue = sueldo
Nsue = nuevo sueldo
ALGORITMO
Inicio
Leer (cate, sue)
En caso que cate sea
1: hacer nsue <-- sue * 1.15
2: hacer nsue <-- sue * 1.10
3: hacer nsue <-- sue * 1.08
4: hacer nsue <-- sue * 1.07
Fin_caso_que
Escribir (cate, nsue)
Fin

     2.    
Muchas decisiones deben tomarse, no solo entre dos alternativas, sino de un conjunto mayor. Estos casos bien pueden solucionarse utilizando condicionales dobles anidados; sin embargo, en favor de la claridad del algoritmo y la facilidad para el programador, es mejor utilizar una estructura de decisión múltiple, la cual es fácil de llevar a un lenguaje de programación, ya que éstos incluyen alguna instrucción con este fin.
La decisión múltiple determina el valor de una variable y dependiendo de éste sigue un curso de acción. Es importante tener en cuenta que solo se verifica la condición de igualdad entre la variable y la constante.

     3.    
Definir el problema: si no entiende bien de qué trata el problema, mucho menos va a hacer el diseño del algoritmo que realizará dicho problema. Por ejemplo: si va a realizar un algoritmo para calcular la comisión de ventas de un empleado, primero debe entender cómo se calcula dicha comisión. Tómese el tiempo que  para analizar el problema, un programador se toma el tiempo necesario analizando el problema, para diseñar una solución satisfactoria.
Analizar cuáles datos necesita para realizar el algoritmo: en esta parte debe pensar CUÁLES datos de entrada necesita para realizar el algoritmo. Estos datos pueden ser variables o constantes. Recuerde que una variable es un valor que puede cambiar durante la ejecución de un programa, mientras que una constante es un valor que permanece igual.
Tener claro cuál método o procedimiento va a utilizar: el método o procedimiento se refiere a la lógica que va a utilizar para realizar el algoritmo. Este método puede ser comparación de variables, una fórmula, etc. Por ejemplo: si va a realizar un programa que diga cuál es el número mayor de tres números introducidos, el método que mejor aplica para éste es comparando las variables. 
¿Cuáles son los datos de la salida o resultado?: Esta pregunta debe estar bien contestada antes de iniciar el algoritmo, si no sabe cuál o cuáles son los resultados que va a generar su algoritmo, ni se tome la molestia de iniciar a diseñarlo, ya que es como si manejara un vehículo y no supiera cuál es el destino de su viaje. Este resultado puede ser numérico o texto, dependiendo del programa a realizar. Ejemplos de resultados pueden ser la calificación final de un estudiante, o el total de una factura.


martes, 22 de julio de 2014

ESTRUCTURAS


Actividad semana 3


Curso del SENA
Metodología de la programación de sistemas informáticos

Semana 3

ESTRUCTURAS

      1.    Para  cada uno de los siguientes  ejercicios  realiza:  

a. Análisis de la solución
b. Definición de variables
c. Diagrama de flujo 
d. algoritmo


     a)    Dado un grupo de números naturales  calcular e imprimir  el cuadrado de cada uno de  ellos.
       b)    Calcule  e imprima la sumatoria de los gastos  que ocasiona un viaje de trabajo que dura  8 días.
    c)    Realiza las cuatro operaciones  aritméticas  básicas leyendo dos valores para cada operación, guardando el resultado de una variable, e imprimiendo  posteriormente  su resultado así: por la etiqueta 1, realiza una suma, por la 2 hacer una resta, por la 3 una multiplicación  y por la 4 una división.

 2.    Interprete   el siguiente diagrama de flujo; diga que hace,  realiza  la definición de variables y  el algoritmo.



R:

1.a)

Análisis del problema 
Nos pide sacar el cuadrado de ciertos números dados por el usuario, para eso declaramos la variable N que sirve cuantos números vamos a tomar, necesitamos un contador para compararlo con la variable N y determinar hasta dónde va el ciclo, una variable que capture el número a operar, y una variable que guarde la operación.

Definición de variables  
N: Sirve para determinar cuántos números vamos a operar
C: Sirve para contar los números a calcular
M: Sirve para capturar los números
CUAD: Sirve para realizar la operación
Diagrama de flujo  



Algoritmo  
1. Inicio
2. Int n, m, cuad
3. C=0
4. Leer n
5. Mientras que n sea menor igual a c hacer
6. Leer m
7. cuad=m*m
8. imprimir m
9. c=c++
10. fin_mq
11. fin_algoritmo


1.b)

Análisis del problema 
(Lo tomo como si no tuviera carro, ni estadía)
Nos pide calcular la sumatoria de los gastos de un viaje que dura 8 días, para eso necesitamos variables que capturen los gastos de cada día, otra variable que haga la suma de los gastos, un contador para limitar el ciclo, un acumulador que guarde cada vez la suma de los gastos.

Definición de variables  
Com= Sirve para capturar el gasto de la comida
Trans= Sirve para capturar el gasto del transporte
Estad= Sirve para captura el gasto del hotel
Otros= Sirve para capturar otros gastos
Total= Sirve para sumar los gastos
Sumatot= Sirve para acumular la suma de los gastos
C= Sirve como contador

Diagrama de flujo 

ALGORITMO
1. Inicio
2. float com, trans, estad, otros, total, sumatot
3. c=0
4. mientras que c sea menor igual que 8 hacer
5. leer com, trans, estad, otros
6. total=com+trans+estad+otros
7. sumatot=sumatot+total
8. c=c++
9. fin_mq
10. imprimir sumatot
11. fin_algoritmo

2.c)
Análisis del problema  
Para este problema debemos utilizar la estructura case, utilizaremos dos variables para capturar los dos números, otra para capturar el caso a elegir, y 4 variables para hacer las operaciones

Definición de variables  
N1=Sirve para capturar un número
N2=Sirve para capturar un número
oper= Sirve para capturar el número de la operación
sum= sirve para hacer la suma
rest= sirve para hacer la resta
mult= sirve para hacer la multiplicación
div= sirve para hacer la división ...

Diagrama de flujo

Algoritmo
1.    inicio
2.    escribir N1, N2, oper, sum, rest, mult, div
3.    escribir etiqueta 1 para sum
4.    escribir etiqueta 2 para rest
5.    escribir etiqueta 3 para mult
6.    escribir etiqueta 4 para div
7.    imprimir
8.    fin

3.     
¿Qué hace?
Realiza la suma de los números del 1 al 6 y la escritura de su total.

Definición de variables
Las variables son: el acumulado de la suma de números “hasta que” se sumen todos los números y la cuenta de números que se hayan contado.

Algoritmo
    1.    inicio
    2.    escribir números a sumar
    3.    iniciar suma
    4.    escribir números “hasta que” (hay un bucle simple)
    5.    escribir y/o imprimir resultado

    6.    fin