Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Algoritmica y Programacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 37

Universidad Tecnológica Nacional – Facultad Regional Concordia -1-

INTRODUCCIÓN

El comportamiento y el pensamiento humano se dan en secuencias lógicas. Desde


la infancia hemos aprendido a cómo actuar, a cómo hacer las cosas. Nuestras vidas
tienen un cierto orden y mucho de lo que hacemos cada día, lo realizamos
automáticamente a un nivel inconsciente. Sin embargo si lo hiciésemos conscientemente
hay una secuencia lógica de pasos que tienen lugar en un orden prescripto.

Toda nuestra civilización está basada en el orden de las cosas y las acciones. La
ordenación, consciente e inconsciente es una parte importante de nuestras vidas y esta
ordenación se adquiere a través de un proceso que podríamos llamar programación.

PROGRAMACIÓN
La planificación, proyección o ejecución de una tarea o suceso.

Nuetro interés es sobre la programación de la computadora.

PROGRAMACIÓN DE COMPUTADORAS
El proceso de planificar una secuencia
de instrucciones que ha de seguir una computadora.

Así como el programa de un concierto o las reglas de un juego son un esbozo impreso
con anotaciones de las acciones que se van a ejecutar, un programa de computadora es un
listado del conjunto de instrucciones que perfilan los pasos que han de ejecutarse.

PROGRAMA DE COMPUTADORAS
Una secuencia de instrucciones que indican
las acciones que han de ejecutarse.

La computadora nos permite hacer tareas de manera más eficiente, rápida y precisa de lo que
haríamos a mano. Para utilizar esta poderosa herramienta debemos especificar exactamente lo
que queremos hacer y el orden en el que debe hacerse.
Universidad Tecnológica Nacional – Facultad Regional Concordia -2-
GENERALIDADES DE LA PROGRAMACIÓN

Sistema
Informático
Hacer
Sumar
Leer
Restar
Mostrar
.................

Hardware

Software

Hardware:
Son los componentes físicos de un sistema de computación. El
equipo propiamente dicho.

Software:
Son los datos e instrucciones de un sistema de cómputos
empleados en forma simbólica.
Universidad Tecnológica Nacional – Facultad Regional Concordia -3-
HARDWARE: PRINCIPIOS DE ARQUITECTURA

Una computadora es un dispositivo electrónico capaz de procesar información. Es una


máquina de propósitos generales que al ser programada puede almacenar, recuperar y procesar
datos.

Arquitectura:

BUS
Regi
stro
s

ALU Memoria Interfaz de Interfaz de


(RAM y ROM) Entrada Salida

Memoria
Unidad
Secundaria Teclado,
de Impresora
(disco duro, Terminal
Control
CD)
CPU Memoria Entrada Salida

UNIDAD DE MEMORIA PRINCIPAL: almacena internamente los datos e instrucciones.

UNIDAD ARITMÉTICA Y LÓGICA (ALU): componente que ejecuta las operaciones


aritméticas (suma, resta, etc) y lógicas (comparación).

UNIDAD DE CONTROL: interpreta las instrucciones y el secuenciado de las


mismas. Controla las acciones de los otros componentes para que se ejecuten las
instrucciones en secuencia (orden).

UNIDAD CENTRAL DE PROCESO: es el cerebro de la computadora, quien


interpreta y ejecuta las instrucciones.

DISPOSITIVOS DE ENTRADA/SALIDA: medios utilizados para lograr la


comunicación hombre-máquina.

Dispositivos Periféricos
Son dispositivos de entrada, salida o almacenamiento auxiliar de una computadora.

Ejemplos: teclado, lectora de CD, disco rígido, diskette, lápiz óptico, DVD, plotter, scanner.
Impresora, monitor.
Universidad Tecnológica Nacional – Facultad Regional Concordia -4-
SOFTWARE
La característica fundamental de la computadora reside en su naturaleza de
máquinas programables y dotadas de una capacidad para memorizar información. Y no
hay que perder de vista que su objetivo principal es el tratamiento de la información.
En su sentido más amplio, el término software identifica todo cuanto complementa a
la arquitectura física del computador y lo convierte en una máquina intruíble, versátil y
dispuesta a ejecutar innumerables tareas distintas.

Adoptando una acepción más estricta, habría que hablar del software como el
conjunto de órdenes, instrucciones y programas que dan vida al hardware del ordenador:
el denominado componente lógico del ordenador.

Forman parte del software tanto los programas de procesamiento de textos, los que
manejan grandes bases de datos, como los programas internos que se ocupan de que el
hardware acepte órdenes introducidas por el teclado, visualice los datos a través de una
pantalla y ejecute las instrucciones los programas de aplicación.

Tipos de Software

DE APLICACIÓN: está constituido por los programas que resuelven problemas


específicos, llamados programas de aplicación y que pueden ser escritos por los grandes
fabricantes como por programadores comunes.

Ejemplos: procesadores de textos, graficadores, planilla electrónicas, sistemas


contables, programas de aplicación científica.

DE BASE: está formado por los programas que facilitan una explotación más
racional de los ordenadores, guiando todas las tareas y ayudando a los programas en
ciertas funciones. Son escritos y proporcionados por grandes fabricantes.

Ejemplos:

Sistemas Operativos: linux, dos, windows 98, unix.

