Você está na página 1de 144

Fundamentos de Programación

UANE
CM­218
Ing. Daniel De Santiago
Temario

● Conceptos básicos de programación
● Estructura de un programa
● Elementos básicos de un lenguaje
● Estructura de control
● Clases instanciables
Introducción

● Todos los días se tienen diferentes situaciones que 
uno debe de resolver.
– Como trasladarse a la escuela
– Como realizar una exposicion
– Como solucionar un problema matematico
– Analizar cuanto pagar por cierto producto y/o servicio
● Para resolver estas interrogantes necesariamente se 
tiene que seguir algun proceso, ya sea formal o 
intuitivamente 
Definicion de Problema

● El diccionario de la Real Academia Española lo 
define como:
– “Conjunto de hechos o circunstancias que dificultan la 
consecucion de algun fin” 
– “Planteamiento de una situacion cuya respuesta 
desconocida debe obtenerse a travez de metodos 
cientificos”
– “Una necesidad inicial, que tiene un objetivo o 
solucion a alcanzar mediante una serie de operaciones, 
actividades o metodos bien definidos”
Problemas Informaticos

● Cuando hablamos de Problemas Informaticos es 
necesario aplicar procesos de razonamiento, para 
de esta forma asegurar que la solucion obtenida 
sea la mejor.
● Cuando se tiene un Problema Informatico se debe 
determinar cual es la Salida que se espera obtener 
con respecto a los Datos de Entrada
Problemas Informaticos

● Las computadoras tiene como objetivos la 
Resolucion de problemas por medio de 
programas, por lo que podemos definir que estos 
se construyen a travez de un metodo para la 
solucion de problemas.
● Debe de quedar muy claro que no todos los 
problemas se pueden solucionar utilizando la 
computadora
Problemas Informaticos

● Ejemplo:
– Buscar la ruta mas rapida para llegar a un lugar 
desconocido
– La computadora hace los calculos pertinentes y da una 
solucion
– El Usuario decidira como transportarse al lugar
● Carro
● Bicicleta
● Camion
● Caminando
Problemas Informaticos

● Las computadoras basan sus analisis en busquedas 
repetitivas que siempre permanecen en funcion a 
los datos
● La inteligencia humana es creativa (heuristica) y 
puede encontrar intuitivamente nuevas 
apreciaciones mas alla de los datos presentados
Problemas Informaticos

● Los programas creados para la resolucion de 
problemas tienen un numero definido de 
alternativas de solucion
● El programador, a partir de la situacion inicial 
debe tener una idea sobre la solucion que se espera 
obtener para resolver determinado problema, y 
sobre el proceso que debera plantearse para 
solucionarlo
Hombre vs Maquina

● La  muestra  de  la  mayor  “optimidad” del  razonamiento  intuitivo  humano 


(heuristico)  frente  al  analisis  repetitivo  de  una  maquina  son  los 
enfretamientos entre el campeon mundial de ajedrez Garry Kasparov y la 
maquina  Deep  Blue.  En  el  primer  encuentro  (1996)  el  maestro  ruso  se 
enfrento  a  una  maquina  que  podia  analizar  100,000,000  de  posiciones 
posibles por cada segundo, y Kasparov gano 4 partidas y la maquina 2 con 
dos  empates.  En  el  segundo  “match”  la  nueva  version  de  Deep  Blue 
analizaba  220,000,000  posiciones  por  segundo.  La  maquina  gano  2 
partidas  y  Kasparov  1  y  hubo  4  empates.  Al  resumir  los  dos 
enfrentamientos  Kasparov  gano  5  y  la  maquina  4,  y  hubo  6  empates.  El 
dato  curioso  es  que  Kasparov  solo  puede  analizar  3  posiciones  por 
segundo. ¿Como logro ganar entonces? La respuesta es sencilla: porque la 
capacidad  intuitiva  (heuristica)  de  Kasparov  es  muy  superior  a  la  de  la 
maquina Deep Blue
Definicion de Algoritmo

● Para resolver un problema ya sea de la vida diaria 
o computacional se deben seguir una serie de 
pasos con el fin de llegar a un objetivo
● A esta serie de pasos se le llama Algoritmo el cual 
se define como:
– Un conjunto finito de instrucciones o pasos que sirven 
para ejecutar una tarea o resolver un problema
● El termino Algoritmo proviene del nombre del 
matematico arabe AL­KHOREZMI
Nota Interesante

● MUHAMMAD IBN MUSA ABU DJAFAR AL­
KHOREZMI
– Matematico arabe que incorporo el concepto de cero 
creado por la matematica hindu y se propuso realizar 
los analisis matematicos de la manera mas simplificada 
posible. De una palabra (al­jabr) de su obra El libro de 
Igualar y restaurar proviene la palabra “algebra” y de 
su nombre (Al­Khorezmi) se origino el termino de 
“algoritmo”
Definicion de Algoritmo

● Las caracteristicas fundamentales que debe 
cumplir todo algoritmo:
– Debe ser Preciso, e indicar el orden de realizacion de 
cada paso
– Debe ser Definido. Si se sigue un algoritmo dos veces, 
se debe obtener el mismo resultado cada vez. 
– Debe ser Finito. Si se sigue un algoritmo, se debe 
terminar en algún momento ; o sea debe tener un 
número finito de pasos. 
Definicion de Algoritmo

● La estructura de un algoritmo debe describir tres 
partes:
– Entrada
– Proceso
– Salida

● Diseñar un algoritmo para cambiar una llanta a un 
coche:
Definicion de Algoritmo
● Inicio 
● Traer gato
● Levantar el coche con el gato 
● Aflojar tornillos de las llantas 
● Sacar los tornillos de las llantas 
● Quitar la llanta
● Poner la llanta de repuesto 
● Poner los tornillos
● Apretar los tornillos
● Bajar el gato
● Fin
Algoritmos Cotidianos

● Son aquéllos que nos ayudan a resolver problemas 
diarios, y que los hacemos casi sin darnos cuenta 
de que estamos siguiendo una metodología para 
resolverlos

● Algunos ejemplos son:
– Un cliente ejecuta un pedido a una fábrica. La fábrica 
examina en su banco de datos la ficha del cliente, si el 
cliente es solvente entonces la empresa acepta el 
pedido, en caso contrario rechazar el pedido.
Algoritmos Cotidianos

● Pasos del algoritmo:

Inicio
– Leer el pedido
– Examinar ficha del cliente
– Si el cliente es solvente aceptar pedido, en caso 
contrario rechazar pedido
Fin
Algoritmos Cotidianos

● Determinar el mayor de tres números enteros
● Pasos del algoritmo:

Inicio
– Comparar el primero y el segundo entero, deduciendo 
cuál es el mayor
– Comparar el mayor anterior con el tercero y deducir 
cuál es el mayor. Este será el resultado
Fin
Algoritmos Cotidianos

● Los pasos anteriores se pueden descomponer en 
otros pasos más simples en los que se denomina 
Refinamiento del Algoritmo
Algoritmos Cotidianos

1. Obtener el primer número (entrada), denominado NUM1
2. Obtener el segundo número (entrada), denominado NUM2
3. Compara NUM1 con NUM2 y seleccionar el mayor ; si los 
dos enteros son iguales, seleccionar NUM1. Llamar a este 
número MAYOR
4. Obtener el tercer número (entrada), y se denomina NUM3
5. Compara MAYOR con NUM3 y seleccionar el mayor ; si los 
dos enteros son iguales, seleccionar el MAYOR. Denominar a 
este número MAYOR
6. Presentar el valor MAYOR (salida)
7. Fin
Definicion de Lenguajes 
Algoritmicos
● Los algoritmos pueden describirse utilizando 
diversos lenguajes. Cada uno de estos lenguajes 
permiten describir los pasos con mayor o menor 
detalle.

● La clasificación de los lenguajes para algoritmos 
puede enunciarse de la siguiente manera :
– Lenguaje Natural
– Lenguaje de Diagrama de Flujo
– Lenguaje Natural de Programación 
– Lenguaje de Programación de Algoritmos
Definiciones
● Lenguaje Natural
– Es aquél que describe en español, para nuestro caso, 
los pasos a seguir utilizando un vocabulario cotidiano. 
Se le conoce como lenguaje jerga cuando se utilizan 
términos especializados de una determinada 
ciencia,profesión o grupo.
● Lenguaje de Diagrama de Flujo
– Es aquél que se vale de diversos símbolos para 
representar las ideas o acciones a desarrollar. Es útil 
para organizar las acciones o pasos de un algoritmo 
pero requiere de etapas posteriores para implementarse 
en un sistema de cómputo.
Definiciones

● Lenguaje Natural de Programación
– Son aquéllos que están orientados a la solución de 
problemas que se definen de una manera precisa. 
Generalmente son aplicados para la elaboración de 
fórmulas o métodos científicos. El lenguaje natural 
tiene las siguientes características:
● Evita la ambigüedad (algo confuso que se puede interpretar 
de varias maneras)
● Son precisos y bien definidos
● Utilizan términos familiares al sentido común
● Elimina instrucciones innecesarias
Definiciones

● Lenguaje de Programación de Algoritmos
– Es aquél que se utiliza para introducir en la 
computadora un algoritmo específico. Se les conoce 
también como Lenguaje de Programación
Lenguajes de Programacion

● El Lenguaje de Programación es un conjunto de 
palabras, símbolos y reglas sintácticas mediante 
los cuales puede indicarse a la computadora los 
pasos a seguir para resolver un problema.
● Los lenguajes de programación pueden clasificarse 
por diversos criterios, siendo el más común su 
nivel de semejanza con el lenguaje natural, y su 
capacidad de manejo de niveles internos de la 
máquina.
Lenguajes de Programacion

● Los principales tipos de lenguajes utilizados son 
tres:
– Lenguaje Máquina. 
– Lenguaje de bajo Nivel (ensamblador). 
– Lenguajes de Alto Nivel.
Lenguajes de Programacion

● Lenguaje Máquina
– Son aquéllos que están escritos en lenguajes 
directamente inteligibles por la máquina 
(computadora), ya que sus instrucciones son cadenas 
binarias (cadenas o series de caracteres de dígitos 0 y 
1) que especifican una operación y las posiciones 
(dirección) de memoria implicadas en la operación se 
denominan instrucciones de máquina o código 
máquina. El código máquina es el conocido código 
binario.
Base 10 Base 2

Para convertir datos a cadenas de números, las     0 0
computadoras usan el sistema de números     1 1
binarios.
   2 10
Los humanos usamos el sistema de números 
decimales. (“deci” significa “diez”)    3 11
El sistema de números binarios funciona de la     4 100
misma manera que el sistema decimal, pero tiene     5 101
solo dos posibles símbolos (0 y 1) en lugar de 
diez ( 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9).    6 110
En numeros binarios el decimal 8 se representa     7 111
como 1000, esto es 2^3 =8, los terminos 2^2, 2^1     8 1000
y 2^0 no se contabilizan porque el bit es 0, esto es 
su valor falso es y no se toman en cuenta.    9 1001
   10 1010
1    1     1     1    1     1    1    1
1    0     0     1    0     0    1    1
1    0     0     1    0     0    1    0
1    0     1     1    0     0    1    0
Lenguajes de Programacion
● Ventajas del Lenguaje Máquina
– Posibilidad de cargar (transferir un programa a la 
memoria) sin necesidad de traducción posterior, lo que 
supone una velocidad de ejecución superior a cualquier 
otro lenguaje de programación
● Desventajas del Lenguaje Máquina
– Dificultad y lentitud en la codificación
– Poca fiabilidad
– Gran dificultad para verificar y poner a punto los 
programas
– Los programas solo son ejecutables en el mismo 
procesador (CPU)
Lenguajes de Programacion

● Lenguajes de Bajo Nivel
– Son más fáciles de utilizar que los lenguajes máquina, 
pero al igual que ellos, dependen de la máquina en 
particular
– El lenguaje de bajo nivel por excelencia es el 
ensamblador
– Las instrucciones en lenguaje ensamblador son 
instrucciones conocidas como nemotécnicos
– Ejemplos:
● ADD, SUB, DIV
● ADD M, N, P ­>   0110 1001 1010 1011
Lenguajes de Programacion

● Ventajas del lenguaje ensamblador frente al 
lenguaje máquina
– Mayor facilidad de codificación y, en general, su 
velocidad de cálculo

● Desventajas del lenguaje ensamblador
– Dependencia total de la máquina lo que impide la 
transportabilidad de los programas (El lenguaje 
ensamblador de la PC es distinto del lenguaje 
ensamblador del la Apple)
Lenguajes de Programacion

