Está en la página 1de 42

Fundamentos de programación/Técnicas básicas

de programación
< Fundamentos de programación
<<- Anterior (Algoritmos) | (Introducción a la
programación estructurada) Siguiente->>
Versión para imprimir esta pagina
La programación estructurada sigue tres
reglas: la secuencia, la iteración y la
decisión. La primera de ellas indica que las
instrucciones del código se leerán de
principio a fin; la segunda indica que, según
cierta condición, un número de instrucciones
podrían repetirse un numero determinado de
veces, y la tercera indica que según unas
ciertas condiciones se ejecutarán o no un
conjunto de instrucciones. En el siguiente
algoritmo para limpiar platos se aprecian
estas tres características. La indentación de
las instrucciones indican cuáles son
englobadas y cuáles no por sus predecesoras.

mientras haya platos

coger plato
mientras haya suciedad
echar jabon
pasar el estropajo por el plato
si plato es azulado
ponerlo con los azules

En código no estructurado, quedaría algo más


complejo.
1 coger plato
2 echar jabon
3 pasar el estropajo por el plato
4 si hay suciedad ir a la instrucción 2
5 si el plato no es azul ir a la instrucción
7
6 ponerlo con los azules
7 si hay más platos ir a la instrucción 1

En programas más grandes, esto es muchísimo


más complicado.
Ahora conocemos la ejecución de los
algoritmos. Sin embargo, un programa se
compone tanto de algoritmos como de una
estructura de datos sobre los que operar.
Sumario
[ocultar]

 1Antes de empezar un programa


o 1.1Estructura de un programa
o 1.2Variables y constantes
o 1.3Comentarios
 2Estructuras de datos y de control
o 2.1Estructuras de control
o 2.2Estructuras de datos
 3Enlaces externos
Antes de empezar un programa[editar]
Estructura de un programa[editar]
En la programación estructurada hay un inicio
y un fin perfectamente bien definido de
acuerdo al diagrama de flujo que se planteó al
concebir la idea del programa.
Un programa bien estructurado debería tener
algún subprograma que capture cualquier error
dentro del programa principal o de cualquier
subprograma dentro de la aplicación de tal
modo que el subprograma que captura los
errores genere un registro de datos que
describa el error generado y/o en qué
subprograma se generó el error para
posteriormente corregirlo. Para facilitar la
corrección de estos errores se hace uso de los
comentarios agregados en el código fuente.
Variables y constantes[editar]
Como hemos visto, el ordenador sigue una serie
de instrucciones. Pero esas instrucciones
tienen que operar sobre una serie de datos. El
ordenador típico sólo procesa una instrucción
a la vez, por lo que necesita 'espacios de
memoria' donde guardar o depositar, a modo de
cajones, por usar un símil conocido, los
diversos datos con los que trabaja. Aquí es
donde entran en juego las variables y
constantes.
En los inicios, con el ensamblador, se podía
decir al ordenador, por ejemplo: 'Ejecuta la
instrucción de esa posición de memoria' o
también 'En esa posición de memoria está
guardada mi edad, imprímela por pantalla'.
Todo esto se deriva del hecho de que los
programas también son datos. Esta ambigüedad
presenta numerosos inconvenientes cuando se
producen errores, como el lector se imaginará
fácilmente: de ahí que, a medida que los
lenguajes evolucionan hacia niveles
superiores, se impida el tratamiento
indistinto de los datos. A partir de entonces,
un programa tiene que decirle al sistema
operativo los cajones que necesita y éste se
los proporciona independientemente de cuáles
sean.
Quizás suene más complicado de lo que es. Un
ejemplo: Queremos sumar dos números. Nuestro
programa tendrá que tener tres cajones: Uno
para cada número y otro para el resultado.
Cada cajón tiene un nombre en vez de una
posición de memoria, de manera que sólo hay
que nombrarlo:

Necesito cajones A, B y Resultado


Lee un número y guárdalo en A
Lee un número y guárdalo en B
Suma A y B y guárdalo en Resultado
Imprime el contenido de Resultado

He aquí nuestro programa. Como cabe pensar, un


