Programación lógica
domingo, 12 de octubre de 2014
Vectores
VECTORES
En programación, vector es un arreglo undimensional, es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo.
Elementos de un vector.
ACCESO A VECTORES.
FORMAS DE INDEXAR LOS ELEMENTOS.
Existen tres formas de indexar los elementos de un vector:
- Indexación base-cero (0): en este modo el primer elemento del vector será la componente cero ('0') del mismo, es decir, tendrá el índice '0'. En consecuencia, si el vector tiene 'n' componentes la última tendrá como índice el valor 'n-1'. El lenguaje C es un ejemplo típico que utiliza este modo de indexación.
- Indexación base-uno (1): en esta forma de indexación, el primer elemento de la matriz tiene el índice '1' y el último tiene el índice 'n' (para una matriz de 'n' componentes).
- Indexación base-n (n): este es un modo versátil de indexación en la que el índice del primer elemento puede ser elegido libremente, en algunos lenguajes de programación se permite que los índices puedan ser negativos e incluso de cualquier tipo escalar (también cadenas de caracteres).
RECORRIDO
- Recorrer un vector significa acceder a todos y a cada uno de sus elementos desde el principio hasta el final o viceversa.
- Se puede acceder a los elementos de un vector para introducir datos (leer) en él o bien para ver su contenido (escribir).
- A la operación de acceder a todos los elementos para efectuar una acción determinada se denomina recorrido del vector.
- Esta operación se realiza usando estructuras repetitivas, cuya variable de control I, se utiliza como subíndice del vector (por ejemplo V(i). El incremento del contador del bucle producirá el tratamiento sucesivo de los elementos del vector
- No es posible asignar directamente un valor a todo el arreglo
- Se debe asignar el valor deseado a cada componente usando la instrucción de asignación, recordando que la asignación coloca el nuevo contenido en la variable destruyendo el valor anterior.
- Si se quiere asignar valores a todos los componentes del vector, se debe recurrir a las estructuras repetitivas.
OPERACIÓN DE LECTURA
Implica
acceder a los elementos de un vector para introducir datos.
Ejemplo:
ESCRITURA
Implica acceder a los elementos de un vector para ver su contenido.
EJERCICIOS PROPUESTOS
Ingresar
10 ceros en un vector.
Permitir
al usuario ingresar 10 elementos en un vector.
Solicitar
al usuario que ingrese 10 elementos y que imprima que elemento se encuentra en
cada posición.
jueves, 2 de octubre de 2014
domingo, 28 de septiembre de 2014
Arreglos
ARREGLOS
Pensar en la solución del siguiente problema:
Se tienen los sueldos de un grupo de 70 empleados de una empresa y necesitamos saber cuántos de estos empleados tienen un sueldo superior al promedio del grupo.
DEFINICIÓN
Un arreglo es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común.
También se lo llama ARRAY
Conviene imaginar un arreglo como una secuencia contigua de celdas (espacios de memoria), o casillas, en cada una de las cuales se puede guardar un elemento de la colección.
Con frecuencia podemos encontrar problemas cuya solución es muy difícil de implementar si utilizamos tipos simples de datos. Por otra parte, podemos encontrar una buena solución al problema utilizando tipos estructurados de datos.
CARACTERÍSTICAS
Es una colección finita, homogénea y ordenada de elementos.
Finita: Todo arreglo tiene un límite, es decir, se deberá determinar cuál será el número máximo de elementos que formarán parte del arreglo.
Homogénea: todos los elementos de un arreglo son del mismo tipo (todos enteros, todos reales etc) pero nunca una combinación de distintos tipos.
Ordenada: se puede determinar cual es el primer elemento, el segundo… el n-ésimo elemento.
COMPONENTES
- CELDAS O CASILLAS: Se utilizan para guardar un dato.
- DIMENSION O TAMAÑO: Es el número total de casillas que conforman el arreglo.
- DATO: Es la porción de información que se guarda en cada celda.
- INDICE o DIRECCIÓN: Es el número asociado a cada una de las casillas del arreglo, que lo identifica de manera única.
CLASIFICACIÓN
PENSAR :
¿Cuál es la diferencia entre una variable y un arreglo?
lunes, 22 de septiembre de 2014
lunes, 8 de septiembre de 2014
Algoritmos y diagramas de flujo
UNIDAD N°1
ALGORITMOS Y DIAGRAMAS DE FLUJO
Operaciones
básicas de una computadora
Muchas
personas piensan que una computadora puede realizar tareas o trabajos de
complejidad superior a la inteligencia humana. La realidad es que una
computadora no tiene ninguna inteligencia.
Es una máquina creada por el hombre y, por tanto, no podrá realizar una
tarea que no haya sido previamente determinada por él.
Una
pc, solo es capaz de realizar tres operaciones básicas:
·
Sumar, restar, multiplicar y dividir dos
valores numéricos.
·
Comparar dos valores (numéricos o
alfanuméricos).
·
Almacenar o recuperar información.
Con
estas pocas operaciones utilizadas y combinadas de forma adecuada, mediante lo
que llamaremos programa, se pueden llegar a realizar tareas increíblemente
complejas que aporten la solución a un determinado problema, ya sea de gestión,
técnico o de cualquier tipo.
Fases de diseño
del programa
Las
fases correspondientes a la creación de un programa son básicamente las
siguientes, teniendo en cuenta que algunos autores destacan algunas más:
·
Análisis
·
Programación
·
Codificación
·
Prueba
·
Ajuste
·
Mantenimiento
FASE DE ANÁLISIS:
Consiste
en el examen y descripción detallada de los siguientes aspectos relativos al
programa:
·
Equipo a utilizar: Características de
hardware y software.
·
Personal informático.
·
Datos de entrada: Son los datos que se
ingresarán en el programa (usuario, método, otros)
·
Datos de salida: Son los resultados que se
esperan obtener
·
Procesos: Nos permite llegar a la solución
del problema u obtener los resultados.
Es la relación entre los datos de entrada y los de salida.
El
resultado de esta fase se denomina especificación
del problema, formada por un conjunto de documentos elaborados.
Esta
etapa se basa en recolectar y analizar información que nos permita obtener 3
componentes básicos:
·
Datos de entrada: Son los datos que se
ingresarán en el programa (usuario, método, otros).
·
Datos de salida: Son los resultados que se
esperan obtener.
·
Proceso: Nos permite llegar a la solución del
problema u obtener los resultados. Es la
relación que existe entre los datos de entrada y los de salida.
FASE DE PROGRAMACIÓN
Consiste
en el diseño de la solución al problema planteado en forma de algoritmo. El resultado de esta fase es un algoritmo del
conjunto de acciones que deberán ser realizadas por la computadora para
resolver el problema.
FASE DE CODIFICACIÓN
En
esta fase se transcribe el algoritmo resultante de la fase anterior a un
lenguaje de programación.
FASE DE PUESTA A PUNTO DEL PROGRAMA
Se
realizan diferentes pruebas, se corrigen errores y se instala el programa en la
pc.
Existen
otras fases como: Prueba, ajuste, documentación y mantenimiento que serán
materia de estudio más adelante.
ALGORITMOS
DEFINICIONES
Se
define como la serie de pasos organizados que describe el proceso que se debe
seguir para dar solución a un problema específico.
Es
un conjunto de acciones que deberán ser realizadas por la computadora para
resolver el problema.
Un
algoritmo se puede definir como una secuencia de instrucciones que representan
un modelo de solución para determinado tipo de problemas. O bien como un
conjunto de instrucciones que realizadas en orden conducen a obtener la
solución de un problema. Para realizar un programa es conveniente el diseño o
definición previa del algoritmo.
CARACTERÍSTICAS DE LOS ALGORITMOS
Los
algoritmos deben contar con las siguientes características:
·
Preciso. Definirse de manera rigurosa, sin
dar lugar a ambigüedades.
·
Definido. Si se sigue un algoritmo dos veces,
se obtendrá el mismo resultado.
·
Finito. Debe terminar en algún momento.
·
Puede tener cero o más elementos de entrada.
·
Debe producir un resultado. Los datos de
salida serán los resultados de efectuar las instrucciones.
·
Se concluye que un algoritmo debe ser
suficiente para resolver el problema.
Entre
dos algoritmos que lleven a un mismo objetivo, siempre será preferible el más
corto (se deberá analizar la optimización de tiempos y / o recursos).
ALGORITMOS CUALITATIVOS Y CUANTITATIVOS
Un
algoritmo es cualitativo cuando en
sus pasos o instrucciones no están involucrados cálculos numéricos. Las
instrucciones para armar un aeromodelo, para desarrollar una actividad física o
encontrar un tesoro, son ejemplos de algoritmos cualitativos.
Como
ejemplos, podemos mencionar el diseño de los algoritmos correspondientes para
realizar las siguientes actividades:
·
Tomar mate
·
Utilizar una guía telefónica
·
Cocinar siguiendo una receta
·
Cambiar una llanta de automóvil
·
Buscar una palabra en el diccionario
Los
algoritmos cuantitativos involucran
cálculos numéricos.
Ejemplos:
·
Solución de un factorial
·
Solución de una ecuación de segundo grado
·
Encontrar el mínimo común multiplicador.
TÉCNICAS DE REPRESENTACIÓN
Para
la representación de un algoritmo, antes de ser convertido a lenguaje de
programación, se utilizan algunos métodos de representación escrita, gráfica o
matemática. Los métodos más conocidos son:
·
Pseudocódigo
·
Diagramas de flujo
·
Diagramas Nassi-Shneiderman
·
Lenguaje natural (español, inglés, etc.)
·
Fórmulas matemáticas
En
esta asignatura estudiaremos las dos primeras.
PSEUDOCÓDIGO
Es
la técnica que permite expresar la solución de un problema mediante un
algoritmo escrito en palabras normales de un idioma (por ejemplo, el español),
utilizando palabras imperativas. No hay un léxico obligado para el
pseudocódigo, pero con el uso frecuente se han establecido algunos estándares.
Debe
posibilitar la descripción de:
·
Instrucciones de entrada/salida
·
Instrucciones de proceso
·
Sentencias de control de flujo de ejecución
·
Acciones compuestas.
Algunas
de sus instrucciones básicas son las siguientes:
Tipo de instrucción
|
Pseudocódigo
|
Comienzo de proceso
|
Inicio
|
Fin de proceso
|
Fin
|
Entrada (Lectura)
|
Leer
|
Salida (Escritura)
|
Escribir o Imprimir
|
Asignación
|
<- o =
|
Ejemplo:
Inicio
Leer nombre, horas, valor_horas
Salario_bruto = horas * valor_horas
deduccion= Salario_bruto * 6%
salario neto= salario_bruto –
deduccion
Imprimir nombre, salario_neto
Fin
DIAGRAMA DE FLUJO
Es
la representación gráfica del flujo de datos e informaciones que maneja un programa.
Debe
reflejar:
·
El comienzo programa
·
Las operaciones
·
La secuencia en que se realizan
·
El final del programa
REGLAS A SEGUIR
Para
diseñar un diagrama de flujo, se deberán seguir las siguientes reglas:
·
El comienzo del programa figurará en la parte
superior.
·
Los símbolos de comienzo y fin deberán aparecer
una única vez.
·
El flujo de las operaciones será, siempre que
sea posible, de arriba hacia bajo y de izquierda a derecha.
·
Se debe guardar una cierta simetría en la
representación de bifurcaciones y bucles, así como en el conjunto total del
diagrama.
·
Se evitarás siempre los cruces de línea
utilizando conectores.
·
El uso de comentarios estará restringido al
mínimo imprescindible.
·
Se utilizarán conectores en aquellos casos en
los cuales se deba separar una parte de otra del programa.
SIMBOLOGÍA
Operación
|
Símbolo
utilizado
|
Inicio - Fin
|
|
Operación en general
|
|
Operación de entrada –
salida
|
|
Líneas de flujo
|
|
Decisión
|
|
…
|
….
|
Inicio
|
Leer primer_nro,
segundo_nro
|
suma= primer_nro
+ segundo_nro
|
Escribir suma
|
Fin
|
PSeInt
PSeInt
es un software que se constituye en una herramienta educativa utilizada
principalmente por estudiantes para aprender los fundamentos de la programación
y el desarrollo de la lógica.
Se
lo puede bajar de: http://pseint.sourceforge.net
Bibliografía:
·
Metodología de la programación. Eduardo Alcalde y Miguel Garcia. Editorial
McGraw-Hill
·
Programación y algoritmos. Maximiliano Bonanata. Editorial MP
·
LÓGICA DE PROGRAMACIÓN. Efraín M. Oviedo Regino. http://books.google.com.ar/books?id=Z_n5lbyJfrQC&pg=PA37&hl=es&source=gbs_toc_r&cad=4#v=onepage&q&f=false
·
Tutorial pseudocódigo.
http://progup.files.wordpress.com/2010/03/tutorial-pseudocodigo11.pdf
·
·
Suscribirse a:
Entradas (Atom)