– La formación de los programadores es más compleja 
que la correspondiente a los programadores de alto 
nivel,ya que exige no solo las técnicas de 
programación, sino también el conocimiento del 
interior de la máquina
– Los lenguajes ensamblador tienen sus aplicaciones 
muy reducidas, se centran básicamente en aplicaciones 
de tiempo real, control de procesos y de dispositivos 
electrónicos
Definicion de Problema

● El diccionario de la Real Academia Española lo 
define como:
– “Conjunto de hechos o circunstancias que dificultan la 
consecucion de algun fin” 
– “Planteamiento de una situacion cuya respuesta 
desconocida debe obtenerse a travez de metodos 
cientificos”
– “Una necesidad inicial, que tiene un objetivo o 
solucion a alcanzar mediante una serie de operaciones, 
actividades o metodos bien definidos”
Metodologia de Solucion de 
Problemas
● Metodo: “El conjunto de operaciones ordenadas 
con que se pretende obtener un resultado”
● Metodologia: es la ciencia que aplica este metodo
– Metodologia de la Investigacion
– Metodologia de enseñanza­aprendizaje
– Metodologia para resolver calculos matematicos
– Etc, etc, etc

● En este caso hablaremos especificamente de la 
solucion de problemas que podemos resolver 
mediante el uso de la computadora
Resolucion de Problemas

● La resolucion de Problemas consta de 5 etapas:

– Identificacion del Problema
● Mas Importante
● Fundamental el analisis de la Informacion Inicial
● Definir los Datos de Salida
– Planteamiento de Alternativas de Solucion
● La solucion puede tener varias vias de soluciones
– Eleccion de una Alternativa
● Elejir la Alternativa mas adecuada tomando en cuenta las 
caracteristicas del Problema y la Solucion
Resolucion de Problemas

– Desarrollo de la Solucion
● Se aplican las operaciones necesarias para solucionar el 
problema
● Las operaciones deben llegar a la solucion por el camino 
mas corto
– Evaluacion de la Solucion
● Control de Calidad. Comprobar que el resultado sea el 
correcto
Resolucion de Problemas

● Ejercicio1: Encontrar entre 5 numeros cual 
numero es mayor y calcular el promedio de los 5 
numeros

● Identificacion del Problema: De los 5 numeros 
cual numero es el mayor y calcular el promedio
– Entrada de Informacion
● 5 numeros enteros positivos cualesquiera
– Salida de Informacion
● Numero Mayor
● Promedio
Resolucion de Problemas

● Alternativas de Solucion:
– Alternativa 1
● Comparar el primer numeros a los otro 4 para ver si es el 
mayor, en caso de serlo mostrar este numero
● En caso de no serlo compara el segundo numero a los otros 3 
para ver si es el mayor, en caso de serlo mostrar este numero
● Asi sucesivamente hasta llegar al ultimo numero
– Alternativa 2
● Ordernar la lista de numeros de menor al mayor, y escojer el 
ultimo numero de la lista. Mostrar el ultimo numero
Resolucion de Problemas

– Alternativa 3
● Escojer el primero y segundo numeros, comparar cual es el 
mayor y escojerlo
● Compararlo con el tercer numero, escojer el mayor
● Compararlo con el cuarto numero, escojer el mayor
● Compararlo con el quinto numero, escojer el mayor

● Eleccion de una Alternativa
– Se escogio la Alternativa 3 por ser la mas completa, 
sencilla o mejor segun las necesidades
Resolucion de Problemas

● Desarrollo de la Solucion: Se describen los pasos a 
seguir (Algoritmo)
1.Inicio
2.Obtener la lista de 5 numeros
3.Comparar el Primer Numero con el Segundo y escojer 
cual es el Mayor
4.Comparar el Numero Mayor obtenido en paso 3 y 
compararlo con el Tercer Numero y escoger cual es el 
Mayor
5.Comparar el Numero Mayor obtenido en paso 4 y 
compararlo con el Cuarto Numero y escoger cual es el 
Mayor
Resolucion de Problemas

6.Comparar el Numero Mayor obtenido en paso 5 y 
compararlo con el Quinto Numero y escoger cual es el 
Mayor
7.Mostrar el Numero Mayor
8.Sumar todos los numeros y dividirlos por 5 para 
obtener el Promedio
9.Mostrar el Promedio
10.Fin
Resolucion de Problemas

● Ejercicio2: 
– Si 2 refrescos cuestan $19.50, cuantos podemos 
comprar con $78.00?
– Usar las 5 etapas de resolucion de problemas y crear el 
programa en Pascal para calcular el resultado
Estructura de los Algoritmos

● Las estructuras basicas de los algoritmos son:
– Secuencial
– Alternativa
– Repetitiva

● Secuencial
– Sigue la secuencia del orden de las instrucciones 
planteadas en el algoritmo por lo que existe un solo 
camino para obtener el resultado
Estructura de los Algoritmos

● Ejemplo: Calcular el importe de un determinado 
numero de articulos del mismo precio

1. Inicio
2. Leer cantidad de articulos (CA)
3. Leer precio (P)
4. Importe = CA * P
5. Mostrar Importe
6. Fin
Estructura de los Algoritmos

● Alternativa
– El algoritmo cuenta con 2 alternativas de las cuales se 
selecciona una dependiendo del resultado que se 
obtenga

● Ejemplo: Calcular el importe de un determinado 
numero de articulos. Si el importe es mayor de 
$60.00USD aplicar un descuento de 5%
Estructura de los Algoritmos

1. Inicio
2. Leer cantidad de articulos (CA)
3. Leer precio (P)
4. Importe = CA * P
5. Si Importe > 60.00 entonces
i. Descuento = Importe * 0.05
ii.Total = Importe – Descuento
iii.Mostrar Total
iv.Contrario
a)Mostrar Importe
v.Fin de SI
6. Fin
Estructura de los Algoritmos

● Repetitiva:
– Cuando el algoritmo requiere que un conjunto de 
instrucciones se realice un numero finito de veces, 
siempre y cuando la condicion sea verdadera

● Ejemplo: Calcular el importe de un determinado 
numero de articulos de diferente precios que se 
encuentran en oferta donde el cliente podra 
comprar un maximo de 5 articulos de oferta
Estructura de los Algoritmos

1.Inicio
2.Importe = 0; CA = 0
3.Leer precio (P)
4.Leer cantidad (CA)
5.Mientras CA <= 5
i. Importe = Importe + Precio
ii.CA = CA + 1
iii.Leer P
iv.Fin Mientras
6.Mostrar Importe
7.Fin
Diagramas 