Lenguajes de programación: Pascal, C, Lisp, Prolog.


Universidad Tecnológica Nacional – Facultad Regional Concordia -5-
SOFTWARE - SISTEMA OPERATIVO

Es un conjunto de programas que dirige todas las operaciones de la


computadora y le provee acceso a los usuarios a los recursos del sistema.

Sus funciones son:

GESTIÓN DE TRABAJOS Y RECURSOS:


Control de Trabajos: planificación de los trabajos, asignación de recursos (memoria,
impresora, etc), carga y finalización del
programa Control de E/S: transferencia de datos
Comunicaciones internas
Recuperación

GESTIÓN DEL SISTEMA:

Control y recuperación de las tareas llevadas a cabo

GESTIÓN DE DATOS

Gestión de ficheros. Soporte de entrada – salida. Gestión de datos.

Podría imaginarse al sistema operativo como la cabina de un avión. Sin ella hay
suficiente potencialidad pero el avión no puede volar. El sistema operativo le permite al
usuario de una computadora controlarla.
Al igual que los mandos de la cabina de un avión el sistema operativo coordina las
partes de la computadora y permite fácilmente controlarlas.
Universidad Tecnológica Nacional – Facultad Regional Concordia -6-
SOFTWARE - SISTEMA OPERATIVO
Pude decirse que el sistema operativo opera en dos niveles:

GESTIÓN DE HARDWARE: coordina la CPU con el resto del hardware. En esta


función, por ejemplo, toma el carácter que se pulsa en el teclado, lo codifica en
forma comprensible y a continuación lo visualiza en el monitor. También realiza
pequeñas tareas relacionadas con el uso de los programas tales como formatear
un disco o indicar qué ficheros hay en el disco.

LA FUNCIÓN DE UTILIDAD: ejecuta órdenes que nos permiten interactuar


directamente con la computadora. Estas órdenes realizan funciones tales como
nombar o copiar archivos de un disco. Es decir, pone a disposición del usuario
un conjunto de comandos. Utilitarios que permiten la utilización del equipo.

Cuadro de relación usuario-sistema-máquina:

Sistema

Máquina

Operativo
Universidad Tecnológica Nacional – Facultad Regional Concordia -7-
LENGUAJES DE PROGRAMACIÓN

Un lenguaje de programación es un conjunto de reglas, símbolos y palabras


especiales utilizadas para construir un programa.

TIPOS DE LENGUAJES
Lenguajes de Bajo Nivel
Lenguajes de Alto Nivel

LENGUAJES DE BAJO NIVEL

Lenguaje de máquina: es el lenguaje usado directamente por la computadora y


compuesto por instrucciones formadas por bits (ceros y unos).

Lenguaje ensamblador: es el lenguaje que reemplaza los ceros y unos por


códigos simbólicos para cada operación y su ventaja es que el programador
puede memorizar las instrucciones más fácilmente. Por ejemplo:
ADD para sumar en lugar del código numérico binario 100101.

Si bien la aparición de los lenguajes ensambladores trajo ventajas para los


programadores, la computadora sigue operando en lenguaje de máquina, es decir, no puede
ejecutar directamente las instrucciones en lenguaje ensamblador. Por lo cual se deben
traducir las instrucciones del lenguaje ensamblador en instrucciones en lenguaje de máquina.

LENGUAJES DE ALTO NIVEL

Debido a que los seres humanos resuelven los problemas y se comunican en


lenguajes naturales tales como el castellano o el inglés, se desarrollaron los lenguajes de
programación de alto nivel para estar más cerca del pensamiento humano.
En estos lenguajes, los programas necesitan traducirse a instrucciones del lenguaje
de máquina. Esta traducción se realiza mediante compiladores.

Lenguaje Lenguaje de Lenguaje de


ejecución
Natural Alto Nivel Bajo Nivel

codificación compilación
Universidad Tecnológica Nacional – Facultad Regional Concordia -8-
ALGORITMOS

Es un procedimiento descripto paso a paso para resolver un problema en una


cantidad finita de tiempo.

Ejemplo:

Algoritmo para determinar el salario semanal de un empleado

1. Buscar el sueldo por hora del empleado.

2. Determinar el número de horas trabajadas durante la semana.

3. Multiplicar el número de horas trabajadas por el sueldo por hora para obtener la
paga regular.

4. Mostrar el sueldo a pagar.


Universidad Tecnológica Nacional – Facultad Regional Concordia -9-
ALGORITMOS: RESOLUCIÓN DEL PROBLEMA

Fase de resolución del Problema:

Análisis.- Comprensión (definición) del problema.

Solución general (algoritmo).- Desarrollo de una secuencia lógica de pasos usados


para resolver un problema.

Prueba.- Seguir los pasos exactos tal como se han establecido para ver si la solución
resuelve realmente el problema.

Fase de Implementación:
Solución Específica (programa).- Traducción del algoritmo a un lenguaje de programación
(Código).

Prueba.- Hacer que la computadora siga las instrucciones. Comprobar los resultados y
hacer correcciones hasta que las respuestas sean correctas.

Uso.- Utilización del programa.

Resolvemos problemas todos los días, pero normalmente ignoramos el proceso que
estamos siguiendo. Después que hemos comprendido y analizado el problema, debemos
llegar a una solución el algoritmo.

