Está en la página 1de 16

Universidad de Pamplona

Facultad de Ingenierías y Arquitectura


Guía de Programación I – Segundo Semestre 2013

DATO, TIPOS DE DATOS Y OPERACIONES BÁSICAS

El primer objetivo de toda computadora es el manejo de la información o datos.


Estos datos pueden ser las cifras de ventas de un supermercado o las
calificaciones de una clase.

Un dato es la expresión general que describe los objetos con los cuales opera una
computadora. La mayoría de las computadoras pueden trabajar con varios tipos
(modos) de datos. Los algoritmos y los programas correspondientes operan sobre
esos tipos de datos.

La acción de las instrucciones ejecutables de las computadoras se refleja en


cambios en los valores de las partidas de datos. Los datos de entrada se
transforman por el programa, después de las etapas intermedias, en datos de
salida.

En el proceso de resolución de problemas el diseño de la estructura de datos es


tan importante como el diseño del algoritmo y del programa que se basa en el
mismo.

Un dato tipo carácter contiene un solo carácter. Los caracteres que reconocen
las diferentes computadoras no son estándar; sin embargo, la mayoría reconoce
los siguientes caracteres alfabéticos y numéricos:

 Caracteres alfabéticos (A, B, C, . . . , Z) (a, b, c, . . . , z).


 Caracteres numéricos (1, 2, . . . , 9, 0 ).
 Caracteres especiales (+, -, *, /, ^, . , ; , <, >, $, . . .).

Un valor de tipo carácter es cualquier carácter que se encuentre dentro del


conjunto ASCII ampliado, el cual está formado por los 128 caracteres del ASCII
más los 128 caracteres especiales que presenta, en este caso, IBM.

Una cadena (string) de caracteres es una sucesión de caracteres que se


encuentran delimitados por una comilla (apóstrofo) o dobles comillas, según el
tipo de lenguaje de programación. La longitud de una cadena de caracteres es el
número de ellos comprendidos entre los separadores o limitadores. Algunos
lenguajes tienen datos tipo cadena.

‘ Bienvenido al curso de Programacion’


‘ 12 de octubre de 1492 ‘
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

DATOS NUMÉRICOS

El tipo numérico es el conjunto de los valores numéricos. Estos pueden


representarse en dos formas distintas:

 Tipo numérico entero (integer).


 Tipo numérico real (real).

Enteros: el tipo entero es un subconjunto finito de los números enteros. Los


enteros son números completos, no tienen componentes fraccionarios o decimales
y pueden ser negativos o positivos. Ejemplos de números enteros son:

5, 6, -15, 4, 20, 17

Reales: el tipo real consiste en un subconjunto de los números reales. Los


números reales siempre tienen un punto decimal y pueden ser positivos o
negativos. Un número real consta de un entero y una parte decimal. Los siguientes
ejemplos son números reales:

0.08, 3739.41, 3.7452, -52.321, -8.12, 3.0

Existe un tipo de representación denominado notación exponencial o científica y


que se utiliza para números muy grandes o muy pequeños. Así.

367520100000000000000

Se representa en notación científica, esto es en forma de potencias de 10

3.675201 x 1020

y de modo similar: 0.0000000000302579

Se representa como 3.02579 x 10-11

La llamada representación en coma flotante, es una generalización de notación


científica. Obsérvese que las siguientes expresiones son equivalentes:

3.675201 x 1019 = 0.367507 x 1020 = 0.03675201 x 1021 = . . .

= 36.75201 x 1018 = 367.5201 x 1017 = . . .


Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

EXPRESIONES

Las expresiones son combinaciones de constantes, variables, símbolos de


operación, paréntesis y nombres de funciones especiales. Las mismas ideas son
utilizadas en notación matemática tradicional; por ejemplo:

Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones indicadas. Una
expresión consta de operandos y operadores. Por el momento, tendremos que ver
con expresioes Aritméticas.

El resultado de la expresión aritmética es de tipo numérico.

EXPRESIONES ARITMÉTICAS

Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las


variables y constantes son numéricas (real o entera) y las operaciones son las
aritméticas.

+ suma

- resta

* multiplicación

/ división

˄ exponenciación

Div división entera

Mod módulo (resto)

Los símbolos +, -, *, ˄ y las palabras clave div y mod se conocen como


operadores aritméticos.

En la expresión 5+3

Los valores 5 y 3 se denominan operandos. El valor de la expresión 5 + 3 se


conoce como resultado de la expresión.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

Los operadores se utilizan de manera similar que en matemáticas. Por


consiguiente, AxB se escribe en un algoritmo como A*B y 1/ 4x C como C/4.

Al igual que en matemáticas el signo menos juega un doble papel, como resta
en A-B y como negación en –A.

