+ All Categories
Home > Documents > Introducción a Algoritmica y Programación

Introducción a Algoritmica y Programación

Date post: 10-Dec-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
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 .
Transcript

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 - 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 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 - 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 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]

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


Recommended