En la Fase de Resolución del Problema se diseñan los algoritmos. Se le dará un


problema y se le pedirá que obtenga el algoritmo, es decir, diseñar el conjunto de pasos
que han de realizarse para resolver el problema.

Para aprender a programar tendremos que hacer consciente algunas de las


estrategias de resolución.
Universidad Tecnológica Nacional – Facultad Regional Concordia -10-
ESTRATEGIAS DE RESOLUCIÓN DE PROBLEMAS

Hacer preguntas

Si le dan verbalmente una tarea, usted hace preguntas hasta que tiene claro lo que ha
de hacer.
Preguntar: cuándo, por qué, donde, hasta que la tarea esté completamente especificada.
Si la tarea se la ha puesto usted mismo, este tipo de preguntas puede que no sea
verbal, pero tienen lugar a un nivel subconsciente.

¿Cuáles son mis datos?


¿Qué tipos de datos son?
¿Cuántos datos hay?

¿Cuáles serán las salidas?


¿Cuántas veces debo repetir el proceso que estoy haciendo?
¿Qué condiciones especiales de error pueden aparecer?

Buscar cosas que nos sean familiares


Si existe una solución debemos usarla.
Si hemos resuelto antes el mismo problema o uno parecido, solamente repetimos la solución.
Nunca debemos reinventar la rueda.

Dividir

Dividimos un problema grande en partes pequeñas que podamos resolver en forma


individual. La tarea de limpiar la casa puede parecer abrumadora. La tarea compuesta de
limpiar el salón, el comedor, etc. parece más manejable.

Ejemplo:
Problema: ¿Cómo puedo ir a una fiesta?

Preguntas:
¿Dónde es la fiesta?
¿Desde dónde iré?
¿Cuál es el clima?

Una vez respondida estas preguntas se puede comenzar con el diseño del algoritmo.

Si está lloviendo, si auto está en el taller y los colectivos no llegan al lugar, el


algoritmo puede ser llamar un taxi y dar al chofer la dirección.

Si la distancia es muy grande, se podría diagramar el viaje un tramo en colectivo,


otro en tren y otro caminando.
Universidad Tecnológica Nacional – Facultad Regional Concordia -11-
PROGRAMA

Un programa es una serie de instrucciones, perfectamente legibles por el


ordenador y destinadas a realizar un determinado trabajo. La definición es similar a
la de algoritmo, con la diferencia que el programa, en vez de utilizar el lenguaje
humano emplea un lenguaje de programación que es entendido por la máquina.

Programa

Computadora Resultado
Datos

Receta

Cocina Torta
Ingrediente
Universidad Tecnológica Nacional – Facultad Regional Concordia -12-

CONCEPTOS BÁSICOS EN LA CONSTRUCCIÓN DE ALGORITMOS

Tipos de Datos

Los datos son símbolos físicos que representan información. Usamos diferentes
tipos de datos. Un tipo de dato es una especificación tanto de la representación interna en
memoria como de las operaciones permitidas con esos datos. Por ejemplo: si trabajo con
caracteres, no voy a poder realizar operaciones matemáticas y la representación interna
no es la misma que la de un número entero.

Existen varios tipos de datos, veremos sólo cuatro tipos de datos simples.

Números Enteros.
Números Reales.
Caracteres

Valores Lógicos: Verdadero – Falso (TRUE – FALSE)

Tipo de Dato Entero


Son todos los números positivos o negativos (sin parte fraccional). Ellos constan de
un signo y dígitos.
+22 -16 1 -426 0 4600 Cuando se
omite el signo, se asume que el número es positivo.

Tipo de Dato Real


Son números decimales

3.1415 -111.011 0.43 -1.6

Tipo de Dato Carácter


Describe datos que son un carácter alfanumérico. Incluyen: letras, dígitos y símbolos
especiales.

“A” “a” “8” “3” “+” “-“ “$” ““

No se puede sumar “8” más “3”, ya que el tipo de dato no es numérico. Podemos utilizar
cualquiera de los caracteres definidos en la tabla de código ASCII (Código Estándar
Estadounidense para Intercambio de Información). Esta tabla hace corresponder a cada carácter
un valor numérico, con lo cual hace posible la comparación entre ellos, como por ejemplo:
“A” es menor que “B” , “1” es menor que “2”

Tipo de Dato Lógico

Son los datos con sólo dos posibles valores: TRUE (verdadero) y FALSE (falso).
Se usan para representar condiciones y respuestas a preguntas. Sirven para indicar
la verdad o falsedad de alguna proposición o condición.
Universidad Tecnológica Nacional – Facultad Regional Concordia -13-

CONCEPTOS BÁSICOS EN LA CONSTRUCCIÓN DE ALGORITMOS

Almacenamiento de Datos

Memoria

La memoria se divide en un gran número de posiciones separadas, cada una de las cuales
almacena una parte de los datos. Cada posición de memoria tiene una dirección (un número) que
puede utilizarse para referirse a ella cuando se almacenan o recuperan los datos. Podemos
visualizar la memoria como un conjunto de cajas de una oficina de correo, con los números de las
cajas como las direcciones utilizadas para designar a las posiciones particulares.

Esquema de la memoria
1
2
3

3998
3999

Variable

Variables

