You are on page 1of 45

Universidad Tecnológica La Salle

León, Nicaragua

Introducción a la
Programación
Tema 3: Estructura de un Programa

Profesor:
M.Sc. Néstor Castro A.
Contenido
 Partes Constitutivas de un Programa
 Instrucciones y Tipos de Instrucciones
 Elementos Básicos de un Programa
 Datos y Operaciones Primitivas
 Constantes y Variables
 Expresiones
 Funciones Internas
 Operación de Asignación
 Entrada y Salida de Información
 Escritura de Algoritmos/Programas
Bibliografía
 Joyanes Aguilar, Luis. Fundamentos de
Programación: Algoritmos, Estructuras de
Datos y Objetos. Tercera Edición. Editorial
McGraw-Hill, 2003.
◦ Capítulo 3. Estructura general de un
programa. Páginas 83 - 112.
Partes Constitutivas de un
Programa
 Un programa está compuesto por entrada(s),
salida(s) y algoritmos.
Programa
Entrada (algoritmo de Salida
resolución)

 La operación de entrada de datos se conoce


como operación de lectura o acción leer desde
teclado, disco, etc.
 La operación de salida de datos se conoce
como escritura o acción escribir en periféricos
de salida: pantalla, impresora.
Instrucciones (I)
 Un programa consta de un conjunto de acciones
o instrucciones para resolver el problema.
 Estas instrucciones deben estar en memoria
en siguiendo un orden de ejecución.
 Según el orden de ejecución de las
instrucciones, un programa puede ser:
◦ Lineal: las instrucciones se ejecutan
secuencialmente, sin bifurcaciones, decisión ni
comparaciones.
◦ No lineal: se interrumpe la secuencia mediante
instrucciones de bifurcación.
Instrucciones (II)
 Tipos de Instrucciones
◦ Las instrucciones específicas depende del tipo
de lenguaje de programación.
◦ Las instrucciones básicas son
independientes del lenguaje. Estas son:
 Instrucciones de Inicio/Fin (inicio, fin).
 Instrucciones de asignación (←).
 Instrucciones de lectura (leer).
 Instrucciones de escritura (escribir).
 Instrucciones de bifurcación.
Instrucciones (III)
 Instrucciones de Asignación
◦ Se utiliza el símbolo ← para indicar una
asignación.
◦ Ejemplos:
A ← 80
A ← 10; B ← 20
AUX ← A
A ← B
B ← AUX
N ← N + 5
Instrucciones (IV)
 Instrucciones de Lectura
◦ Instrucciones para leer datos desde un
dispositivo de entrada.
◦ Usualmente se usa la palabra leer para
indicar esta acción.
◦ Ejemplos:
 leer (NÚMERO, HORAS, TASA)
 leer (A, B, C)
 leer X
leer Y
Instrucciones (V)
 Instrucciones de Escritura
◦ Instrucciones para escribir datos en un
dispositivo de salida.
◦ Usualmente se usa la palabra escribir para
indicar esta acción.
◦ Ejemplos:
 A ← 100
B ← 200
C ← 300
escribir (A, B, C)
Instrucciones (VI)
 Instrucciones de Bifurcación (I)
◦ Una bifurcación puede ser, según el punto
hacia donde se bifurca, hacia adelante o hacia
atrás.
◦ Tipos de bifurcaciones:
 Incondicional: se realiza siempre que el flujo
del programa pase por la instrucción sin
necesidad de evaluar una condición.
 Condicional: la bifurcación depende del
cumplimiento de una condición.
Instrucciones (VII)
 Instrucciones de Bifurcación (II)

¿condición?

Acción F1 Acción F1
Elementos Básicos de un
Programa (I)
 Los elementos básicos constitutivos de un
programa o algoritmo son:
◦ Palabras reservadas (inicio, fin, si-
entonces, etc)
◦ Identificadores (nombres de variables,
procedimientos, funciones, etc.)
◦ Caracteres especiales (coma, apóstrofe, etc.)
◦ Constantes
◦ Variables
◦ Expresiones
◦ Instrucciones
Elementos Básicos de un
Programa (II)
 Elementos complementarios:
◦ Bucles
◦ Contadores
◦ Acumuladores
◦ Interruptores
◦ Estructuras
 Secuenciales
 Selectivas
 Repetitivas