procesador no tiene la instrucción "Imprime
por pantalla"; esto es una llamada a otra
porción de código que, gracias a la
abstracción, nosotros no hemos escrito, o
hemos escrito una sola vez; a partir de lo
cual podemos imprimir todo el texto que
queramos en la pantalla.
Las posiciones de memoria A y B son Variables.
Si queremos leerlas o escribirlas, podemos
hacerlo. Típicamente, existirán datos que no
pensamos modificar; no querremos que el
usuario tenga que introducirlos cada vez, pues
son de naturaleza más constante que otros
(como puede ser el valor Pi para calcular el
perímetro o área de un círculo). Para evitar
modificarlos por error, podemos pedir al
sistema variables especiales, que no puedan
ser reescritas. Son las Constantes. Un
ejemplo:

Comentario: Este programa calcula el área de


un círculo
Constante PI = 3'14159265
Variable R
Variable Resultado;
Leer número y guardar en R
Calcular PI * (R * R) y guardar en Resultado
Imprimir Resultado;

El uso de variables y constantes se asemeja al


uso que se les da en el álgebra o en otras
ramas matemáticas.
Nótese también la clara separación entre
estructuras de datos y algoritmos. Según los
lenguajes, esto puede ser o no obligatorio,
pero es recomendable en aras de una mayor
claridad del trabajo.
Comentarios[editar]
El útil concepto del comentario: son líneas de
texto que el compilador o el intérprete no
consideran como parte del código, con lo cual
no están sujetas a restricciones de sintaxis y
sirven para aclarar partes de código en
posteriores lecturas y, en general, para
anotar cualquier cosa que el programador
considere oportuno.
Uno como programador debe tener como prioridad
documentar nuestro código fuente ya que al
momento de depurar nos ahorrará mucho tiempo
de analisis para su corrección o estudio.
Los programadores profesionales tienen la
buena costumbre de documentar sus programas
con encabezados de texto (encabezados de
comentarios) en donde describen la función que
va a realizar dicho programa, la fecha de
creación, el nombre del autor y en algunos
casos las fechas de revisión y el nombre del
revisor.
Por lo general algunos programas requieren
hacer uso de llamadas a subprogramas dentro de
una misma aplicación por lo que cada
subprograma debería estar documentado,
describiendo la función que realizan cada uno
de estos subprogramas dentro de la aplicación.
Estructuras de datos y de control[editar]
Estructuras de control[editar]
Las estructuras de control pueden dividirse en
dos: Estructuras de control Condicional y
Estructuras de control Repetitivo.
Las estructuras de control condicional son las
que incluyen alternativas de seleccion con
base al resultado de una operación booleana,
como por ejemplo, una comparación (A==B).
Según la expresión sea cierta o falsa, se
ejecutará una sección de código u otro. Es el
caso de la sentencia IF THEN ELSE de Pascal o
Basic:

IF A==0 THEN
PRINT "A vale 0"
ELSE
PRINT "A no vale 0"

Otra sentencia de control son las de tipo


SWITCH CASE. En este tipo de sentencias se
especifica la variable a comparar y una lista
de valores con los que comparar. Aquel que sea
el verdadero, se ejecutará:

SWITCH A
CASE 0:
PRINT "A vale 0"
CASE 1:
PRINT "A vale 1"

Otras herramientas imprescindibles del control


de la ejecución de nuestro código son los
BUCLES o CICLOS. Consisten en un método que
permite repetir un trozo de código varias
veces.
Hay básicamente dos tipos:
- Bucle FOR:
El bucle FOR consiste en una sentencia que
engloba un grupo de instrucciones y tiene una
variable cuyo valor se va modificando en cada
vuelta. En general se utiliza cuando sabemos
cuántas veces tenemos que repetir el código.

FOR A=0 TO 9 Especificamos en este caso


que A variará desde 0 hasta 9, con lo que
repetiremos el bucle 10 veces.
PRINT "Estamos en el bucle"
NEXT A Con esto cerramos el bucle
e indicamos el final del bloque de
instrucciones que se repiten

- Bucle WHILE:
El bucle WHILE consiste en un bucle en el que
el código se repite mientras se cumpla alguna
condición booleana (es decir, una expresión
que dé como resultado verdadero o falso). Hay
variaciones, como el REPEAT...UNTIL, que se
diferencia en el momento de comprobar si se
hace verdadera o no la condición.

WHILE A<>(B*2) DO Aquí