Un programa opera sobre datos que se almacenan en memoria. Durante la ejecución


del programa, diferentes valores pueden almacenarse en la misma posición de memoria en
tiempos distintos. Nos referimos a la posición de memoria como una “variable” y a su
contenido como “el valor de la variable”. El nombre simbólico que asignamos a esta posición
de memoria se llama “nombre de la variable” o “identificador de la variable”.

Una variable, entonces, se define como:


Una posición en memoria, referenciada por un nombre de variable (identificador), donde
se puede almacenar un valor del dato (este valor puede cambiarse)

Ejemplos de variables:

Suma 10

Salario
20
Universidad Tecnológica Nacional – Facultad Regional Concordia - 14 -
10 es el valor de la variable Suma y 20 el de la variable Salario
Universidad Tecnológica Nacional – Facultad Regional Concordia -15-

CONCEPTOS BÁSICOS EN LA CONSTRUCCIÓN DE ALGORITMOS

Almacenamiento de Datos

Constantes

Es una posición en memoria, referenciada por un nombre de constante (identificador),


donde se puede almacenar un valor (este valor no puede cambiarse)

Ejemplo: Pi = 3.1415

Expresiones

Una expresión es una combinación de valores (variables ó constantes) y operadores,


que describen un cálculo a efectuar, cuyo resultado es un único valor.

Es decir una expresión consta de:


OPERANDOS Y OPERADORES

Las expresiones se clasifican en:


Aritméticas
Relacionales
Lógicas
De Carácter

Ejemplos:

Expresión Resultado Tipo de Expresión


4+5 9 Aritmética
23 8 Aritmética
2>3 FALSO Relacional
(2 > 0) y (“ < 5) VERDADERO Relacional y Lógica
“E” + “L” EL Caracter
Universidad Tecnológica Nacional – Facultad Regional Concordia -16-
OPERADORES Y REGLAS DE PRECEDENCIA

Expresiones Aritméticas

Operadores Aritméticos Función


+ Suma
- Resta
* Multiplicación
/ División
^ Potencia

Reglas de Precedencia
Orden Operadores
Primero ^
Segundo * /
Tercero + -

Ejemplos:

8 +7 * 3 + 4 * 5

21 20

29

49

(8 + 7) * (3 + 4) * 5

15 7

105

525

Epresiones Relacionales

Operadores relacionales Significado


= Igual
< Menor
> Mayor
<= Menor o Igual
>= Mayor o Igual
<> Distinto
Ejemplos:
Expresión Resultado
4>=4 FALSO
12<3 FALSO
2>0 VERDADERO
Universidad Tecnológica Nacional – Facultad Regional Concordia -17-
OPERADORES Y REGLAS DE PRECEDENCIA

Expresiones Lógicas

Operaciones Lógicas Significado


Y (AND) Conjunción
O (OR) Disyunción Inclusiva
NO (NOT) Negación

Reglas de Precedencia

Orden Operadores
Primero NO
Segundo Y
Tercero O

Tablas de Verdad
Las expresiones relacionales pueden combinarse mediante operadores lógicos.

Siendo:
A: expresión relacional
B: expresión relacional

A B AyB
v v v
v f f
f v f
f f f

A B AoB
v v v
v f v
f v v
f f f

A No A
v f
f v

Ejemplos:
Expresión Resultado
(2 = 3) o (4 < 5) Verdadero
(2 = 3) y no(4 < 5) Falso
Universidad Tecnológica Nacional – Facultad Regional Concordia -18-
TIPOS DE ACCIONES
Las acciones primitivas que un computador puede llevar a cabo son:

Asignar
Leer
Escribir

Asignación

Permite dar un valor determinado o el resultado de una operación a una variable.

Ejemplo 1: A = 0
Significa que la posición de memoria llamada A toma el valor cero.

Antes de Asignar Después de Asignar

A A
19 0

Ejemplo 2: A = 2 + 5 * 3
Significa que la posición de memoria llamada A toma el valor resultante de la
expresión.

Antes de Asignar Después de Asignar

A A
0 17

Ejemplo 3: A = A + 3
Se toma el valor de A que es 17, se le suma 3 y se almacena el resultado en la
posición de memoria llamada A, eliminando el valor anterior.

Antes de Asignar Después de Asignar

A A
17 20
Universidad Tecnológica Nacional – Facultad Regional Concordia -19-
TIPOS DE ACCIONES
Ejemplo 4:
A=2
B=4
SUMA=A+B

A
2

B
4
SUMA 6

Lectura

Permite introducir un valor al algoritmo a través de un dispositivo externo (por


ejemplo el teclado) y asignárselo a una variable.

A
Leer A
2 2

Memoria Computadora Teclado

Escritura

Permite mostrar en un medio externo (pantalla, impresora, etc.) los valores parciales
o resultantes de un algoritmo así como mensajes, totales, subtotales, gráficos, etc.

A Pantalla
Mostrar A
2 2

Memoria Computadora

Ejemplo:
Leer A
Leer B
SUMA=A+B
Universidad Tecnológica Nacional – Facultad Regional Concordia - 20 -
Mostrar “La suma es:”, SUMA
Universidad Tecnológica Nacional – Facultad Regional Concordia -21-
LA RESOLUCIÓN DE PROBLEMAS CON COMPUTADORAS

