# data[].attributes.body
Inicio
Ir al baño
Meterse bajo la ducha
Abrir la ducha
Mojarse todo el cuerpo
Apagar la ducha
Enjabonarse el cuerpo
Prender la ducha
Enguajar el cuerpo con agua
Apagar la ducha
Salir de la ducha
Secarse el cuerpo con una toalla
Fin

El problema a resolver son las instrucciones para bañarse. El algoritmo va guiando paso a paso las acciones ordenadas y precisas necesarias, para llegar a darse un baño.

# data[].attributes.body
Inicio
Armar la lista de lo que hay que comprar
Llevar dinero
Ir al supermercado
Buscar el carrito del supermercado
Entrar al supermercado
Buscar cada artículo de la lista y ponerlo en el carrito
Ir a la caja y pagar lo comprado
Llevarse los artículos comprados
Dejar el carrito del supermercado
Fin

Este algoritmo indica los pasos secuenciales necesarios para realizar una compra se supermercado. Si bien podría tener muchos pasos más, esta es una versión simplificada de esta acción, por lo que tuve que hacer una abstracción previa y definir pasos que resuelven la situación.

# data[].attributes.body
Inicio.
Voy al tacho de basura de la cocina.
Abro la tapa del tacho de basura.
Cierro la bolsa.
Saco la bolsa del tacho de basura de la cocina.
Cierro la tapa del tacho de basura.
Salgo de mi casa con la bolsa de basura.
Coloco la bolsa de basura en el cesto de la basura de la vereda de mi casa.
Fin.

En este otro ejemplo el algoritmo cuenta con  pasos ordenados que me indican las acciones precisas a realizar para sacar la basura al cesto de la vereda.

# data[].attributes.body
Inicio
Busco la mochila
Veo que tengo que llevar en el día de hoy
Abro la mochila
Saco de la mochila lo que no uso el día de hoy
Pongo en la mochila lo que si voy a usar el día de hoy
Cierro la mochila
Fin

En este otro ejemplo también un algoritmo da varias instrucciones ordenadas y precisas que me llevan a preparar la mochila. Como en todos los algoritmos hechos, los pasos son finitos por eso incluí el inicio y el fin.
Todos estas circunstancias que se hacen de forma automática muestran la frecuencia con la que usamos algoritmos sin darnos cuenta, permitiendo resolver diversas situaciones habituales.

# data[].attributes.headline
Actividad 1: Diagrama de flujo  - Algortimo sándwich

# data[].attributes.subject
Actividad 1: Diagrama de flujo  - Algortimo sándwich

# data[].attributes.body
Decisiones tomadas

Primero tuve que hacer una abstracción para ser precisa en las instrucciones a poner para que no haya acciones ambiguas. Inicio del algoritmo, cada instrucción comienza con un verbo, unas tienen que ver con la búsqueda de elementos, otras con algo concreto a realizar y algunas con movimientos necesarios para llegar al resultado deseado.

La instrucción de buscar materiales la unifiqué en una sola, vendría a significar los elementos (o datos) que necesito para realizar el sándwich.

# data[].attributes.body
Aquí me doy cuenta que considerando el ejemplo anterior puedo diferenciar entre procesos y entradas y salidas. C

ambié los colores de los símbolos acordes a los que están en el pdf.

# data[].attributes.body
Las diferencias entre el pseudocódigo y el diagrama de flujo radica en que los símbolos del diagrama de flujo grafican mejor, el tipo de instancia del algoritmo. El diferenciar colores ayuda también.

# data[].attributes.body
El problema presenta una situación cotidiana donde hay que tomar una decisión si no alcanza el dinero para pagar la cuenta. En ese caso se van restando productos del total a pagar hasta que alcance el dinero que se tiene para pagar