● Diagramas
– Representacion grafica de una sucesion de hechos u 
operaciones en un sistema

● Los Algoritmos se pueden representar utilizando 
diagramas y se utilizan simbolos que representan 
determinada operacion
Diagramas Entrada­Proceso­
Salidad (EPS)
Simbologia Significado

Entrada/Salida. 
Datos de 
Entrada y 
Resultado

Proceso. 
Operaciones para 
obtener el resultado

Lineas de Flujo. 
Indica la 
secuencia de flujo 
de operaciones 
del diagrama
Diagramas Entrada­Proceso­
Salidad (EPS)
2 = $19.50
$78.00

PR = 78/19.50
RT = PR * 2

RT = 8
Diagramas de Flujos
Simbolo Significado

Inicio/Fin

Entrada de Teclado. 
Representa el ingreso de los 
datos al programa

Proceso. Representa las 
operaciones que se efectuan 
para obtener resultado
Diagramas de Flujos
Simbolo Significado

Decision. Representa las 
operaciones tipo logico

Salida de Impresora. Se utiliza 
para obtener el resultado

Salida por Pantalla. Se utiliza solo 
para mostrar resultado
Diagramas de Flujos
Simbolo Significado

Conector. Se utliza para conectar 
bloques del diagrama cuando el 
diagrama es grande y necesario 
divirlo

Lineas de Flujo. Indica la 
secuencia del flujo
Diagramas de Flujos

● Reglas para el Diseño de Diagramas de Flujos
– Deben diseñarse de arriba hacia abajo o de izquierda a 
derecha
– Los simbolos se unen con lineas de flujo. Las flechas 
determinan el flujo que seguira el programa
– Las lineas de flujo solo deberan ser horizontales o 
verticales, nunca en diagonal
– No deben de quedar lineas de flujo sin conectar con 
algun simbolo
– El texto incluido en los simbolos debera de ser 
concreto, preciso, y de facil leer
Diagramas de Flujos

– El simbolo de decision es el unico que tiene mas de 
una linea de flujo de salida
– Todos los simbolos, a exepcion del FIN, pueden tener 
mas de una linea de entrada
Ejemplo: Estructura Secuencial
Inicio
Calcular el importe de un 
determinado numero de 
articulos del mismo 
precio CA, P
CA = Cantidad de 
Articulos
P = Precio Unitario
Importe = CA * P

Importe

Fin
Ejemplo: Estructura Alternativa

Calcular el importe de un 
determinado numero de 
articulos. 
Si el importe es mayor de 
$60.00USD aplicar un 
descuento 
de 5%
Ejemplo: Estructura Repetitiva

Calcular el importe de un 
determinado 
numero de articulos de diferente 
precios que se encuentran en 
oferta 
donde el cliente podra comprar un 
maximo de 5 articulos de oferta
Pseudocodigo

● El Pseudocodigo es un lenguaje de 
especificaciones de algoritmos que utiliza palabras 
reservadas y exije la indentacion, o sea sangria en 
el margen izquierdo de algunas lineas.
● Ventajas sobre los Diagramas de Flujo:
– Rapido de crear y modificar
– Herramienta muy buena para el seguimiento de la 
logica de un algoritmo
– Facilidad de transformar los algoritmos a programas
Pseudocodigo

● La estructura basica de un algoritmo escrito en 
pseudocodigo es:

algoritmo <identificador_algoritmo>
// declaracion, setencias no ejecutables
Inicio
// acciones, sentencias ejecutables tanto simples como 
estructuradas
Fin
Pseudocodigo
● Para introducir un valor o serie de valores desde el 
 dispositivo estandar y almacenarlos en una o 
varias variables utilizaremos
leer (<lista_de_variables>)
● Para imprimir en el dispositivo estandar de salida 

una o varias expresiones emplearemos
escribir (<lista_de_expresiones>)
● Los elementos lexicos de nuestro pseudocodigo 

son: Comentarios, Palabras reservadas, 
Identificadores, Operadores y signos de 
puntuacion y Literales
Pseudocodigo

● Comentarios.­ Los comentarios sirven para 
documentar el algoritmo y en ellos escriben 
anotaciones generalmente sobre su funcionamiento

//  Comentario de una sola linea
{ Comentario que ocupa mas
de una linea }
Pseudocodigo

● Palabras Reservadas.­ son palabras que tienen un 
significado especial, como Inicio y Fin, que 
marcan el principio y fin del algoritmo. No 
deberan utilizarse otras palabras similares aun 
cuando se distinguen entre mayusculas y 
minusculas.
Pseudocodigo
Decision Simple:

si <condicion> entonces
<acciones1>
fin_si

Decision doble:

si <condicion> entonces
<acciones1>
si_no
<acciones2>
fin_si
Pseudocodigo
Decision multiples:

segun_sea <expresion_ordinal> hacer
<lista_de_valores_ordinales> : <acciones1>
...........
[si_no //El corchete indica opcionalidad
<accionesN>]
fin_segun

Repetitivas:

mientras <condicion> hacer
<acciones>
fin_mientras

repetir
<acciones>
hasta_que <condicion>

desde <variable> ← <v_inicial> hasta <v_final>
[incremento | decremento <incremento>] hacer
<acciones>
fin_desde
Pseudocodigo

● Identificadores.­ son los nombres que dan a las 
constantes simbolicas, variables, funciones, 
procedimientos, u otros objetos que manipulan el 
algoritmo. Las reglas para construir un 
identificador establece que:
– Debe resultar significativo, sugiriendo lo que 
representa
– No podra coincidir con palabras reservadas, propias del 
lenguaje algoritmicos. 
– Comenzara con un caracter alfabetico y los siguientes 
podran ser letras, digitos o simbolo de subrayado
Pseudocodigo

● Operadores y signos de puntuacion
– Los operadores se utilizan en las expresiones e indican 
las operaciones a efectuar con los operandos, mientras 
que los signos de puntuacion se emplean con el 
objetivo de agrupar o separar, por ejemplo . ; o [ ]
● Literales
– Los literales son los valores que aparecen directamente 
escritos en el programa y pueden ser literales: logicos, 
enteros, reales, de tipo caracter, de tipo cadena y el 
literal nulo
Ejercicios
Escribir un algoritmo que lea un valor entero, lo doble, se multiplica por 25 
y visualice el resultado