Fases:

Análisis del Problema


Diseño del Algoritmo

Codificación en un lenguaje de programación (pascal, c, etc)

Compilación y Ejecución (traduce en lenguaje de máquina y ejecuta el


programa)

Verificación y Depuración (se buscan y eliminan errores)

Documentación (registro de información sobre el programa para su


mantenimiento y crecimiento)

Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo.

Esquema resumen de las fases:

Resolución de un
Problema

Resolución del
Análisis del Problema Diseño del Algoritmo Problema con la
Computadora
Universidad Tecnológica Nacional – Facultad Regional Concordia -22-
ANÁLISIS DEL PROBLEMA:
Esquema del Análisis del Problema

Análisis del Problema

Definición del Problema Especificación de las Especificación de las


Entradas Salidas

Los requisitos más importantes para llegar a una solución eficaz son: una buena definición
del problema y una descripción detallada de las especificaciones de entrada y de salida.

Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
¿Cuál es la salida deseada?
¿Qué entradas se requieren?
¿Qué procedimientos nos dan la salida deseada?
Establecer estrategias de resolución.

DISEÑO DEL ALGORITMO


En la etapa de análisis se determina qué hace el programa.
En la etapa de diseño se determina cómo hace el programa la tarea solicitada.

Los métodos más eficaces para el proceso de diseño se basan en:


Divide y Vencerás
Es decir, la resolución de un problema se realiza dividiendo el problema en
subproblemas, continuando con este proceso hasta haber reducido el problema en
subtareas tan pequeñas que cada una resulte trivial.
Este proceso se denomina “Diseño Descendente” porque se tratan primero las
tareas principales o de nivel superior y se las descomponen en tareas más pequeñas.

El diseño de un algoritmo es independiente del lenguaje de programación en el que


se codificará posteriormente.

Ejemplo:
Encontrar la media aritmética de tres notas de exámenes, representadas cada
una por un número entero.

Solución:
Entrada: tres números enteros que representan la nota de examen. Nota1, Nota2, Nota3.
Salida: mostrar el promedio con el mensaje correspondiente.
Universidad Tecnológica Nacional – Facultad Regional Concordia -23-
HERRAMIENTAS PARA EL DISEÑO DEL ALGORITMO

Seudocódigo

Es una herramienta de diseño que permite escribir las instrucciones en el lenguaje


natural, sin tener en cuenta la sintaxis de un lenguaje de programación.

Notas sobre seudocódigo


Usar solamente un conjunto predefinido de palabras claves.
Conectar las palabras claves interrelacionadas con línas verticales.
Usar indentación (sangría) para lograr una mayor legibilidad del seudocódigo.

El seudocódigo no puede ser ejecutado en una computadora.

Problema 1: Seudocódigo del problema de la media aritmética

Variables Significado
Nota1 Almacena nota ingresada
Nota2 Almacena nota ingresada
Nota3 Almacena nota ingresada
Promedio Almacena el promedio de las notas

Seudocódigo del Algoritmo “PROMEDIO”

Comienzo
Mostrar “Este programa calcula el promedio de las notas”
Leer Nota1, Nota2, Nota3
Promedio = (Nota1 + Nota2 + Nota3) / 3
Mostrar “El promedio es: ”, Promedio
Fin

Problema 2: Calcular y mostrar el sueldo neto de un trabajador, conociendo el número de


horas, la tarifa horaria y la tasa de retención. Mostrar además el sueldo básico y el monto
correspondiente a los descuentos.

Variables Significado
tasa Almacena la tasa de retención
tarifa Almacena la tarifa horaria
horas Almacena las horas trabajadas
sueldo_basico Almacena el sueldo básico
retencion Almacena el monto de descuento
sueldo_neto Almacena el sueldo neto

Seudocódigo del Algoritmo “SUELDO”


Comienzo
Mostrar “Este programa calcula el sueldo neto de un empleado”
Leer horas, tarifa, tasa
sueldo_basico = horas * tarifa
retencion = sueldo_basico * tasa
sueldo_neto = sueldo_basico - retencion
Mostrar sueldo_basico, retencion, sueldo_neto
Universidad Tecnológica Nacional – Facultad Regional Concordia -24-
Fin
Universidad Tecnológica Nacional – Facultad Regional Concordia -25-
ESTRUCTURAS DE CONTROL
Son métodos que especifican el orden en que las instrucciones de un algoritmo se ejecutan

Las tres estructuras de control básicas son:


Secuencia
Selección
Repetición

Teorema de la Programación Estructurada:

Un programa puede ser escrito utilizando sólo los tres tipos de estructuras de control.

ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Secuencia
Es un conjunto de acciones que se ejecutan en el orden en el cual aparecen, desde
la primera a la última.
Comienzo
Acción 1
Acción 2
............
Acción n
Fin

Primero se ejecuta la Acción 1, luego la Acción 2 y así sucesivamente hasta la Acción n.


No se ejecuta la Acción n si la Acción n-1 no fue ejecutada.
Cada Acción se ejecuta una sola vez

Selección
Permite elegir una de dos acciones según el valor de verdad de una condición dada.

Si condición Entonces
Acción 1
Acción 2
Sino
Acción 3
Acción 4
Fin Si

Si la condición es verdadera se ejecuta la rama Entonces, es decir, Acción 1 y 2. Si