especificamos la expresión que evaluamos y
aquí se comprueba
A=A+1 Incrementamos
el valor de A mientras sea distinto a B*2
DONE Como en el
FOR, necesitamos especificar donde acaba el
bucle y el código.

Estructuras de datos[editar]
creo a como entero
creo b como entero
creo suma como entero
a=2
b=1
suma = a + b
imprimir suma

Estructura de una aplicación. Cualquier


programa que se realice debe llevar una
estructura para disminuir la tarea de
depuración ya que esta labor lleva más tiempo
del estimado.
Si eres principiante en el área de
programación debes definir el programa a
realizar, documentar cada uno de los pasos que
realizas en tu programa, debes de considerar
algún metodo de captura de errores, etc.
En este subcapítulo abarcaremos el cómo
estructurar una aplicación para mejorar o
disminuir el tiempo en depuración, así como
localizar más rápidamente los errores.
Puedes buscar en Internet el concepto
"pseudocódigo", que no es más que la escritura
de un algoritmo en un lenguaje más cercano al
natural. Es decir, la orden en lenguaje
Javascript que repetiría el proceso de quitar
suciedad añadiendo agua y jabón mientras se
frota sería la siguiente:

function frotar(cuanto){
var veces = 0;
for (veces = 0; suciedad < 0 || veces <
cuanto ; veces++){
suciedad = suciedad - (agua + jabón);
}
}

Mientras que el algoritmo o pseudocódigo


quedaría así:

función frotar (cuantas veces lo hago)


variable veces que llevo = 0
repetir (desde que vecesquellevo = 0
mientras la suciedad < 0 ó vecesquellevo <
cuantasveceslohago; aumentar vecesquellevo de
una en una)
suciedad = suciedad - (agua + jabón)
fin repetir
fin función

En primer lugar, es muy recomendable hacer un


esquema sobre el papel con toda clase de datos
que se vayan a utilizar. Por ejemplo, si
queremos hacer un programa para controlar una
empresa dedicada al alquiler de coches,
podríamos necesitar:

 Matrícula del coche


 Marca del coche
 Modelo del coche
 Color del coche
 Estado del coche (si está alquilado, en
reparación o disponible)
 Situación del coche (en qué lugar del garaje
o en qué localidad está)
 Kilometraje del coche
 Precio por hora del coche
por un lado, y:

 Nombre del cliente


 Apellidos del cliente
 Dirección del cliente
 DNI del cliente
 Permiso de conducir del cliente
 Número de cuenta del cliente
... etc. por otro.
Capítulo 9:
Tipos de estructuras de programación.
Estructuras básicas y secuencial.

Un problema se puede dividir en acciones


elementales o instrucciones, usando un número
limitado de estructuras de control (básicas) y
sus combinaciones que pueden servir para
resolver dicho problema.

Las Estructuras Básicas pueden ser:


Secuenciales: cuando una instrucción del
programa sigue a otra.
Selección o decisión: acciones en las que la
ejecución de alguna dependerá de que se
cumplan una o varias condiciones. Repetición,
Iteración: cuando un proceso se repite en
tanto cierta condición sea establecida para
finalizar ese proceso.

ESTRUCTURAS BÁSICAS.
Estructura Secuencial.
Se caracteriza porque una acción se ejecuta
detrás de otra. El flujo del programa coincide
con el orden físico en el que se han ido
poniendo las instrucciones. Dentro de este
tipo podemos encontrar operaciones de
inicio/fin, inicialización de variables,
operaciones de asignación, cálculo,
sumarización, etc. Este tipo de estructura se
basa en las 5 fases de que consta todo
algoritmo o programa:
Definición de variables (Declaración)
Inicialización de variables.
Lectura de datos
Cálculo
Salida
Ejemplo 1.
Se desea encontrar la longitud y el área de un
círculo de radio 5.
Solución.
El objetivo del ejercicio es encontrar la
longitud y el área de un círculo con un radio
conocido y de valor 5. Las salidas serán
entonces la longitud y el área. (Fase 5 del
algoritmo) Sabemos que la longitud de un
círculo viene dada por la fórmula 2 * pi *
radio y que el área viene dada por pi * radio
al cuadrado. (Fase 4 del algoritmo) Si
definimos las variables como: (fase 1 del
algoritmo)
L = Longitud A = área R = radio pi = 3.1416
hagamos el algoritmo:
Inicio
Pi ¬ 3.1416 (definición de un valor constante)
R ¬ 5 (radio constante ya que es conocido su
valor)
A ¬ pi * R ^ ² (asignación del valor del área)
L ¬ 2 * pi * R (asignación del valor de la
longitud)
Escribir (A, L) (salida del algoritmo)
Fin