Datos y Tipos de Datos (I)
 Un dato es la expresión general que describe
los objetos con los cuales opera una
computadora.
 Las computadoras pueden trabajar con varios
tipos (modos) de datos:
◦ Simples: datos básicos sin estructura:
 Numéricos (integer, real)
 Lógicos (boolean)
 Carácter (char, string)
◦ Compuestos: datos estructurados.
Datos y Tipos de Datos (II)
 Datos Numéricos (I)
◦ El tipo numérico es el conjunto de los valores
numéricos. Pueden representarse como:
 Tipo numérico entero (integer).
 Tipo numérico real (real).
◦ Enteros: subconjunto finito de los números
enteros.
 Son números completos (sin fracciones o
decimales) y pueden ser negativos o positivos.
 Ejemplos: 5, -15, 1520.
Datos y Tipos de Datos (III)
 Datos Numéricos (II)
◦ Reales: subconjunto de los números reales.
 Tienen un punto decimal y pueden ser
negativos o positivos.
 Constan de una parte entera y una decimal.
 Ejemplos: 0.08, -8-12, 1540.32.
Datos y Tipos de Datos (IV)
 Datos Lógicos (booleanos)
◦ El tipo lógico, también denominado booleano,
es aquel dato que sólo puede tomar uno de
dos valores:
 verdarero (true) / falso (false)
 si / no
1/0
◦ Se utiliza para representar alternativas a
determinadas condiciones.
Datos y Tipos de Datos (V)
 Datos tipo Carácter y Cadena
◦ El tipo carácter es el conjunto finito y
ordenado de caracteres que la computadora
reconoce. Un dato de este tipo contiene un
único carácter.
◦ Tipos de caracteres: alfabéticos (a, b, …, z),
numéricos (1, 2, …, 0) y especiales (+, -, …) .
◦ Una cadena de caracteres es una sucesión
de caracteres que se encuentran delimitados
por comillas. Ejemplo: “Hola Mundo”.
Constantes y Variables (I)
 Constantes
◦ Los valores que no deben cambiar durante la
ejecución del programa se llaman constantes.
◦ Una constante es una partida de datos que
permanece sin cambios durante todo el
algoritmo o ejecución del programa.
◦ El tipo de constante depende de los tipos
soportados. Se pueden tener constantes de
tipo entero, real, lógico, carácter y cadena.
Constantes y Variables (II)
 Variables
◦ Una variable es una partida de datos cuyo
valor puede cambiar durante el desarrollo
del algoritmo o ejecución del programa.
◦ Las variables tienen un tipo (entero, real,
carácter, etc.) y sólo pueden tomar valores
del tipo especificado.
◦ Una variable se identifica por los siguientes
atributos: nombre (identificador) y tipo.
Expresiones (I)
 Las expresiones son combinaciones de
constantes, variables, símbolos de operación,
paréntesis y nombres de funciones especiales.
 Cada expresión toma un valor a partir de las
variables, constantes y operaciones implicadas.
 Constan de operandos y operadores.
 Según objetos manipulados, se clasifican en:
◦ Aritméticas (resultado numérico)
◦ Relacionales (resultado lógico)
◦ Lógicas (resultado lógico)
◦ Carácter (resultado carácter)
Expresiones (II)
 Expresiones Aritméticas (I)
◦ Son análogas a las fórmulas matemáticas.
◦ Las variables y constantes son númericas; y las
operaciones son aritméticas:
 Suma: +
 Resta: -
 Multiplicación: *
 División: /
 Exponienciación: ↑, **, ˄
 División entera: div
 Módulo (resto): mod, %
Expresiones (IV)
 Reglas de Prioridad o Precedencia (I)
◦ Las expresiones compuestas requieren reglas que
determinen en el orden de las operaciones.
◦ Estas reglas son las siguientes:
 Las operaciones entre paréntesis se evalúan
primero. Si hay paréntesis anidados, las expresiones
más internas se evalúan primero.
 Las operaciones aritméticas dentro de una
expresión suele seguir el siguiente orden:
 Operador exponencial (↑, **, ˄); Operadores