Analisis de Problema

DATOS DE SALIDA: Resultado (es el resultado de realizar las operaciones
DATOS DE ENTRADA: Numero (el numero que leemos por teclado

Diseño del Algoritmo

algoritmo ejercicio_3
var
numero, resultado : entero;
inicio
leer (numero);
numero  ← numero * 2;
resultado ← numero * 25;
escribir (resultado);
fin.
Ejercicios
Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, su suma y 
su media aritmetica

Analisis del Problema

DATOS DE SALIDA: producto, suma y media
DATOS DE ENTRADA: a, b, c, d

Diseño del Algoritmo

algoritmo ejercicio_4
var
a,b,c,d,producto, suma : entero;
media : real;
inicio
leer (a,b,c,d);
producto := a * b * c * d;
suma := a + b + c + d;
media := suma / 4
escribir (producto,suma,media);
fin.
Tipos de Datos ­ ENTEROS
Tipos de Datos ­ REAL
Tipos de Datos

● Tipo carácter (Char).
– El tipo Char depende del código de caracteres 
empleado por la máquina. El más utilizado es el código 
ASCII. Una variable o constante tipo Char puede 
contener un solo carácter especificado entre apóstrofes. 
Ejem. 'a' 'M'
● Tipo Lógico (Boolean).
– Pueden tomar dos valores True (verdadero) False 
(falso). El identificador estándar boolean define una 
variable de este tipo
Tipos de Datos

● Tipo Cadena (String).
– Una cadena (string) es una secuencia de caracteres que 
tiene una longitud máxima de 255 caracteres. Los 
caracteres que componen la cadena se delimitan con 
apóstrofes. Ejem.
● 'abcd'   longitud de la cadena 4
● ''      cadena vacía o nula
Tipos de Datos

– Una variable de cadena se define utilizando la palabra 
reservada String y el tamaño fisico máximo que pueda 
alcanzar durante la ejecución del programa. Ver el 
siguiente ejemplo:
Tipos de Datos

Const
      Lonmax   80;
Type
      Cadena = String[Lonmax];
Var
      Varcad: Cadena; {*almacena hasta 80 caracteres*}
      Nombre: String; {*almacena hasta 255 caracteres*}
Tipos de Datos

● Existen dos diferentes tipos de datos simples 
definidos por el usuario: enumerados y subrago

● Tipos enumerados:  Los tipos enumerados se 
componen de una lista de identificadores 
encerrados entre paréntesis y separados por comas
– Ejemplo:
Type
     Estaciones = (primavera, verano, otoño, invierno);
      Colores (rojo, amarillo, verde, azul, violeta);
Tipos de Datos

– Los tipos enumerados son ordinales ya que llevan 
asociado cada uno un número entero, empezando por el 
primero, al que se le asigna el 0, al segundo un 1, y así 
sucesivamente, por lo que no es independiente el orden 
de declaración. Un valor de tipo enumerado no puede 
pertenecer a dos declaraciones de tipo distintas y no 
pueden leerse desde teclado, ni escribirse en pantalla
Tipos de Datos

● Tipos subrango: Es un subconjunto de un tipo 
ordinal (enteros, boolean, carácter y enumerado) 
que se especifica indicando el primero y el último 
elemento del conjunto
– Ejem. 1
         Type
             
Identificador=primerelemento..ultimoelemento;
Tipos de Datos

– Ejem. 2
Type
             Fecha= 1..31;
        Var
             Dia: Fecha;
– Los tipos enteros, carácter, booleanos, enumerados y 
subrango se denominan tipos ordinales. Un tipo ordinal 
representa una secuencia ordenada de valores 
individuales, a los que se puede aplicar los conceptos 
de predecesor y sucesor. En cada tipo de datos 
ordinales hay un primer valor y un último valor
Tipos de Datos

● Constantes: Son datos cuyo valor no cambia 
durante todo el desarrollo del algoritmo
– Numericas enteras
– Numericas reales
– Logicas
– Caracter
– Cadena
● Variable: Una variable es un objeto cuyo valor 
puede cambiar durante el desarrollo del algoritmo. 
Se identifica por su nombre y por su tipo
Operadores Aritmeticos
Operador  Función
    +     operador binario suma.
    ­     operador binario resta.
    *     operador binario producto.
    /     operador binario división real.
   div    operador binario división entera.
   mod    operador binario resto entero.
Funciones Predefinidas
Instrucción  Función
Abs(x)       Proporciona el valor absoluto de una variable numerica x.
ArcTan(x)    El arco cuya tangente es x.
Chr(x)       Devuelve el carácter ASCII de un entero entre O y 255.
Cos(x)       Proporciona el valor del coseno de x.
Exp(x)       La exponencial de x(eX).
Frac(x)      Parte decimal de x.
Int(x)       Parte entera de x.
Ln(x)        Logaritmo neperiano de x.
Odd(x)       True si x es impar, y false si es par.
Ord(x)       Ordinal de una variable tipo ordinal x.
Pred(x)      Ordinal anterior a la variable ordinal x.
Round(x)     Entero más próximo al valor x.
Succ(x)      Ordinal siguiente a la variable ordinal x.
Sin(x)       Seno de x.
Sqr(x)       Cuadrado de x.
Sqrt(x)      Raiz cuadrada de x, para x>=O.
Trunc(x)     Parte entera de x.
Expresiones

● Una expresion es una combinacion de operadores 
y operandos. Los operandos podran ser constantes, 
variables u otras expresiones y los operadores de 
cadena, aritmeticos, relacionales o logicos. Las 
expresiones se clasifican, segun el resultado que se 
producen, en:
– Numericas
– Alfanumericas
– Booleanas
Expresiones

● El orden de prioridad es el siguiente:
– Parentesis
– Exponenciacion
– Operadores unarios
– Multiplicacion y Division
– Suma y Resta
– Operadores de relacion (=, <, >, <=, >=, <>)
● La evaluacion de operadores con la misma 
prioridad se realizara siempre de izquierda a 
derecha.
Ejercicios

● Escribir un programa que calcule la longitud y el 
área de una circunferencia. El radio de la 
circunferencia es igual a 4cm.

● Escribir un programa en Pascal que calcule la 
velocidad de un proyectil que recorre 2 Km en 5 
minutos. Expresar el resultado en metros/segundo.
Ejercicios

● Escribir un programa en Pascal que evalúe la 
siguiente expresión:
● a7c
b2−a2b
● a = 3,b = 6,c = 4
● Escribir un programa en Pascal que evalúe la 
siguiente expresión:

 x53

2y−y
● x = 3,y = 6

Tecnicas de Diseño

● Existen tres tecnicas en el diseño de programacion 
estructurada:
– Top down
– Bottom Up
– WARNIER ORR
Tecnicas de Diseño

● Top Down
– Técnica para diseñar que consiste en tomar el problema 
en forma inicial como una cuestión global y 
descomponerlo sucesivamente en problemas más 
pequeños y por lo tanto, de solución más sencilla. La 
descomposición del problema original (y de las etapas 
subsecuentes), puede detenerse cuando los problemas 
resultantes alcanzan un nivel de detalle que el 
programador o analista pueden implementar 
fácilmente.
Tecnicas de Diseño

● Objetivos básicos del Top−Down
– Simplificación del problema y de los subprogramas de 
cada descomposición
–  Las diferentes partes del problema pueden ser 
programadas de modo independiente e incluso por  
diferentes personas.
– El programa final queda estructurado en forma de 
bloque o módulos lo que hace mas sencilla su lectura y 
mantenimiento
Tecnicas de Diseño

● Bottom Up
– Es conocida también como ascendente, la diferencia 
entre el bottom up y el top down es que los módulos 
son enumerados de forma diferente. En el bottom up se 
enumeran primero los módulos inferiores hasta llegar 
al modulo superior
Tecnicas de Diseño

● Warnier Orr
– Es una técnica que utiliza una representación semejante 
a la de cuadros sinópticos para mostrar el 
funcionamiento y organización de los elementos que 
conforman el algoritmo. Los diagramas Warnier Orr 
son útiles porque son compatibles con las técnicas de 
programación estructurada ; y además, son fáciles de 
desarrollar. Los diagramas Warnier Orr son fáciles de 
leer y modificar y no tienen que completarse antes de 
ser útiles. Se van desarrollando hacia otras salidas del 
sistema
Datos Estructurados

● Una estructura de datos es una coleccion de datos 
que se caracterizan por su organizacion y las 
operaciones que se defina en ella. 
● Las estructuras se clasifican de acuerdo a varios 
criterios:
–   Respecto al número de componentes, las estructuras 
se clasifican en estáticas (el número de componentes es 
fijo) y dinámicas (el número de componentes varía 
durante la ejecución del programa ya que se pueden 
crear y destruir las variables durante el desarrollo del 
mismo
Datos Estructurados

– Respecto al tipo de componentes las estructuras suelen 
formarse o bien por combinación de datos de distinto 
tipo (registros) o bien por la repetición de datos del 
mismo tipo (arrays,conjuntos archivos, listas, árboles, 
etc.). Dentro de éstas el acceso puede hacerse por 
posicion, ya sea de forma secuencial o bien directa, o 
bien por contenido o clave
Datos Estructurados

● Estructura de datos estaticas
– Arrays
– Registros
– Cadenas
– Conjuntos
– Archivos
● Estructura de datos dinamicas (no soportada en 
todo los lenguajes)
– Listas
– Arboles
– Grafos
Arrays

● Un Array es una estructura homogénea de datos de 
tamaño constante accediendo a cada uno de sus 
elementos mediante un identificador comun y uno 
o varios índices

● Las caracteristicas de un array son:
– Todos los elementos del array son del mismo tipo
– El número de ellos no varía durante la ejecución del 
programa
Arrays

– Accedemos a un elemento de la estructura mediante un 
identificador común, el nombre del array, y con el 
valor que toman uno o varios indices. Al número de 
indices necesarios para designar un elemento del array 
se le denomina dimensión del array
– El número máximo de valores posibles que puede 
tomar cada indice se denomina rango de esa dimensión 
o indice. Los valores han de ser consecutivos, por lo 
que el indice ha de ser de un tipo ordinal
Arrays

● Los Arrays podran ser:
– Unidimensionales (una dimension), tambien llamados 
vectores
– Bidimensionales (dos dimensiones), denominados 
tablas o matrices
– Multidimensionales, con tres o mas dimensiones
Declaracion de Tipo y Variables 
Array
● Al ser un tipo estructurado, la declaracion se hara 
en funcion de otro tipo estandar o previamente 
definido, al que se denominara tipo base, por se 
todos los elementos constituyentes de la estructura 
del mismo tipo
● La declaracion mas general de un array es la 
siguiente:
Declaracion de Tipo y Variables 
Array
Type
   Rango1 = tipo_ordinal1;
   Rango2 = tipo_ordinal2;
            ...
   rangoN = tipo_ordinalN;
   tipobase = (*cualquier predefinido o definido por el usuario*)
   tipoarray = array [rango1,rango2,...,rangoN] of tipobase,
Ejemplo de Array Unidimensional
program Arrays; //almacenar  informacion dentro del array “a” 
var
   a: array[1..5] of Integer;
 
begin
   a[1] := 12;
   a[2] := 23;
   a[3] := 34;
   a[4] := 45;
   a[5] := 56;
end. 
Ejemplo de Array Unidimensional
program Arrays; //ejemplo de leer 5 numeros
 var
   a: array[1..5] of Integer;
   i: Integer;
 
begin
   for i := 1 to 5 do
      Readln(a[i]);
end. 
Ejemplo de Array Bidimensional
program Arrays_Bidimensional;
 
var
   a: array [1..3,1..3] of Integer;
 
begin
end.  
Ejemplo de Array Bidimensional

program Arrays_Bidimensional;
var
   r, c: Integer;
   a: array [1..3,1..3] of Integer;
 
begin
   for r := 1 to 3 do
      for c := 1 to 3 do
         Readln(a[r,c]);
end. 
Recorrido de todos los elementos 
del Array
● El recorrido de todos los elementos de un array se 
realizara utilizando estructuras repetitivas, con las que se 
manejan los subindices del array.
● Si se trata de un array unidimensional, bastara con una 
estructura repetitiva
● Para un array bidimensional se necesitaran 2 estructuras 
repetitivas anidadas, una que controle la filas y otra las 
columnas
● Para recorrer los elementos de una matriz de n 
dimensiones, utilizaremos n estructuras reprtitivas 
anidadas
Ejemplos

● Teniendo la siguiente declaracion del array

Const
      F = <valor1>;
      C = <valor2>;
Type
      Matriz = array[1..F, 1..C] of real;
Var
      m:matriz
Ejemplo: Por Fila

● Recorrido por Fila

Desde I ← 1 hasta F hacer
     desde j ← 1 hasta C hacer
         escribir (m[i,j]);
      fin_desde
fin_desde
Ejemplo: Por Columna

● Recorrido por Columna

desde j ← hasta C hacer
    desde I ← hasta F hacer
        escribir (m[i,j]);
     fin_desde
fin_desde
Ejercicios

● Determinar los valores de los vectores N y M 
despues de la ejecucion de las instrucciones 
siguientes:

Var
   M, N : array[1..3] of integer;
Inicio
   M[1] ← 1
   M[2] ← 2
Ejercicios

   M[3] ← 3;
   N[1] ← M[1] + M[2];
   N[2] ← M[1] – M[3];
   N[3] ← M[2] + M[3];
   N[1] ← M[3] – M[1];
   M[2] ← 2 * N[1] + N[2];
   M[1] ← N[2] + M[1];
End
Ejercicios

M[1] M[2] M[3] N[1] N[2] N[3]


1 1 ­ ­ ­ ­ ­
2 1 2 ­ ­ ­ ­
3 1 2 3 ­ ­ ­
4 1 2 3 3 ­ ­
5 1 2 3 3 ­2 ­
6 1 2 3 3 ­2 5
7 1 2 3 2 ­2 6
8 1 6 3 2 ­2 5
9 1 6 3 2 ­2 5
Operaciones con Cadenas

● Las dos operaciones basicas son comparación y 
concatenación.

● Operador de concatenación (+)
– Se utiliza para reunir varias cadenas en una sola
– Ejemplo
● Cad1:='esto es un ejemplo';
● Cad2:='de concatenacion de cadenas';
● Cadr:=cad1+cad2;
● Write (cadr);
– Se visualizaría esto es un ejemplo de concatenacion 
de cadenas
Operaciones con Cadenas

● La funcion concat realiza la misma funcion que el 
operador de concatenacion. La sintáxis es:

– Function concat (cad1,cad2,...:string): string;

● La cadena vacia o nula se representa con dos 
caracteres apóstrofes seguidos ' '. El acceso a los 
elementos de una cadena individualmente se hace 
como si fuera un array
Operaciones con Cadenas

● Ejemplo.
– Cad1:='ejemplo';
– Para referirnos al primer elemento pondriamos cad1[1] 
que seria la letra e

● La funcion Length proporciona la longitud logica 
de una cadena de caracteres.
– Ejemplo.
– Longitud:=length(cad1);
– La variable longitud tomaria el valor 7
Operaciones con Cadenas

● Funciones para Cadenas
– COPY
– POS
– DELETE
– INSERT
– UPCASE
– STR
– VAL
Ejercicios

● Escribir un programa en Pascal que calcule el área 
de un rectángulo:
– lado1 = 3 lado2 = 4
– área del rectángulo=lado1 * lado2

● Escribir un programa en Pascal que calcule el 
volumen de una esfera:
– radio = 3 volumen de la esfera = 4/3 * PI * radio 3
Ejercicios

● Escribir un programa en Pascal que calcule la 
hipotenusa de un triángulo rectángulo
– cateto 1 = 5
– cateto 2 = 5

●  Escribir un programa en Pascal que calcula el 
equivalente en grados Fahrenheit o Celsius de las 
siguientes temperaturas.
– Temperatura 1 = 32o Fahrenheit
– Temperatura 2 = 10 o Celsius
– {Regla de 3: Celsius / 5 = (Fahrenheit – 32) 9}
Ejercicios

● Escribir un programa en Pascal que calcule el 
capital producido por un deposito de 1,000,000 de 
pesos, al cabo de un año depositado a un interés 
del 2%

● Escribir un programa en Pascal que calcula la 
siguiente expresión trigonométrica para un valor 
angular de 90°
– (sen x * cos x)/(tan x)
Modulos/Rutinas/Subprogramas

● Cuando se presenta la necesidad de ejecutar un mismo 
grupo de sentencias en distintos lugares del programa, 
conviene disponer de algún recurso para no tener que 
escribirlas repetidamente, lo cual resulta tedioso y 
presenta otros inconvenientes.
● La solución que se suele ofrecer consiste en agrupar cada 
uno de esos conjuntos de sentencias destacándolos y 
asignándoles un nombre, constituyendo así las llamadas 
RUTINAS o subprogramas. Luego, basta con invocar su 
nombre en cualquier sentencia para conseguir que se 
ejecute todo el conjunto.
Modulos/Rutinas/Subprogramas

● Con ese enfoque, el programa queda organizado 
en módulos que se expresan en forma de rutinas. 
Una recomendación muy extendida propone que la 
escritura de cada subprograma no sobrepase el 
tamaño de un folio para facilitar su lectura y 
comprensión
Modulos/Rutinas/Subprogramas

● El diseño modular va dirigido a conseguir 
programas fiables y legibles:

– El esfuerzo de la programación se concentra finalmente 
en subproblemas pequeños y sencillos
– Es fácil escribir módulos pequeños libres de error y 
verificarlos independientemente con datos simulados
– Los listados pequeños son más legibles
– Resulta natural la adaptación al trabajo en equipo. Las 
tareas de desarrollar los módulos se pueden repartir 
entre varias personas
Modulos/Rutinas/Subprogramas

● El interés de utilizar subprogramas también se 
justifica por la construcción de bibliotecas de 
rutinas de utilidad general que puedan ser 
invocadas desde los programas que escribe el 
usuario para resolver casos particulares
Modulos/Rutinas/Subprogramas

● En PASCAL, se pueden manejar dos tipos de 
rutinas: los PROCEDIMIENTOS y las 
FUNCIONES

● Los Procedimientos y Funciones se deben de 
declarar afuera del programa principal, deben de 
identificarse con nombres unicos y tiene sus 
propios begin y end.
Modulos/Rutinas/Subprogramas

● La diferencia más importante entre un 
procedimiento y una función es el hecho de que 
una función es una expresión y como a tal se 
puede emplear dentro de otras expresiones. Un 
procedimiento, en cambio, representa una 
instrucción y no puede ser empleada dentro de un 
contexto de expresión.
● Las funciones devuelven siempre un valor de un 
tipo determinado
Funciones (Function)
● La declaración de una función sigue el modelo 
siguiente :

function NombreFuncion ( listaParametros ) : tipoRetorno;

– NombreFuncion es el identificador de la función y es el 
nombre que emplearemos para llamarla.
– ListaParametros representa el conjunto de parámetros que 
se pueden pasar a la función. Para declarar más de un 
parámetro los tenemos que separar entre puntos y comas y 
teniendo en cuenta de que el último parámetro no lleva 
nunca punto y coma
– tipoRetorno representa el tipo de datos que devuelve la 
función.
Funciones (Function) ­ Ejemplos
Function Mayor(a,b,c:Integer):Integer;
{Funcion nombrada Mayor para calcular cual 
numero es mayor}
begin
        if a >= b then
              if a > c then
                Mayor := a
              else
                Mayor := c
        else
           if b >= c then
                Mayor := b
           else
                Mayor := c;
end; {Fin de la funcion Mayor}
Funciones (Function) ­ Ejemplos
VAR           r, radio, circulo, esfera : REAL;
FUNCTION Potencia ( base:REAL, exponente:INTEGER):REAL;
        VAR       i : INTEGER;
        BEGIN
              Potencia := 1;
              FOR i:=1 TO exponente DO Potencia:=Potencia*base
        END;
...
circulo := 3.1416 * Potencia (radio, 2);
esfera := 4/3 * 3.1416 * Potencia (r, 3);
Procedimientos (Procedure)
Los procedimientos se declaran de forma parecida a las 
funciones pero sin especificar el tipo de salida ya que no 
tienen. Por ejemplo el procedimiento Creditos escribiría 
unos créditos en la pantalla :
procedure Creditos;
begin
   Writeln('Fundamento de Programacion'
   Writeln('Prof. Daniel De Santiago');
end;
Procedimientos (Procedure)

● La declaración de un procedimiento sigue el 
modelo siguiente :

procedure identificador (lista de parámetros formales);
      Sección de las declaraciones;
begin
      Sección ejecutable
end;
Procedimientos (Procedure)

– Identificador: da nombre a la rutina y se utiliza para 
invocarla al solicitar su ejecución. Se construye siguiendo 
las mismas reglas que rigen para las constantes y las 
variables.
– Lista de parámetros formales : especificación de los 
identificadores que se utilizan para comunicar valores con 
otros módulos del programa. Se indican sus tipos y los 
mecanismos para la transferencia.
Procedimientos (Procedure)

– Sección de las declaraciones : contiene las declaraciones de 
todas las entidades definidas por el usuario que se utilizan 
dentro de la rutina: etiquetas, constantes, tipos,variables, 
procedimientos, funciones. Son identificadores locales. No 
se admite la inicializacion de variables. No se puede volver 
a declarar los nombres de los parámetros formales.
– Sección ejecutable : contiene las sentencias con las que se 
realizan las acciones que constituyen el subprograma. 
Termina con el delimitador END seguido de punto y coma.
Procedimientos (Procedure)

● Hasta ahora hemos visto que una función puede 
devolver un valor y que por tanto la podemos 
incluir dentro de una expresión. Muchas veces nos 
puede interesar especificar parámetros que 
implique en un cambio en estos parámetros y esto 
no es posible de implementar en una simple 
función. 
Procedimientos (Procedure)

● Supongamos un procedimientos en el cual pasando 
dos parámetros de tipo entero queremos que se 
intercambien los valores. Una forma de hacerlo es 
mediante sumas y restas. Nosotros 
implementaremos un caso más general mediante el 
uso de una tercera variable temporal.
Procedimientos (Procedure)
procedure Intercambiar(var a : integer; var b : integer);
{ Podíamos haber escrito como parámetros (var a, b : 
integer); }
var
  temporal : integer;
begin
  temporal := b;
  b := a;
  a := temporal;
end;
Parametros

● Los parámetros son canales de comunicación para 
pasar datos ente programas y subprogramas en 
ambos sentidos
● Los parámetros van asociados a variables, 
constantes, expresiones, etc., y por tanto, se 
indican mediante los correspondientes 
identificadores o expresiones 
Parametros

● Existen 2 tipos de Parametros:
– Parametros por Valor
– Parametros por Referencia

● Los Parametros por Valor no son nada más que 
una copia de los parámetros originales que se 
crean sólo para la función o procedimiento. Una 
vez termina esta copia desaparece, por lo que toda 
modificación que hagamos dentro de la función o 
procedimiento se perderá.
Parametros

● Los Parametros por Referencia la función o 
procedimiento conoce exactamente la posición de 
memoria del parámetro por lo que las 
modificaciones que hagamos dentro de la función 
o procedimiento permanecerán después de la 
llamada. Para indicar que un parámetro es por 
referencia incluiremos la palabra reservada Var 
delante del parámetro
Estructura de Pascal

● Ver la figura siguiente de como seria la estructura 
de Pascal
Ejercicios

● Escribe un programa que calcule las raices de una 
ecuacion de 2do grado (usar la formula general)

● Escribir un programa que determine si un numero 
leido desde el teclado es par o impar

● Escribir un programa en Pascal que dado un 
número del 1 a 7 escriba el correspondiente 
nombre del día de la semana.
Ejercicios

● Escribir un programa en Pascal que calcule el 
factorial de un número

● A partir de las cadenas de caracteres 70809207 y 
Q, construir y visualizar en la pantalla la cadena 
70809207­Q

● Escribir un programa en Pascal que rellene un 
array con diez números enteros consecutivos y 
haga una copia de ese array en otro
Ejercicios

● Escribir un programa en Pascal que calcule el 
salario neto semanal de un trabajador en función 
del número de horas trabajadas y la tasa de 
impuestos de acuerdo a las siguientes hipótesis.
– Las primeras 35 horas se pagan a tarifa normal
– Las horas que pasen de 35 se pagan 1.5 veces la tarifa 
normal
– Las tasas de impuestos son:
● a: Los primeros 50 dólares son libres de impuestos
● b: Los siguientes 40 dólares tienen un 25% de impuestos
● c: Los restantes de 45% de impuestos
Ejercicios

● Escribir un programa en Pascal que sume los elementos de 
cada una de las filas y de las columnas de la siguiente 
matriz; el resultado de cada suma se almacenará en la 
última posición de la fila o columna correspondiente. 
Además la suma total de todos los elementos de la matriz 
se almacenará en el elemento de la esquina inferior 
derecha de la matriz:
    1       7       0
    5       6       0
    6       4       0
    7       3       0
    0       0       0

Você também pode gostar