Representación en Diagrama de Flujo para


el ejemplo:
Representación en Diagrama Nassi
Schneiderman:
Los problemas secuenciales en diagramas N-S se
representan solamente por cajas con líneas
horizontales

En este ejercicio no existen datos de


entrada ya que para calcular el área y la
longitud necesitamos únicamente el radio y el
valor de Pi los cuales ya son dados en el
problema Modificar el problema anterior para
que sea capaz de calcular el área y la
longitud de un círculo de cualquier radio
requerido.
Solución.

El problema es el mismo con la variante de


que ahora ya existe un dato de entrada, puesto
que el radio puede ser cualquiera y será
necesario que el usuario sea quien lo
introduzca de teclado. Usando las misma
definición de variables tenemos:
Algoritmo:
Inicio
Pi ¬ 3.1416 (fase de inicialización)
Leer (R) (fase de lectura)
Area ¬ pi * R ^ ² (fase de cálculos)
L ¬ 2 * pi * R
Escribir ( A, L ) (fase de salida)
Fin

Note que la instrucción de asignación fue


cambiada por la instrucción leer. En el
flujograma deberán cambiarse también los
símbolos que los representan:

Ejemplo 3.
Leer el sueldo de tres empleados y aplicarles
un aumento del 10, 12 y 15% respectivamente.
Desplegar el resultado.
Salidas: Sueldos finales
Entradas: Salarios de los empleados
Datos adicionales: aumentos del 10, 12 y 15%
Cálculos:
Sueldo final = sueldo inicial + aumento
Aumento = sueldo inicial * porcentaje/100
Definición de variables:
Sf1, Sf2, Sf3 = los sueldos finales
S1, S2, S3 = salarios de los empleados
Aum1, aum2, aum3 = aumentos
ALGORITMO
Inicio
Leer (S1,S2,S3)
Aum1 ¬ S1 * 0.10
Aum2 ¬ S2 * 0.12
Aum3 ¬ S3 * 0.15
Sf1 ¬ S1 + Aum1
Sf2 ¬ S2 + Aum2
Sf3 ¬ S3 + Aum3
Escribir (SF1,SF2,SF3)
Fin

Tengo un teléfono y necesito llamar a alguien


pero no sé como hacerlo.
El anterior ejemplo es un sencillo algoritmo
de un problema cotidiano dado como muestra de
una estructura secuencial. Ahora veremos los
componentes que pertenecen a ella:

Asignación

La asignación consiste, en el paso de valores


o resultados a una zona de la memoria. Dicha
zona será reconocida con el nombre de la
variable que recibe el valor. La asignación se
puede clasificar de la siguiente forma:

 Simples: Consiste en pasar un valor constante


a una variable (a 15)
 Contador: Consiste en usarla como un
verificador del numero de veces que se
realiza un proceso (a a + 1)
 Acumulador: Consiste en usarla como un
sumador en un proceso (a a + b)
 De trabajo: Donde puede recibir el resultado
de una operación matemática que involucre
muchas variables (a c + b*2/4).
En general el formato a utilizar es el
siguiente:

< Variable > <valor o expresión >

El símbolo debe leerse “asigne”.

Escritura o salida de datos

Consiste en mandar por un dispositivo de


salida (p.ej. monitor o impresora) un
resultado o mensaje. Esta instrucción presenta
en pantalla el mensaje escrito entre comillas
o el contenido de la variable. Este proceso se
representa así como sigue:

Lectura o entrada de datos

La lectura o entrada de datos consiste en


recibir desde un dispositivo de entrada (p.ej.
el teclado) un valor o dato. Este dato va a
ser almacenado en la variable que aparece a
continuación de la instrucción. Esta operación
se representa así:

DECLARACION DE VARIABLES Y CONSTANTES

La declaración de variables es un proceso que