la condición es falsa se ejecuta la rama Sino, es decir, Acción 3 y 4. En cualquiera de los
dos casos luego se continua con la instrucción siguiente al Fin Si
En algunos casos se puede omitir la rama Sino:
Si condición Entonces
Acción 1
Acción 2
Fin Si

Si la condición es verdadera se ejecuta la rama Entonces, es decir, Acción 1 y 2. Si


la condición es falsa no se ejecuta ninguna Acción.
Universidad Tecnológica Nacional – Facultad Regional Concordia -26-
ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Ejemplo: Ingresar dos números e informar si son “Iguales” o “Distintos”.

Variables Significado
Num1 Almacena el primer número ingresado
Num2 Almacena el segundo número ingresado

Seudocódigo del Algoritmo “Informar”


Comienzo
Leer Num1, Num2
Si Num1 = Num2 Entonces
| Mostrar “Iguales”
Sino
| Mostrar
“Distintos” Fin Si
Fin

Decisiones Anidadas

Consiste en ubicar una o más estructuras selectivas dentro de otra. Como por ejemplo

Problema: Conociendo las poblaciones de tres provincias, mostrar la mayor.

Variables Significado
pobla1 Almacena población de la provincia 1
pobla2 Almacena población de la provincia 2
pobla3 Almacena población de la provincia 3

Seudocódigo del Algoritmo “Informar”


Comienzo
Leer pobla1, pobla2, pobla3
Si pobla1 > pobla2 Entonces
Si pobla1 > pobla3 Entonces
| Mostrar “La mayor cantidad de población es ”, pobla1
Sino
| Mostrar “La mayor cantidad de población es ”, pobla3
Fin Si
Sino
Si pobla2 > pobla3 Entonces
| Mostrar “La mayor cantidad de población es ”, pobla2
Sino
| Mostrar “La mayor cantidad de población es ”, pobla3
Fin Si
Fin Si
Fin

El uso de la identación hace más fácil de leer el seudocódigo.


Universidad Tecnológica Nacional – Facultad Regional Concordia -27-
ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Repetición
Permite realizar varias veces un grupo de acciones, constituyendo lo que se
denomina un ciclo o iteración. Este grupo de acciones se realizan bajo el control de una
condición cuyo cumplimiento o no determina la repetición de las mismas.

Existen tres estructuras de control para especificar la repetición:


Mientras – ciclo (0 , n) veces
Repetir – ciclo (1 , n) veces
Para – ciclo exacto n veces

Estructura Repetitiva Mientras – Repetición (0 , n) veces.


Las acciones se repiten mientras la condición es verdadera.

Seudocódigo
Mientras condición Hacer
| Acciones
Fin Mientras

Se evalúa la condición si esta es verdadera se ejecutan las Acciones.


Mientras la condición evaluada sea verdadera se repite la ejecución de las Acciones.
Si la condición es falsa finaliza la ejecución de la estructura Mientras y se continua
con la próxima instrucción al Fin Mientras.
Se le llama (0 – n) veces ya que si la primera vez que se evalúa la condición es falsa
nunca se ejecutan las acciones.

Ejemplo: Calcular la suma de una lista de sueldos. El proceso finaliza cuando se ingresa
un sueldo igual a cero.

Variables Significado
sueldo Almacena la cantidad correspondiente al sueldo
suma Almacena la suma de los sueldos

Seudocódigo del Algoritmo “SUMAR_SUELDO”


Comienzo
suma = 0
Leer sueldo
Mientras sueldo <> 0 Hacer
suma = suma + sueldo
Leer sueldo
Fin Mientras
Mostrar “La suma de los sueldos es:” suma
Fin
Universidad Tecnológica Nacional – Facultad Regional Concordia -28-
ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Estructura Repetitiva Repetir – Repetición (1 , n) veces.


Es una variante de la estructura Mientras. Las acciones se repiten hasta que la
condición sea verdadera.

Seudocódigo
Repetir
| Acciones
Hasta que condición

A diferencia del Mientras la condición se evalúa al final de cada iteración, por lo cual
las acciones dentro del ciclo se ejecutan al menos una vez, de alli (1, n) veces.
Si la condición es falsa se vuelve a ejecutar las acciones, de lo contrario finaliza el
ciclo, continuando con la próxima instrucción a la frase Hasta que.

Ejemplo: Suma n números enteros, conociendo n (n > 0) y los números a sumar, los que
se ingresan de a uno por vez..

Variables Significado
n Almacena la cantidad de números a sumar
numero Almacena el número a sumar
contador Almacena la cantidad de números ingresados
suma Almacena las sumas parciales de los números

Seudocódigo del Algoritmo “SUMAR”


Comienzo
suma = 0
contador = 0
Leer n
Repetir
Leer numero
suma = suma + numero
contador = contador + 1
Hasta que contador = n
Mostrar “La suma es:” suma
Fin

COMPARACIÓN DE LOS CICLOS MIENTRAS Y REPETIR


Los ciclos Mientras y Repetir son complementarios en su actuación. La elección de una
sentencia u otra depenerá del diseño del problema por parte del programadoe. Si bien con la
sentencia Mientras se pueden escribir todos los algoritmos repetitivos, en muchas ocasiones la
sentencia Repetir facilita la escritura de los algoritmos.
Universidad Tecnológica Nacional – Facultad Regional Concordia -29-
ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Estructura Repetitiva Para – Ciclo Exacto