multiplicación y división (*, /); Operadores div y mod;
Operadores de suma y resta (+, -)
Expresiones (V)
 Reglas de Prioridad o Precedencia (II)
◦ Ejemplos
 3 + 6 * 14 =
3 + 84 = 87
 -4 * 7 + 2 ˄ 3 / 4 – 5 =
-4 * 7 + 8 / 4 – 5 =
-28 + 2 – 5 = -31
 (8 + 7) * 3 + 4 * 6 =
15 * 3 + 4 * 6 =
45 + 24 = 69
Expresiones (VI)
 Expresiones Lógicas (I)
◦ Una expresión lógica es aquella que sólo puede
tomar dos valores: verdadero o falso.
◦ Se forman combinando constantes, variables y
otras expresiones lógicas, utilizando operadores
lógicos y relacionales.
◦ Operadores lógicos: not, and, or. Operan sobre
operandos lógicos.
◦ Operadores relacionales: =, <, >, <=, >=, <>.
Operan sobre operandos de cualquier tipo.
Expresiones (VII)
 Expresiones Lógicas (II)
◦ Operadores relacionales:
 Menor que: <
 Mayor que: >
 Igual que: =
 Menor o igual que: <=
 Mayor o igual que: >=
 Distinto de: <>
Expresiones (VIII)
 Expresiones Lógicas (III)
◦ Operadores lógicos:
 Negación: no (not)
 Conjunción: y (and)
 Disyunción: o (or)
◦ Las definiciones de las operaciones lógicas con
operadores lógicos se resumen en unas tablas
conocidas como tablas de verdad.
Expresiones (IX)
 Expresiones Lógicas (IV)
◦ Ejemplos:
Expresión Resultado
3<6 Verdadero
9 >= 9 Verdadero
5 <> 5 Falso
Verdadero o Falso Verdadero
(8 < 5) y (5 < 10) Falso
(5 > 10) o (‘A’ < ‘B’) Verdadero
(no Verdadero) o Falso Falso
Expresiones (X)
 Prioridad de Operadores (Pascal)
◦ Orden de mayor prioridad (primera ejecutada)
a menor prioridad (última ejecutada):
 no (not)
 /, *, div, mod, y (and)
 +, -, o (or)
 <, >, =, <=, >=, <>
◦ Ejemplo:
 no (4 > 7) y (2 + 3 > 4) =
no (4 > 7) y (5 > 4) =
no falso y verdadero = verdadero
Funciones Internas (I)
 Operaciones frecuentes son incorporadas
como funciones internas o estándares.
 Algunas funciones internas son las siguientes:
◦ Valor absoluto: abs(x)
◦ Coseno: cos(x)
◦ Seno: seno(x)
◦ Redondeo: redondeo(x)
◦ Cuadrado: cuadrado(x)
◦ Raíz cuadrada: raiz2(x)
Funciones Internas (II)
 Ejemplos:
◦ Uso de funciones:
 raiz2(25) // Resultado: 5
 redondeo(6.5) // Resultado: 7
 cuadrado(4) // Resultado: 16
◦ Expresiones con funciones
 x1 = (-b + raiz2 (cuadrado(b) - 4 * a
* c)) / (2 * a)
Operación de Asignación (I)
 La asignación es el modo de almacenar
valores a una variable.
 La asignación se representa con el símbolo ←.
 El formato general es el siguiente:
nombre_de_variable ← expresión
expresión ← expresión, variable, constante
 La asignación es destructiva porque valor
anterior de una variable es reemplazado.
 Las acciones de asignación se clasifican según
el tipo de expresión en: aritméticas, lógicas y de
caracteres.
Operación de Asignación (II)
 Asignación Aritmética
◦ Las expresiones en la operación de asignación
son de tipo aritméticas.
◦ Se evalúa y calcula la expresión aritmética y se
asigna el resultado.
◦ Ejemplos:
X ← 3 + 14 +8
A ← 10
B ← 12
C ← A + B
Operación de Asignación (III)
 Asignación Lógica
◦ La expresión que se evalúa en la operación de
asignación es de tipo lógica.
◦ Ejemplo:
 M ← 8 < 5
N ← 7 > 3
X ← M o N
 Asignación de Cadenas de Caracteres