# data[].attributes.body
Este caso plantea varios cambios que no están en la versión original (actividad 1). Me fui dando cuenta la diferencia de la simbología de los datos de entrada y de salida. Diferencié más los colores de los símbolos para que se entienda mejor. Consideré la posibilidad de que los ingredientes no estén todos, por lo que sumé medio un cuadro de decisión que repite la acción hasta que tenga todo lo necesario, para poder comenzar a confeccionar el sándwich.

# data[].attributes.headline
Actividad 1: Pseucódigo - Algoritmo sándwich

# data[].attributes.subject
Actividad 1: Pseucódigo - Algoritmo sándwich

# data[].attributes.body
Decisiones tomadas

Tomé el ejemplo ya usado en la guía anterior. Se muestra una secuencia de pasos, en este caso lineal, siguiendo un orden. Aquí puse atención en que cada línea del pseudocódigo comenzara con un verbo. Las primeras instrucciones se relacionan con los insumos que necesito para llegar al objetivo que es armar un sándwich. En este caso tengo todos los ingredientes al comenzar el algoritmo.

# data[].attributes.body
Decisiones: Tome uno de los ejemplos dados. En la comparación veo más claro el diagrama de flujo. En el mismo procuré poner simbología un poco más específica, en lo que considero una entrada y salida de datos. También diferencié con colores y veo que se hace más claro a la vista la solución del problema.

# data[].attributes.body
Problema:

En una escuela se tiene que matricular a los estudiantes de primer año. Para ello necesitamos un algoritmo que nos diga si el estudiante puede ser matriculado o no.

Enfoque:

En este caso hay un dato que se ingresa y luego una condición, aquí la decisión es disyuntiva, ya que hay una instrucción para el caso de verdadero y otra para el de falso. Si bien las dos opciones son claras en la segunda utilicé en la condición operadores relacionales.

# data[].attributes.headline
Actividad 1: Introducción a variables y operadores

# data[].attributes.subject
Actividad 1: Introducción a variables y operadores

# data[].attributes.body
Situación: Inscripción de estudiantes para matriculación. Ejemplos de variables

Nombre=Julia

Tipo alfanumérica, contenido Julia, nombre de la variable Nombre

Apellido= Soler

Tipo alfanumérica, contenido Soler, nombre de la variable Apellido

Promedio=8,5

Tipo numérica real, contenido 8,5, nombre de la variable Promedio

DNI=44349002

Tipo numérica entera, contenido 44349002, nombre de la variable DNI

El signo igual se usa para asignarle el valor a la variable. Ejemplo: si quiero mostrar el contenido de la variable Nombre se mostrará Julia.

# data[].attributes.body
Uso de operador de asignación (=) y operadores aritméticos

Asigno valor a las variables

Num1=100

Num2=500

Realizo operaciones aritméticas con las variables creadas

tSuma=Num1+Num2

Tresta=Num1-Num2

Tmulti=Num1*Num2

Tdivi=Num1/Num2

Tresto=Num1%Num2

# data[].attributes.headline
Actividad 3: Operadores relacionales y lógicos

# data[].attributes.subject
Actividad 3: Operadores relacionales y lógicos

# data[].attributes.body
Los operadores de comparación o relacionales, permiten realizar acciones o tomar decisiones,  acordes a la resolución del problema que tengamos.  Los operadores lógicos suman más condiciones o bien la niega. Ambos operadores, llevan a analizar los contenidos de las variables con mayor profundidad, y tomar distintas decisiones.

# data[].attributes.headline
Actividad 4: Resolución de problemas con variables y operadores

# data[].attributes.subject
Actividad 4: Resolución de problemas con variables y operadores

# data[].attributes.body
Algoritmo cena de egresados

Inicio

PrecioTmen=7000

PrecioTmay=15000

Solicitar al cliente su nombre,  colocar en variable Nombre

Solicitar al cliente que ingrese la cantidad de tarjetas de menores que comprará, colocar en variable Tmen

TotTmen=PrecioTmen*Tmen

Solicitar al cliente que ingrese la cantidad de tarjetas de mayores que comprará, colocar en variable Tmay

TotTmay=PrecioTmay*Tmay