Es un ciclo que se ejecuta un número determinado de veces, por lo tanto dicho
número debe concerce por anticipado.

Seudocódigo
Para variable = valor inicial Hasta valor final Hacer
| Acciones
Fin Para

Al comenzar la ejecución del ciclo la variable toma el valor inicial.


Se compara dicha variable con el valor final, si es menor o igual al valor final se ejecutan las
acciones del bloque y se incrementa la variable; para luego volver a comparar con el valor final.
Esto se repite hasta que el valor de la variable sea mayor que el valor final.
Una vez finalizado el ciclo se continua con la ejecución de la próxima instrucción al Fin Para.

Ejemplo: Conociendo los sueldos de los 20 empleados de una empresa, mostrar el mayor sueldo.
Los sueldos se leen de a uno por vez.

Variables Significado
sueldo Almacena los sueldos
mayor Almacena el sueldo mayor
i Almacena el valor de control del ciclo Para
Seudocódigo del Algoritmo “Mayor_Sueldo”

Comienzo
mayor = 0
Para i = 1 Hasta 20 Hacer
Leer sueldo
Si sueldo > mayor Entonces
mayor = sueldo
Fin Si
Fin Para
Mostrar “El mayor sueldo es:” mayor
Fin
Universidad Tecnológica Nacional – Facultad Regional Concordia -30-
ESTRUCTURAS DE CONTROL Y SEUDOCÓDIGO

Estructura de Selección Múltiple Según


Es una estructura seleccionar una de varias alternativas.

Problema: Mostra el nombre del día de la semana dependiendo de su valor numérico.

Seudocódigo
Según dia Hacer
1 : Mostrar “Domingo”
2 : Mostrar “Lunes”
3 : Mostrar “Martes”
4 : Mostrar “Miércoles”
5 : Mostrar “Jueves”
6 : Mostrar “Viernes”
7 : Mostrar “Sábado”
De otro modo
Mostrar “Error”
Fin Según

Generalizando:
Según variable Hacer
constante 1 : acción 1
constante 2 : acción 2
constante 3 : acción 3
............................
constante n : acción n
De otro modo
acción n + 1
Fin Según
Universidad Tecnológica Nacional – Facultad Regional Concordia -31-

D esde la aparición de las computadoras personales, la mayor preocupación de los programadores ha


sido crear un sistema cómodo de comunicación entre el usuario y la

máquina. Preocupación en parte satisfecha con la aparición de los entornos gráficos.


Entornos que también facilitan el diseño de los programas lo que ha llevado a que los
mismos usuarios construyan sus propios programas.

Los eventos
El modo de escribir los programas en los lenguajes de programación visual esta
basado en el concepto de evento. En función del evento que el usuario lanza se determina la acción

a llevar a cabo. Por ejemplo si presionamos el click derecho nos despliega el menú contectual.

Partes del entorno Visual Basic

A diferencia de otros programas Windows, Visual Basic se superpone sobre la


pantalla, si observamos el escritorio se ve como fondo, por lo tanto debemos organizar
nosotros la disposición de la pantalla.
El formulario: es el diseño que voy a ver en la pantalla al ejecutar el programa. Es
decir que al crear un formulario estoy diseñando una ventana del programa.
La barra de menú: barra de opciones que está luego de la barra de título
La barra de herramientas: barra que está ubicada luego de la barra de menú, contiene
botones con íconos que representan herramientas, es decir una acción determinada.
La ventana del proyecto: un proyecto es un grupo de formularios, módulos y
controles del usuario utilizado por un programa. En realidad proyecto y programa
son sinónimos. Las partes de un programa se muestran en la ventana Project.
La caja de herramientas: contiene botones llamados controles. Cada control
representa objetos que se pueden colocar en los formularios.
La ventana Propierties: nos lista las propiedades de un control o de un
formulario. Nos describen la apariencia del objeto y sus características.
Universidad Tecnológica Nacional – Facultad Regional Concordia -32-
LA CAJA DE HERRAMIENTAS
Algunas de las herramientas que utilizaremos son:
Text Box (cuadro de texto)
Label (rótulo, etiqueta)
Command Button (botón de comando)
Chek Box (casilla de control)
Option Button (botón de opción)
Puntero
Picture Box (cuadro de imágenes)
Frame (marco)
Combo Box (casilla combinada)
List Box (cuadro de lista)
Timer (temporizador)
Shape (forma) , Line (línea)

Ejemplo 1: Diseñar una máquina de sumar

Se insertan las herramientas de acuerdo al diseño del gráfico anterior.


Cambiar las propiedades correspondientes y agregar como códico del botón
de comando Label1 = val (Text1) + val (Text2)
Universidad Tecnológica Nacional – Facultad Regional Concordia -33-
ESTRUCTURAS DE DATOS

Variables

Existen dos modos de declarar las variables:

Declaración implícita: las declaramos en el mismo momento que las necesitamos.


Ejemplo:
Cateto1 = 10
Cateto2 = 20
Hipotenusa = Sqr (cateto1 ^ 2 + cateto2 ^ 2)

Declaración explícita: se realiza la declaración de todas las variables antes de cada proceso.

