5 - Estructura de programación secuencial

Cuando en un problema sólo participan operaciones, entradas y salidas se la denomina una estructura secuencial.
Los problemas diagramados y codificados previamente emplean solo estructuras secuenciales.

Problema:

Realizar la carga de dos números enteros por teclado e imprimir su suma y su producto.

Diagrama de flujo:

diagrama flujo suma producto números
Tenemos dos entradas num1 y num2, dos operaciones: calcular la suma y el producto de los valores ingresados y dos salidas, que son los resultados de la suma y el producto de los valores ingresados. En el símbolo de impresión podemos indicar una o más salidas, eso queda a criterio del programador, lo mismo para indicar las entradas por teclado.

Programa: ejercicio004.go

package main

import "fmt"

func main() {
    var num1, num2, suma, producto int
    fmt.Print("Ingrese primer valor:")
    fmt.Scan(&num1)
    fmt.Print("Ingrese segundo valor:")
    fmt.Scan(&num2)
    suma = num1 + num2
    producto = num1 * num2
    fmt.Println("La suma de los dos valores es:", suma)
    fmt.Println("El producto de los dos valores es:", producto)
}

Todo programa en go debe tener un paquete llamado main:

package main

Para poder utilizar las funciones Print, Println y Scan debemos importar el paquete que las contiene y que se llama "fmt":

import "fmt"

La función main es donde disponemos nuestro algoritmo.:

func main()

Todo el algoritmo de la función main va encerrado entre llaves de apertura y cerrado:

func main() {
    ..........
}

Dentro de la función main lo primero que hacemos es definir las variables que requiere nuestro algoritmo.
Podemos definir varias variables en la misma línea si son del mismo tipo (podemos definir una por línea si queremos):

    var num1, num2, suma, producto int

Mostramos un mensaje por pantalla indicando al operador que cargue el primer valor empleando la función Print contenida el el paquete fmt:

    fmt.Print("Ingrese primer valor:")

Para la entrada de datos por teclado utilizamos la función Scan donde indicamos el nombre de la variable a cargar antecedida por el caracter &:

    fmt.Scan(&num1)

Los mismos pasos efectuamos para la carga del segundo número:

    fmt.Print("Ingrese segundo valor:")
    fmt.Scan(&num2)

Las operaciones las codificamos en forma idéntica a como lo indicamos en el diagrama de flujo. Recordar que siempre una operación debe tener el operador de asignación "=":

    suma = num1 + num2
    producto = num1 * num2

Debemos mostrar seguidamente un mensaje por pantalla indicando que el valor que se muestra es la suma:

    fmt.Println("La suma de los dos valores es:", suma)

La diferencia entre las funciones Println y Print es que la primera luego de mostrar deja el cursor en la línea siguiente, sino se amontonarían los resultados en la misma línea.

Mostramos de forma semejante el producto por pantalla:

    fmt.Println("El producto de los dos valores es:", producto)

El resultado en pantalla de ejecutar este programa será similar a esto:

programa go de suma producto números

Problemas propuestos

  • Realizar la carga del lado de un cuadrado, mostrar por pantalla el perímetro del mismo (El perímetro de un cuadrado se calcula multiplicando el valor del lado por cuatro)
  • Escribir un programa en el cual se ingresen cuatro números, calcular e informar la suma de los dos primeros y el producto del tercero y el cuarto.
  • Realizar un programa que solicite por teclado cuatro valores numéricos enteros e informar su suma y promedio.
  • Se debe desarrollar un programa que pida el ingreso del precio de un artículo y la cantidad que lleva el cliente. Mostrar lo que debe abonar el comprador.
    Definir una variable float32 para el precio del artículo.
Solución

ejercicio005.go

package main

import "fmt"

func main() {
    var lado, perimetro int
    fmt.Print("Ingrese el lado del cuadrado:")
    fmt.Scan(&lado)
    perimetro = lado * 4
    fmt.Print("El perímetro del cuadrado es:", perimetro)
}




ejercicio006.go

package main

import "fmt"

func main() {
    var valor1, valor2, valor3, valor4 int
    var suma, producto int
    fmt.Print("Ingrese el primer valor:")
    fmt.Scan(&valor1)
    fmt.Print("Ingrese el segundo valor:")
    fmt.Scan(&valor2)
    fmt.Print("Ingrese el tercer valor:")
    fmt.Scan(&valor3)
    fmt.Print("Ingrese el cuarto valor:")
    fmt.Scan(&valor4)
    suma = valor1 + valor2
    producto = valor3 * valor4
    fmt.Println("La suma de los dos primeros valores es:", suma)
    fmt.Print("El producto del tercero y el cuarto es:", producto)
}




ejercicio007.go

package main

import "fmt"

func main() {
    var valor1, valor2, valor3, valor4 int
    var suma, promedio int
    fmt.Print("Ingrese el primer valor:")
    fmt.Scan(&valor1)
    fmt.Print("Ingrese el segundo valor:")
    fmt.Scan(&valor2)
    fmt.Print("Ingrese el tercer valor:")
    fmt.Scan(&valor3)
    fmt.Print("Ingrese el cuarto valor:")
    fmt.Scan(&valor4)
    suma = valor1 + valor2 + valor3 + valor4
    promedio = suma / 4
    fmt.Println("La suma de los cuatro valores es:", suma)
    fmt.Print("El promedio de los cuatro valores es:", promedio)
}




ejercicio008.go

package main

import "fmt"

func main() {
    var precio float32
    var cantidad int
    var importe float32
    fmt.Print("Ingrese el precio del producto:")
    fmt.Scan(&precio)
    fmt.Print("Ingrese la cantidad de producto a llevar:")
    fmt.Scan(&cantidad)
    importe = float32(cantidad) * precio
    fmt.Print("El importe total a pagar es:", importe)
}