consiste en listar al principio del algoritmo
todas las variables que se usarán, además de
colocar el nombre de la variable se debe decir
qué tipo de variable es.

Contador: ENTERO
Edad, I: ENTERO
Direccion : CADENA_DE_CARACTERES
Salario_Basico : REAL
Opcion : CARACTER

En la anterior declaración de variables


Contador, Edad e I son declaradas de tipo
entero; Salario_Basico es una variable de tipo
real, Opcion es de tipo carácter y la variable
Direccion está declarada como una variable
alfanumérica de cadena de caracteres.

En el momento de declarar constantes debe


indicarse que lo es y colocarse su respectivo
valor.

CONSTANTE Pi 3.14159
CONSTANTE Msg “Presione una tecla y continue”
CONSTANTE ALTURA 40

Cuando se trabaja con algoritmos por lo


general no se acostumbra a declarar las
variables ni tampoco constantes debido a
razones de simplicidad, es decir, no es camisa
de fuerza declarar las variables. Sin embargo
en este curso lo haremos para todos los
algoritmos que realicemos, con esto logramos
hacerlos más entendibles y organizados y de
paso permite acostumbrarnos a declararlas ya
que la mayoría de los lenguajes de
programación (entre ellos el C++) requieren
que necesariamente se declaren las variables
que se van a usar en los programas.

Veamos algunos ejemplos donde se aplique todo


lo que hemos visto hasta el momento sobre
algoritmos:

Ejemplo 1: Escriba un algoritmo que pregunte


por dos números y muestre como resultado la
suma de estos. Use Pseudocódigo y diagrama de
flujos.

Ejemplo 2: Escriba un algoritmo que permita


conocer el área de un triángulo a partir de la
base y la altura. Exprese el algoritmo usando
Pseudocódigo y diagrama de flujos.
Resolución[editar]
Por hipótesis comprobada[editar]
La forma más sencilla para resolver una
relación de recurrencia es formular una
posible solución (hipótesis) y comprobar por
inducción la validez de la misma.
En el caso de las "Torres de Hanoi",
siendo el número de pasos para resolver el
problema con discos, está dado por la
siguiente ecuación de recurrencia:

Resolver la recurrencia sería encontrar la


ecuación que nos da el valor de en
términos de .
Al analizar la correspondencia para cada
valor de con n desde especulamos que
quizás la solución sea , por lo que para
comprobarla se procede a sustituir la
hipótesis en la ecuación de recurrencia:

comprobándose la hipótesis como


verdadera.3
Iteración[editar]
Para resolver una relación de recurrencia
asociada a la sucesión: por iteración,
utilizamos la relación de recurrencia para
escribir el n-ésimo término en
términos de algunos de sus predecesores.
Luego utilizamos de manera sucesiva la
relación de recurrencia para reemplazar
cada uno de los términos por algunos de
sus predecesores. Continuamos hasta llegar
a alguno de los casos base.
Recurrencias Lineales[editar]
Una relación de recurrencia es lineal de
orden k si tiene la siguiente estructura:

para , siendo funciones reales


de , y una función de n.
El adjetivo lineal indica que cada
término de la secuencia está definido
como una función lineal de sus términos
anteriores. El orden de una relación de
recurrencia lineal es el número de
términos anteriores exigidos por la
definición.

En la relación el orden es dos,


porque debe haber al menos dos términos
anteriores (ya sean usados o no).
Ejemplos :

Ecuación de Recurrencia lineal


homogénea con coeficientes
constantes[editar]
Se llama ecuación de recurrencia
lineal homogénea de orden k, con
coeficientes constantes, a una
expresión del tipo:

Para poder encontrar una solución,


hacen falta unas condiciones de
contorno o iniciales ,
siendo k el grado de la ecuación.
La recurrencia lineal, junto con las
condiciones iniciales ,
determinan la secuencia única.
Sea la ecuación de recurrencia
lineal homogénea de orden k
anterior, se denomina ecuación
característica a la ecuación de
grado k:
La generación de la función
racional[editar]
Las secuencias lineales recursiva
son precisamente las secuencias
cuya función de generación es
una función racional: el
denominador es el polinomio
auxiliar (a una transformación), y
el numerador se obtiene con los
valores iniciales.
El caso más sencillo son las
secuencias periódicas, , n≥d que
tienen secuencia y función de
generación una suma de una serie
geométrica:

Más general, dada la relación de


recurrencia:

con función de generación

la serie es aniquilada
por y anteriormente por
el polinomio:

Eso es, multiplicando la


función de generación por
el polinomio
como el coeficiente
en , que desaparece
(por la relación de
recurrencia) para n ≥ d.
Así:

como dividiendo:

expresando la
función de
generación como una
función racional. El
denominador es ,
una transformación
del polinomio
auxiliar
(equivalente,
invirtiendo el orden
de los
coeficientes);
también se puede
usar cualquier
múltiplo de esta,
pero esta
normalización es
elegida por ambas
porque la relación
simple del polinomio
auxiliar, y de ese
modo .
Relación con la
diferencia de
ecuaciones[editar]
Dada
una secuencia de
números reales: la
primera
diferencia se
define como
La segunda
diferencia se
define como ,
que se puede
simplificar a .
Más general: la
diferencia se
define como
A diferencia de la
ecuación es una
ecuación compuesta
por y sus
diferencias. Cada
relación de
recurrencia puede
ser formulada como
una ecuación de
diferencia. Por el
contrario, cada
ecuación de
diferencia puede ser
formulada como una
relación de
recurrencia. Algunos
autores así utilizan
los dos términos
intercambiables. Por
ejemplo, la ecuación
de la diferencia:

es equivalente a
la relación de
recurrencia:

De este modo se
puede resolver
relaciones de
recurrencia por
la reiteración
como ecuaciones
diferencia, y
luego la
solución de la
ecuación de
diferencia,
análogamente
como una
solución de
ecuaciones
diferenciales
ordinarias.
Ver escala de
tiempo de
cálculo para la
unificación de
la teoría de las
ecuaciones de
diferencia con
la de las
ecuaciones
diferenciales.
Resolución[edita
r]
Sean

una ecuación
de recurrencia
lineal
homogénea,
su ecuación
característica
y, las
raíces de la
ecuación
característica
con
multiplicidade
s respecti
vamente. La
solución de
esta ecuación
sería:
Con el pol
inomio de
grado menor o
igual que .
Para poder
calcular los
coeficientes
de
los polinomios
,
necesitamos
saber las
condiciones
iniciales de
la ecuación de
recurrencia.
Ejemplo :
Números de
Fibonacci[edit
ar]
Los números
de Fibonacci e
stán definidos
usando la
siguiente
relación de
recurrencia
lineal:
con los
valores
iniciales:

La secue
ncia de
los
números
de
Fibonacc
i comien
za: 0,
1, 1, 2,
3 ,5, 8,
13, 21
,34, 55,
89... El
objetivo
de la
resoluci
ón de la
ecuación
de
recurren
cia es
encontra
r una
forma
cerrada
para
calcular
los
números
de
Fibonacc
i.
La
ecuación
caracter
ística
es la
siguient
e:

po
r
lo
ta
nt
o,
la
so
lu
ci
ón
ge
ne
ra
l
es
:
P
a
r
a

h
a
l
l
a
r

e
l

v
a
l
o
r

d
e

r
e
s
o
l
v
e
m
o
s

l
a
s

s
i
g
u
i
e
n
t
e
s

e
c
u
a
c
i
o
n
e
s
:
Tipos de datos y Operadores en programación.

Todo sistema de computación es


alimentado con datos. La representación de los
datos incide en la elaboración de los
algoritmos. El sistema de identificación de
los datos se denomina “estructura de datos”, y
depende de las características de estos.

-Los datos son los siguientes;

a) Datos numéricos:

· Enteros.
· Reales.
· Reales decimales.
· Reales exponenciales.
b) Datos alfanuméricos:
· De carácter.
· De cadena.
c) Datos lógicos:
· Verdadero [True]
· Falso [False]
-Tipos de datos: numéricos
Son aquellos que se utilizan para realizar
operaciones aritméticas.

Enteros; corresponden a números “completos”, o


sea que no tienen parte decimal, pueden ser
negativos, positivos o cero. Ejemplo: La edad
de una persona (39), el total de estudiantes
en un grupo (36).

Reales; son aquellos números que poseen punto


