Escolar Documentos
Profissional Documentos
Cultura Documentos
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)
¿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