5 x 7 se representa por 5* 7

6÷4 se representa por 6/4

37 se representa por 3˄7

PRIORIDAD
Determina el orden en que habrán de realizarse las operaciones en una expresión
determinada.
Para obtener la prioridad se deben conocer las siguientes reglas:
1. Las operaciones que están encerradas entre paréntesis se evalúan primero.
Si existen diferentes paréntesis anidados (interiores unos a otros), las
expresiones más internas se evalúan primero
2. En caso de coincidir varios operadores de igual prioridad en una expresión
o subexpresión encerrada entre paréntesis, el orden de prioridad en este
caso es de izquierda a derecha.
3. Cuando se desea realizar una operación con baja prioridad por adelantado,
debe agruparse a los operandos involucrados.
4. Los paréntesis tienen prioridad sobre el resto de las operaciones,

Nota: El uso de paréntesis permite modificar el orden de evaluación, puesto que


se evalúa primero la expresión del paréntesis más interno.
● Ejemplo:
➢ ((5 + 2 ^ 3) – 4) * (8 / 2) Potencia 2^3
➢ ((5 + 8) – 4) * (8 / 2) Suma 5 + 8
➢ (13 – 4) * (8 / 2) Diferencia 13 – 4
➢ 9 * (8 / 2) División 8 / 2
➢9*4 Producto 9 * 4
➢ 36 Resultado
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

DIV Y MOD
Estos operadores son parte de la división, para ello deberemos recordar la
operación que realizamos al dividir dos numeros.

Es importante tener en cuenta, que los operadores DIV y MOD se usan


SOLAMENTE con números enteros.

El operador DIV. Es la parte entera de la división, por ejemplo si dividimos 79


entre 8 el resultado será 9.

El operador MOD. Es el residuo de la división, por ejemplo si dividimos 79 entre 8


el resultado será 7.

El siguiente gráfico te mostrará de mejor forma estos operadores.

Tiene sentido hacer uso de éstos dos operadores, cuando queremos saber si un
número es divisible entre otro; cuantas partes enteras tiene una división. De igual
manera, cuando queremos saber si un número es múltiplo o submúltiplo de otros;
al deseamos descomponer un numero en unidades, decenas, centenas y otros
casos más, que de acuerdo al problema a resolver, debemos saber si es
pertinente hacer uso de ellos.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

OPERACION DE ASIGNACIÓN

Este es el modo de darle valores a una variable. La operación de asignación se


representa con el símbolo u operador La operación de asignación se
conoce como instrucción o sentencia de asignación cuando se refiere a un
lenguaje de programación.

El formato general de una operación de asignación seria


Nombre de la variable expresión
Numero 10

La flecha es el símbolo de operador de asignación, se sustituye en otros


lenguajes por =.

La acción de asignación es destructiva, ya que el valor que tuviera la


variable antes de la asignación se pierde y se reemplaza por el nuevo valor, así
que la secuencia de operación es:

A 25 (en este momento A tiene un valor de 25

A 10 (ahora A varia a 10 por su nueva asignación)

A 5 (por ultimo A vuelve a cambiar ya que se le asignó un


nuevo valor)

Por este motivo se dice que la asignación es destructiva, con los valores de
las variables.

Clases de asignaciones

Asignación aritmética
Las expresiones en las operaciones de asignación son
aritméticas:

SUMA 3+14+8 (suma tiene un valor de 25)


TERMINO1 14.5+8
TERMINO2 20*15
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

Asignación lógica
La expresión que se evalúa en la operación de asignación lógica, supongamos
que M, N y P son variables de tipo lógico.

M 8<5
N M o (7<=12)
P 7>6

INSTRUCCIÓN DE LECTURA (LEER)

Se utiliza para introducir valores a una variable. Una vez ejecutada esta
instrucción el valor que tenía la variable se pierde en forma definitiva y el nuevo
valor es aquel que “digita” el usuario (generalmente se conoce como lectura por
teclado)

Ejemplo

Realizar la lectura de dos valores que son almacenados en las variables A y B


respectivamente

Leer (A)

Leer (B)

INSTRUCCIÓN DE ESCRITURA (IMPRESIÓN)

Se utiliza para dar salida al valor de una variable, el resultado de una operación o
de un mensaje, a través de un dispositivo (pantalla).
Ejemplo
Escribir (A)
Escribir (A+5)*8
Escribir “hola Colombia”
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

Paso de expresiones matemáticas a computacionales


Para desarrollar una expresión dada en forma matemática debemos realizar los
siguientes pasos
 Construir una expresión lineal
 Hacer uso de los operadores con sus respectivas reglas matemáticas
 Aplicar las prioridades de los operadores en las expresiones de
programación
Ejemplo
𝑏
𝑎=𝑎+
𝑐
Conversión
A=a+b/c
A=a+(b/c)

Ejemplo 2

𝑥+𝑦−𝑎
𝑥=
𝑑−1
Conversión
x=x+y-a/d-1
x=(x+y-a)/(d-1)
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

ALGORITMIA

ALGORITMO

La palabra "algoritmo" proviene del gran matemático árabe Mohamed Al Kho


Warizmi
Mohamed Al Kho Warizmi escribió entre los años 800 y 825 la obra Quitab Al Jabr
Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del
cero, alcanzó gran reputación por el enunciado de las reglas paso a paso para
sumar, restar, multiplicar y dividir números decimales.

La traducción al latín del apellido “Al Kho Warizmi” en algorismus derivó


posteriormente en algoritmo.
CONCEPTO DE ALGORITMO POR GRANDES ESCRITORES

“es sencillamente un conjunto de reglas para efectuar algún cálculo, bien sea a
mano o, más
frecuentemente, en una máquina” Brassard y Bratley (2000)

“es un método para resolver problemas” Joyanes (2003)

“un algoritmo es una descripción de los pasos básicos a seguir para cumplir
determinada tarea... para que una computadora realice una tarea es necesario
definir previamente un
algoritmo” Torrealba(2004)

“Algoritmo, es un conjunto ordenado y finito de operaciones que permite encontrar


la solución a un problema cualquiera.”, según la Real Academia

Del estudio anterior de los autores descritos podemos decir, que un

Algoritmo es un conjunto de pasos precisos, definidos y finitos que conducen a la


solución de un problema.

Son algunos ejemplos de algoritmos:

●El desarrollo de las actividades diarias en nuestra vida cotidiana, corresponde a


un algoritmo.
●La realización del cálculo de la ecuación de segundo grado.
●La emisión de una nómina de pago de empleados.
●El cálculo de promedios de notas de Estudiantes
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

PARTES DE UN ALGORITMO
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir:
Entrada proceso y salida.

ENTRADA Corresponde al insumo, a los datos necesarios que requiere el proceso


para ofrecer los resultados esperados.

PROCESO Pasos necesarios para obtener la solución del problema o la situación


planteada.

SALIDA Resultados arrojados por el proceso como solución.

Tomando como ejemplo el algoritmo de la sumatoria de los dos números

Inicio
Leer (A)
Leer (B)
Suma= A + B
Escribir (Suma)
Fin

Tenemos que:

ENTRADA
● Valores de las variables A y B.

PROCESO
● Asignar a la variable Suma, el valor de A mas el valor de B.

SALIDA
● Impresión del valor de la variable Suma, que contiene la sumatoria de los
valores de A y B.

ELEMENTOS PARA LA CONSTRUCCIÓN DE ALGORITMOS

Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad


de resolver un problema, los elementos que se utilizan en la construcción de
algoritmos son los siguientes:

● Comandos.
● Datos.
● Variables y contantes.
● Operadores.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

FORMAS DE REPRESENTACION DE LOS ALGORITMOS


Un algoritmo se puede representar por medio de dos formas:

●Pseudocódigo.
●Diagramas de Flujo

Pseudocódigo:
Es una serie de palabras léxicas y gramaticales referidos a los lenguajes de
programación, pero sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del
lenguaje coloquial.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en
lenguaje común, instrucciones de programación y palabras clave que definen las
estructuras básicas. Su objetivo es permitir que el programador se centre en los
aspectos lógicos de la solución a un problema.

Ejemplo:

Inicio
Leer (A)
Leer (B)
Suma= A + B
Escribir (Suma)
Fin

Diagrama de Flujo:
Es una representación gráfica de los pasos necesarios que conllevan a la solución
de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que
representan una acción dentro del procedimiento.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

DIAGRAMAS DE FLUJO

Diagrama de Flujo:
Son representaciones gráficas de los pasos necesarios que conllevan a la solución
algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o
figuras que representan una acción dentro del procedimiento.

Estos símbolos se han normalizado o estandarizado para representar los pasos


del algoritmo. Cada paso se representa a través del símbolo adecuado, que se
van uniendo con flechas, denominadas líneas de flujo, que a su vez indican el
orden en que los pasos deben ser

CARACTERÍSTICAS

 Existe siempre un camino que permite llegar a una solución (finalización del
algoritmo).
 Existe un único inicio del proceso.
 Existe un único punto de fin para el proceso de flujo (salvo del rombo que
indica una comparación con dos caminos posibles).
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

VENTAJAS DE LOS DIAGRAMAS DE FLUJO

 Favorece la comprensión del proceso a través de mostrarlo como un dibujo.


 Permite identificar los problemas y las oportunidades de mejora del
proceso.

Es una excelente herramienta para capacitar a los nuevos empleados y también a


los que desarrollan la tarea, cuando se realizan mejoras en el proceso

DFD (diagrama de flujo de datos)


es un software diseñado para construir y analizar algoritmos. se puede crear
diagramas de flujo de datos para la representación de algoritmos de programación
estructurada a partir de las herramientas de edición que para éste propósito
suministra el programa. Después de haber ingresado el algoritmo representado
por el diagrama, podrá ejecutarlo, analizarlo y depurarlo en un entorno interactivo
diseñado para éste fin. La interfaz gráfica de Dfd, facilita en gran medida el trabajo
con diagramas ya que simula la representación estándar de diagramas de flujo en
hojas de papel.

CONCEPTO DE ESTRUCTURA DE CONTROL


Hasta ahora algoritmos han consistido en simples secuencias de instrucciones,
existen tareas más complejas que no pueden ser resueltas así (repetir una misma
acción, realizar acciones diferentes en función del valor de una expresión, etc.),
Para resolver esto existen las estructuras de control:
Una estructura de control tiene un único punto de entrada y un único punto de
salida.
Una estructura de control se compone de sentencias o de otras estructuras de
control.
Llamaremos estructuras de control a las acciones que tienen como objeto marcar
el orden de ejecución de las instrucciones y que van a servirnos para escribir
concisamente y sin ambigüedades los algoritmos.

Todas las estructuras de control que estudiaremos estarán compuestas de unos


elementos básicos (léxico) y una estructura (sintaxis.)

Existen tres tipos fundamentales de estructuras de control:

o Secuencial.
o Alternativa o selección
o Repetitiva. O de iteración
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

Estructura Secuencial

La estructura secuencial es la más sencilla de todas, simplemente indica al


procesador que debe ejecutar de forma consecutiva una lista de acciones (que
pueden ser, a su vez, otras estructuras de control); para construir una secuencia
de acciones basta con escribir cada acción en una línea diferente.

En una estructura secuencial una instrucción sigue a otra en una secuencia lineal.

EJERCICIOS Y PROBLEMAS
Ejercicio guía para el desarrollo de las expresiones
9 + 7 *8 – 36 / 5
9 + 7 * 8 – 36 / 5
9 + 56 – 36 / 5
9 + 56 - 7,2
65 – 7,2
57,8

Resolver las siguientes expresiones e identificar cada uno de los pasos y el tipo
 7*8*(160 mod 3^3)div 5*13-28
 15/2*(7+(68-15*33+126.5625/3)/15)+19
X=6, B=7,8
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

 (X*5+B^3/4)<=(X^3 div B)
 ((1580 mod 6*2^7)>(7+8*3^4))>((15*2)=(60*2/4))
 NO(15>=7^2)o (43-8*2 div 4<>3*2 div 2)
 (15>=7*3^2 Y 8>3 Y 15>6) O NO (7*3<5+12*2 DIV 3^2)
 NO((7*3 div 2*4)>(15/2*6>=15*2/17=15))

Expresar las siguientes expresiones matemáticas como expresiones de


computadora.
𝑎
𝑦=
𝑏−5

𝑎
𝑧 =𝑏−3−
𝑎+2

𝑏
𝑏 +
𝑎 = 𝑥+𝑦 𝑐

𝑐 𝑑
𝑎−𝑥−𝑐∗2+𝑧−𝑥
𝑥=
𝑏+𝑑

𝑧 4𝑥
𝑥= 𝑎 + −8
−1 𝑎+𝑏
𝑏+𝑐

PROBLEMAS
1. Escribir las instrucciones de asignación que permitan intercambiar los
contenidos (valores) de dos variables
2. Escribir las instrucciones necesarias para leer dos enteros en las variables
X y Y respectivamente. Obtener los valores X DIV Y, X MOD Y escribir los
resultados
3. Escribir las instrucciones que conviertan un número dado de segundos en
equivalentes en minutos y segundos.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía de Programación I – Segundo Semestre 2013

4. Escribir las instrucciones necesarias para leer una temperatura en grados


Celsius y que pueda ser convertida a una temperatura equivalente de
grados Fahrenheit (f=9/5*c+32)
5. Escribir las instrucciones necesarias para descomponer un número de 5
cifras en sus dígitos
6. Dada las tres notas de los parciales de una estudiante en la asignatura de
programación, escriba las instrucciones necesarias para calcular la nota
definitiva sabiendo que cada una de ellas tiene un porcentaje respectivo
(35%, 35%, 30%)