decimal. Pueden ser negativos, positivos o
cero.
Reales decimales; son los que constan de una
parte entera y una decimal (en algunos casos
se puede omitir la parte entera o la decimal).
Ejemplo: La nota de un estudiante (4.7), el
porcentaje de algún impuesto (0.16).

Reales exponenciales (de punto flotante); son


aquellos números que se expresan en función de
potencias de 10; esta expresión es conocida
como notación científica. Ejemplo: -2.85E03;
0.735E-4; 0.58E-1

-Tipos de datos: alfanuméricos


Corresponden al conjunto de caracteres
alfabéticos, numéricos, y/o especiales; con
ellos no se efectúan operaciones matemáticas.

Carácter; cuándo se hace referencia a un solo


carácter, y debe encerrarse entre apostrofes
(‘ ‘). Ej: Sexo de una persona (‘M’ o ‘F’),
estado civil (‘S’, ‘C’, ‘V’).

Cadena; Cuándo se hace referencia a más de un


carácter, siempre debe encerrarse entre
comillas (“ “). Ej: código de un estudiante
(“2041220”), nombre de una persona (“Víctor
Hugo Torres”), dirección donde reside una
persona (“Calle 100 # 50 - 20), número
telefónico (“3002125820”).

-Tipos de datos: lógicos


Son aquellos datos que solo pueden tomar dos
valores:
1. Valor verdadero – true
2. Valor falso – false
*Tipos de datos que se manejan en
pseudocódigo:

· Carácter: Cuando solo queremos un


solo carácter de un dato y se encierra entre
apostrofes (‘ ‘).
· Boolean: Cuando requerimos de una
respuesta TRUE o FALSE (datos lógicos).
· Cadena: Datos alfanuméricos que no se
calculan como el nombre, teléfono, etc..
· Real: Cuando vamos a utilizar números
con punto decimal.
· Entero: Números positivos o negativos
sin punto decimal.
Operadores

Un operador es un símbolo que se utiliza para


manipular datos.
Los operadores se clasifican en:
– Aritméticos.
– Relacionales.
– Lógicos.

Operadores: Aritméticos:

+ Suma
- Resta
* Multiplicación
/ División (div)
% Módulo o residuo (Mod)
^ ó ** Potencia
= Asignación

Operadores: Relacionales

> Mayor que


< Menor que
(=) == Igual a
(<>) != Diferente de
>= Mayor o igual que
<= Menor o igual que

Operadores: Lógicos

(*) && Conjunción (y)


(+) | | Disyunción (o)
(~) ! Negación (no)

Código:
CREATE PROCEDURE [Buscar_Solicitud]
@IdUsuario int,
@IdSol int
AS

IF isnull((Select Tipo
From Solicitudes
Where IdUsuario = @IdUsuario And
IdSolicitud = @IdSol), '1') = '1'
BEGIN
-- Aqui ejecutan lo que corresponda a este
caso
END
ELSE
BEGIN
-- Aqui ejecutan lo que corresponda a este
caso
END

GO

En programación, la estructura de secuencia es


un tipo de estructura de control. También
llamada estructura secuencial.

La estructura de secuencia hace referencia al


orden de ejecución de instrucciones que se
hace de forma secuencial, o sea, una
instrucción después de la otra.

Las instrucciones se suceden de tal forma que


el resultado de la anterior puede afectar la
siguiente.

Es el orden básico de ejecución en los


lenguajes de programación, y su orden es de
arriba a abajo.

Es la base para la escritura de algoritmos.


Veamos un ejemplo en pseudocódigo:
a := 1
b := 7
r := a + b
mostrar (r)
r := a
mostrar (r)

Esto mostrará como resultado:


8 (primera invocación a la función mostrar)
1 (segunda invocación a la función mostrar)

Como se puede apreciar, cada instrucción


afecta las siguientes en un orden de ejecución
secuencial de arriba a abajo, ejecutando una
línea por vez.
Estructura de secuencia: se realiza la
instrucción 1, luego la instrucción 2 ...
hasta la instrucción n

Dentro de una estructura de secuencias podemos


usar otras estructuras que la "rompen" con
otro comportamiento. Las más típicas
son: estructura de selección, y estructura de
repetición.

A su vez, dentro de cada una de estas


estructuras de selección y de repetición hay
estructuras de secuencia también.

También podría gustarte