◦ La expresión evaluada es de tipo cadena.
◦ Ejemplo:
 X ← “11 de Junio de 2010”
Entrada y Salida
 En la escritura de algoritmos las acciones de
lectura y escritura se representan con los
siguientes formatos:
◦ Lectura:
leer (lista de variables de entrada)
Ejemplo: leer (A, B, C)
◦ Escritura:
escribir (lista de variables de salida)
Ejemplo: escribir (‘Hola Mundo’)
 Los dispositivos de E/S por defecto son el
teclado y la pantalla.
Escritura de Algoritmos (I)
 Se usará el lenguaje algorítmico.
 Un algoritmo constará de dos componentes
generales: una cabecera del programa y un
bloque de algoritmo.
 El bloque de algoritmo consta a su vez de dos
secciones: las acciones de declaración y las
acciones ejecutables.
 Estructura General:
Cabecera del programa
Sección de declaración
Sección de acciones
Escritura de Algoritmos (II)
 Cabecera del Programa
◦ Sección donde se expresa el identificador o
nombre asignado al programa precedido de
la palabra clave algoritmo.
◦ Ejemplo:
algoritmo demo1
{sección de declaraciones}
...
{sección de acciones}
...
Escritura de Algoritmos (III)
 Declaración de Variables (I)
◦ En esta sección se declaran todas la variables
usadas en el algoritmo.
◦ Se usa la palabra reservada var y tiene el
siguiente formato:
var
tipo-1: lista de variables-1
tipo-2: lista de variables-2

tipo-n: lista de variables-n
◦ lista de variables es una variables simple o
una lista de variables separadas por coma.
Escritura de Algoritmos (IV)
 Declaración de Variables (II)
◦ Ejemplo:
var
entera : Numero_Empleado
real : Horas
real : Impuesto
real : Salario
O equivalentemente:
var
entera : Numero_Empleado
real : Horas, Impuesto, Salario
Escritura de Algoritmos (V)
 Declaración de Constantes Numéricas
◦ En esta sección se declaran todas las constantes
que tengan nombres.
◦ Se usa la palabra reservada const.
◦ El formato y ejemplo es el siguiente:
const
pi = 4.141592
tamaño = 43
horas = 6.5
Escritura de Algoritmos (VI)
 Declaración de Constantes Carácter
◦ Las constantes de carácter simple y cadenas de
caracteres también se declaran en la sección
const.
◦ El carácter o cadena debe ser delimitado por
comilla simple (‘) o doble(“).
◦ Ejemplo:
const
estrella = ‘*’
frase = ‘17 de Junio’
mensaje = ‘ULSA 2010’
Escritura de Algoritmos (VII)
 Declaración de Variables Carácter
◦ Las variables de caracteres se declaran de dos
modos:
 Para almacenar un solo carácter:
var carácter : nombre, inicial, letra
 Para almacenar múltiples caracteres (cadenas):
var cadena : nombre[20]
Escritura de Algoritmos (VIII)
 Comentarios
◦ Constituyen la documentación interna de un
programa.
◦ Se usarán los símbolos // para indicar
comentarios simples (una línea).
◦ Ejemplo:
// Declaración de variables
var
entera : No_Empleado // No. de empleado
real : Horas, // horas trabajadas
Impuesto, // impuesto a pagar
Salario // cantidad ganada
Escritura de Algoritmos (VIII)
 Estilo de Escritura de Algoritmos
◦ La estructura y formato será el siguiente:
algoritmo identificador // cabecera
// Sección de declaraciones
var tipo_de_datos : lista_de_identificadores
const lista_de_identificadores = valor
// Cuerpo del algoritmo
inicio
<sentencia S1>
<sentencia S2>
...
<sentencia Sn>
fin
Escritura de Algoritmos (IX)
 Ejemplo:
algoritmo raíces
// resuelve una ecuación de 2do. grado
var
real : a, b, c
inicio:
leer(a, b, c)
d ← b ** 2 – 4 * a * c
si d < 0 entonces
escribir(‘raíces complejas’)
si_no
si d = 0 entonces
escribir(-b / (2 * a))
si_no
escribir((-b – raiz2(d)) / (2 * a)
escribir((-b + raiz2(d)) / (2 * a)
fin_si
fin_si
fin