Total=TotTmen+TotTmay

Mostrar Nombre

Si Total>100000 entonces

Total=Total-10000

Mostrar “ Se le ha otorgado un descuento de $10.000”

Fin si

Mostrar “ Su total a pagar es”, Total

Fin

En el ejemplo hay variables que tiene valores fijos, otras el usuario carga el mismo y otras los valores provienen de cálculos matemáticos. En este caso utilicé una condición para aplicar un descuente para el caso de que la misma sea verdadera.

# data[].attributes.body
Problema dado por el tutor. Calcular el área de un rectángulo

# data[].attributes.body
Problema

El  tope del costo para cierto producto es de  $50.000. Solicitar que el usuario ingrese  2 insumos y la mano de obra del producto. Luego  mostrar  el total de costo del mismo  y  si excede o no el tope.

Algoritmo costo

Inicio

Insumo1= ingrese el monto del insumo 1 y asígnelo a la variable

Insumo2= ingrese el monto del insumo 2 y asígnelo a la variable

MObra= ingrese el monto de la Mano de Obra y asígnelo a la variable

Costo= Insumo1+Insumo2+MObra

Mostrar Costo

Si Costo < 50000 entonces

Mostrar No excede el tope calculado

Si no

Mostrar Excede el monto calculado

Fin

# data[].attributes.body
Problema: Calcular el total de los gastos de un viaje de vacaciones de 4 días,  solicitar que se ingrese la cantidad de personas que viajaran y calcular el total de gastos. Los datos que se suministran son por persona. Ellos son: Pasajes ida y vuelta $30.000, Alojamiento $80.000, Comidas $60.000, Paseos $30.000 y presupuesto para regalos $ 20.000. Al final mostrar el total de gastos.

Algoritmo Cálculo de gastos de viaje

Inicio

Pasajes=30000

Alojamiento=80000

Comidas=60000

Paseos=30000

Regalos=20000

Personas= Ingrese la cantidad de personas que van a viajar y asignar a la variable Personas

Totalgastos=(Pasajes+Alojamiento+Comidas+Paseos+Regalos)*Personas

Mostrar Totalgastos

Fin

En este problema se suministran los gastos del viaje para una persona y  se pide ingresar la cantidad de personas para calcular cuánto saldría para la cantidad de personas que ingrese el usuario. Al final muestra como salida el total de gastos.

# data[].attributes.body
En el problema del cálculo de los gastos de un viaje de la actividad 3 le agregué como mejora que el usuario ingrese los valores de cada gasto y la cantidad de días que se quedará para que sirva en muchas situaciones.

Algoritmo gastos viaje

Inicio

Transporte=Ingresar el costo del transporte ida y vuelta y asignarlo a la variable Transporte

Dias= Ingresar la cantidad de días que se quedará en el lugar y asignar a la variable Dias

Alojamiento=Ingresar el costo del alojamiento por día y asignar a la variable Alojamiento

Comidas=Ingresar el costo la comida por día y asignar a la variable Comidas

Paseos=Ingresar el costo la paseos o excursiones por día y asignar a la variable Paseos

Total=Transporte + ( (Alojamiento+Comidas+Paseos) *Dias)

Personas= Ingrese la cantidad de personas que van a viajar y asignar a la variable Personas

Varios=Ingresar la cantidad estimada que piensa gastar cada persona para regalos y o gastos varios en todo el viaje y asignar el valor a la variable Varios

Total= (Total*Personas) + Varios

Mostrar Total

Fin

Mejoras: En esta solución se solicitan que el usuario ingrese todos los montos de los gastos no siendo valores fijos como en la actividad 3. Se solicita el monto del transporte, alojamiento, comidas y paseos y se pide la cantidad de días del viaje. Allí se incorpora una variable Total que será un acumular de los gastos haciendo cálculos en dos instancias. Luego se solicita la cantidad de personas que viajan y un estimado general de gastos para todo el viaje. Estos datos se acumulan en la variable Total. Al final se muestra el total final.