6 - 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.

Si queremos llegar a ser programadores debemos llevar a cabo una práctica constante de diagramación y codificación de problemas.

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.

Proyecto4

program Proyecto4;

{$APPTYPE CONSOLE}

var
  num1, num2: Integer;
  suma, producto: Integer;

begin
  Write('Ingrese el primer valor:');
  ReadLn(num1);
  Write('Ingrese el segundo valor:');
  ReadLn(num2);
  suma := num1 + num2;
  producto := num1 * num2;
  WriteLn('La suma de los dos valores ingresados es:', suma);
  Writeln('El producto de los dos valores ingresados es:', producto);
  ReadLn;
end.

Previo al bloque begin end debemos definir todas las variables que hemos definido en nuestro diagrama de flujo. Podemos definir cada variable en una línea o agruparlas como hemos hecho en este problema para que se lea mejor el programa:

var
  num1, num2: Integer;
  suma, producto: Integer;

Dentro del bloque begin end es donde disponemos nuestro algoritmo.

Mostramos un mensaje por pantalla indicando al operador que cargue el primer valor empleando el procedimiento Write:

  Write('Ingrese el primer valor:');

Para la entrada de datos por teclado utilizamos el procedimento ReadLn donde obligatoriamente indicamos el nombre de la variable a cargar :

  ReadLn(num1);

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

  Write('Ingrese el segundo valor:');
  ReadLn(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;

Podemos utilizar el procedimento Write y WriteLn para mostrar mensajes y contenidos de variables simplemente separando cada una por una coma:

  WriteLn('La suma de los dos valores ingresados es:', suma);
  Writeln('El producto de los dos valores ingresados es:', producto);

La diferencia entre Write y WriteLn es que este último luego de imprimir deja el cursor en la siguiente línea, es decir hace un salto de línea.

Siempre al final del programa llamamos al procedimiento ReadLn para que el operador presione una tecla y finalice recién el programa:

  ReadLn;

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

programa Pascal en Delphi 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 lea cuatro valores numéricos enteros e informar su suma y promedio. Cuando tenemos que dividir valores enteros debemos utilizar el operador div:
      promedio := suma div 4;
    
  • 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 Double para el precio del artículo.
Solución

program Proyecto5;

{$APPTYPE CONSOLE}

var
  lado: Integer;
  perimetro: Integer;

begin
  Write('Ingrese el lado del cuadrado:');
  ReadLn(lado);
  perimetro := lado * 4;
  WriteLn('El perímetro del cuadrado es:', perimetro);
  ReadLn;
end.




program Proyecto6;

{$APPTYPE CONSOLE}

var
 num1, num2, num3, num4: Integer;
 suma, producto: Integer;

begin
  Write('Ingrese primer valor:');
  ReadLn(num1);
  Write('Ingrese segundo valor:');
  ReadLn(num2);
  Write('Ingrese tercer valor:');
  ReadLn(num3);
  Write('Ingrese cuarto valor:');
  ReadLn(num4);
  suma := num1 + num2;
  producto := num3 * num4;
  WriteLn('La suma de los dos primero valores es:', suma);
  WriteLn('El producto del tercer y cuarto valor es:', producto);
  ReadLn;
end.




program proyecto7;

{$APPTYPE CONSOLE}

var
  num1, num2, num3, num4: Integer;
  suma, promedio: Integer;

begin
  Write('Ingrese primer valor:');
  ReadLn(num1);
  Write('Ingrese segundo valor:');
  ReadLn(num2);
  Write('Ingrese tercer valor:');
  ReadLn(num3);
  Write('Ingrese cuarto valor:');
  ReadLn(num4);
  suma := num1 + num2 + num3 + num4;
  promedio := suma div 4;
  WriteLn('La suma de los cuatro valores es:', suma);
  WriteLn('El promedio es:', promedio);
  ReadLn;
end.




program Proyecto8;

{$APPTYPE CONSOLE}

var
  cantidad: Integer;
  precio: Double;
  importe: Double;

begin
  Write('Ingrese la cantidad de articulos a llevar:');
  ReadLn(cantidad);
  Write('Ingrese el valor unitario del producto:');
  ReadLn(precio);
  importe := precio * cantidad;
  Write('El importe total a pagar es:', importe:0:2);
  ReadLn;
end.