Date post: | 10-Dec-2023 |
Category: |
Documents |
Upload: | independent |
View: | 0 times |
Download: | 0 times |
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
Hardware Software
Hardware:
Son los componentes físicos de un sistema de computación. El equipo
propiamnete dicho.
Software: Son los datos e instrucciones de un sistema de cómputos empleados en
forma simbólica.
Sistema Informático
Hacer Sumar Leer Restar Mostrar .................
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 porpósitos generales que al ser programada puede almacenar, recuperar y procesar
datos.
Arquitectura:
BUS
Reg
istr
os
ALU
Memoria (RAM y ROM)
Interfaz de
Entrada
Interfaz de Salida
Unidad de
Control
Memoria Secundaria (disco duro,
CD)
Teclado, Terminal
Impresora
CPU Memoria Entrada Salida
� UNIDAD DE MEMORIA PRINCIPAL: almacena internamente los datos e intrucciones.
� 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 intruible, versátil y dispuesta a
ejecutar innumerables tareas distintras.
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 manejam
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 dirije 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 -
Sistema
Operativo
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 fumciones 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:
Máquina
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 facilmente. 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.
ejecución
compilación
Lenguaje Natural
Lenguaje de Alto Nivel
Lenguaje de Bajo Nivel
codificació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. Si el número de horas trabajadas es menor o igual que 40, multiplicar el número de horas
trabajadas por el sueldo por hora para obtener la paga regular.
4. Si el número de horas trabajadas es mayor que 40, multiplicar el sueldo por hora por 40
para obtener la paga regular y multiplicar una vez y media el sueldo por hora por la
diferencia entre el número de horas trabajadas y 40 para obtener la paga de horas extras..
5. Sumar la paga regular a la paga extra (si lo hubiera) para obtener el sueldo total.
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 algoritm, 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 subconcsciente.
� ¿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
Datos
Resultado
Receta
Cocina
Ingrediente
Torta
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 mú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úero) 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.
Esque 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 expresion 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 Caracter
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) O (OR)
NO (NOT)
Conjunción Disyunción Inclusiva
Negación
Reglas de Precedencia
Orden Operadores Primero Segundo Tercero
NO Y O
Tablas de Verdad Las expresiones relacionales pueden combinarse mediante operadores lógicos.
Siendo:
A: expresión relacional B: expresión relacional
A B A y B
v v v v f f f v f f f f
A B A o B
v v v v f v f v v f f f
A No A v f f v
Ejemplos:
Epresió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 19
A 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 0
A 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, eiminando el valor anterior.
Antes de Asignar Después de Asignar
A 17
A 20
Universidad Tecnológica Nacional – Facultad Regional Concordia - 19 -
TIPOS DE ACCIONES Ejemplo 4:
A = 2 B = 4 SUMA = A + B
A
2
4 B
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
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
Memoria Computadora Ejemplo:
Leer A Leer B SUMA = A + B
2
2
2
2
2
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 del Problema con la
Computadora
Resolución de un Problema
Análisis del Problema
Diseño del Algoritmo
Universidad Tecnológica Nacional – Facultad Regional Concordia - 22 -
ANÁLISIS DEL PROBLEMA:
Esquema del Análisis del Problema
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á posteriromente. 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.
Especificación de las Salidas
Análisis del Problema
Definición del Problema
Especificación de las Entradas
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 Nota2 Nota3 Promedio
Almacena nota ingresada Almacena nota ingresada Almacena nota ingresada 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 tarifa horas sueldo_basico retencion sueldo_neto
Almacena la tasa de retención Almacena la tarifa horaria Almacena las horas trabajadas Almacena el sueldo básico Almacena el monto de descuento 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 - 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 sóla 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 sison “Iguales” o “Distintos”.
Variables Significado Num1 Num2
Almacena el primer número ingresado 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, mostar la mayor.
Variables Significado pobla1 pobla2 pobla3
Almacena población de la provincia 1 Almacena población de la provincia 2 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 indentació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 suma
Almacena la cantidad correspondiente al sueldo 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 numero contador suma
Almacena la cantidad de números a sumar Almacena el número a sumar Almacena la cantidad de números ingresados 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 mayor i
Almacena los sueldos Almacena el sueldo mayor 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
Gereralizando:
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 -
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 obsevamos el escritorio se ve como fondo, por lo tanto debemos organizar nosotros la dispocisió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.
D
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 declació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 Instrucciones
Loop
Do Until condición
Instrucciones Loop
Do
Instrucciones Loop While condición
Do
Instrucciones Loop Until condición
Estructuras Repetitivas – Ciclo Exacto Sintaxis:
For contador = principio to fin Instrucciones
Next [contador]