Para que la declaración de las variables sea obligatoria agregar la instrucción


Option Explicit o dentro de la barra de menú seguir el siguiente camino: Herramientas –
Opciones – Editor - Requerir declaración de variables.

Sintaxis para la declaración de variables:


Dim nombre [As tipo] [, nombre [As tipo]]...

Podemos declara variables en cualquier lugar de nuestro código, no es necesario


declararlas todas a la vez, podemos hacerlo a medida que las necesitemos.
Para entender la sintaxis debemos tener en cuenta que Dim y As son palabras
reservadas, es decir aquellas que no podemos utilizar porque Visual Basic las reserva,
nombre es el nombre de la variable, el que debe cumplir con las siguientes reglas:

Reglas que debe cumplir sl nombre de una variable:


Tiene que comenzar con una letra
No puedo incluir un punto o un carácter de tipo @, #, $, %, &,
¡, ¿, ? No debe superar los 255 caracteres
La parte que está entre corchetes significa que es opcional. En el caso de colocarla
indica el nombre de la variable.
Ejemplo:
Dim cantidad As integer

Tipos Disponibles de datos:


Tipo Descripción
Byte Numérico
Boolean Lógico
Integer Numérico
Long Numérico
Single Numérico
Double Numérico
Currency Moneda
Decimal Numérico
Date Fecha y Hora
Object Objeto
String Cadena
Variant Todos
Universidad Tecnológica Nacional – Facultad Regional Concordia -34-
Rango de tipos de datos
Tipo Desde Hasta
Integer - 32.768 32.0768
Long - 2.147.483.648 2.147.483.648
Single - 3,40282338 3,40282338
Double - 1,79769313486232308 1,79769313486232308
Currency - 922.337.203.685.477,5808 922.337.203.685.477,5808
String 0 caracteres Aproximadamente 65.000 caracteres

Constantes

Sintaxis para la declación de constantes es:


Const nombre [As tipo] = expresión
Ejemplo:
Const pi As single = 3,141516

OPERADORES

Operadores Aritméticos

Nos permiten realizar operaciones matemáticas entre variables


Operador Significado Ejemplo
^ Potenciación 5 ^2=25
- Resta 5–2 =3
+ Suma 5 +5=10
* Producto 5 * 2 = 10
/ División 5 / 2 = 2,5
\ División entera 5 \ 2 = 2
Mod Resto 5 Mod 2 = 1
& Concatenación “5” & “2” = “52”

Operadores de Comparación

Nos permiten realizar operaciones matemáticas entre variables


Operador Significado Ejemplo
= Igual 5 = 2 False
<> Distinto 5 <> 3 True
< Menor 5 < 5 False
> Mayor 5 > 2 True
<= Menor igual 5 <= 2 False
>= Mayor igual 5 >= 2 True
Like Como “adiós” like “a” True

Operadores Lógicos

Nos permiten crear expresiones lógicas:


Operador Significado
Not Negación
And Y lógico
Or O lógico
Universidad Tecnológica Nacional – Facultad Regional Concordia -35-

ESTRUCTURAS DE CONTROL

Estructuras de Decisión

Sintaxis:
I)
If condición Then
Instrucciones
End If
II)
If condición Then
Instrucciones por verdadero de la condición
Else
Instrucciones por falso de la condición
End If
III)
If condición1 Then
Bloque de instrucciones 1
[ElseIf condición2 Then
Bloque de instrucciones 2 ...]
[Else
Bloque de instrucciones n]
End If

Ejemplo1:
If b <> 0 Then
c=a+b
Else
c=0
End If

Ejemplo2:
If b <> 0 Then
c=a+b
ElseIf c <> 0 Then
c=0
End If

Ejemplo3:
If a = 1 Then
c=n+m
ElseIf a = 2 Then
c=n–m
ElseIf a = 3 Then
c=n*m
ElseIf a = 4 Then
c=n/m
Else
c=n^m
End If
Universidad Tecnológica Nacional – Facultad Regional Concordia -36-
Select Case
Sintaxis
Select Case variable
[Case lista_expresiones 1
bloque de instrucciones 1]
[Case lista_expresiones 2
bloque de instrucciones 2]
..................
[Case lista_expresiones n
bloque de instrucciones n]
[Case Else
bloque de instrucciones n + 1

End Select

Ejemplo:
Select Case a
Case 1
c=n+m
Case 2
c=n–m
Case 3
c=n*m
Case 4
c=n/m
Case Else
c=n^m
End Select

Estructuras Repetitivas

Sintaxis:

Do While condición Do Until condición


Instrucciones Instrucciones
Loop Loop

Do Do
Instrucciones Instrucciones
Loop While condición Loop Until condición

Estructuras Repetitivas – Ciclo Exacto

Sintaxis:
For contador = principio to fin
Instrucciones
Next [contador]
Universidad Tecnológica Nacional – Facultad Regional Concordia -37-
Ejemplos:
I)
x=1
Do While x < 5
x=x+1
Loop

II)
x=1
Do
x=x+1
Loop While x < 5

III)
x=1
Do Until x >= 5
x=x+1
Loop

IV)
For x = 1 to 5
x=x*2
Next x

Apunte confeccionado por Ing. Carlos María Chezzi

También podría gustarte