lunes, 22 de febrero de 2016

Conceptos y técnicas básicas en programación

Publicado por Ciudad Universitaria Virtual de San Isidoro
Código de programa

Un dato es una cifra, letra o palabra que se introduce en un ordenador, como entrada y almacenamiento. Los datos, al estar codificados electronicamente en formato binario en ceros y unos, tienen como la unidad mínima de información el bit (0 ó 1), pero al ser una unidad muy pequeña, se emplea el byte, que es una secuencia de ocho bits. Como un bit puede tomar 2 valores distintos y un byte son 8 bits, un byte podrá tener 28 valores, es decir, 256 valores.

La lógica booleana o álgebra de Boole, creada a mediados del siglo XIX por George Boole, matemático autodidacta, usa técnicas algebraicas para para tratar expresiones de la lógica proposicional. Es fundamental en Informática ya que esquematiza operaciones lógicas.

Los archivos son estructuras de datos que residen en la memoria, pudiendo ser de datos o de programas. Los datos pueden ser numéricos o alfanuméricos.

Las expresiones son fundamentales en la programación ya que permiten realizar una o varias operaciones en un dato o en varios datos, obteniéndose como resultado otro dato. Una expresión consta de operandos, los datos sobre los que se actúa, y operadores, que definen la operación que se realiza en una expresión.

Los operadores pueden ser algebraicos, relacionales o lógicos. Los operadores algebraicos pueden ser de asignación, que asignan valores; y aritméticos, que operan sobre valores de tipo entero o real. Los operadores relacionales, que establecen una relación o comparación entre valores. Finalmente, los operadores lógicos o booleanos actúan mediante operaciones lógicas.

Un algoritmo es una serie de instrucciones u ordenes bien definidas que no dan lugar a dudas, que partiendo de un estado inicial, permiten llegar a un estado final y solución, mediante pasos sucesivos. Se pueden expresar mediante lenguaje natural, que tiende a ser ambiguo y extenso; pseudocódigo, mezcla de lenguaje natural y convenciones sintácticas propias de lenguajes de programación; diagramas de flujo, descripciones gráficas de algoritmos, o lenguajes de programación, lenguaje formal para computadoras.

La iteración usa bucles, que son códigos que se repiten una y otra vez, mientras la recursión o recursividad es un código que se llama a sí mismo. La diferencia entre ellos es que la iteración se basa en la repetición y finaliza cuando la condición de continuación del ciclo es falsa, mientras la recursión usa una estructura de selección y finaliza cuando se identifica el caso base. Ambas pueden ejecutarse infinitamente si no finalizan. La solución recursiva generalmente es más lenta y usa más memoria, pero en determinadas ocasiones es más sencillo escribir la versión recursiva.

En muchas aplicaciones informáticas se guardan listas de datos, se puede acceder a los mismos de forma secuencial, para acceder a uno hay que pasar por los anteriores; o de forma directa, se accede al deseado a través de un índice. Una secuencia es una colección de objetos de un tipo, en la que se dispone de acceso secuencial. En una secuencia, la parte izquierda representa los elementos ya leídos y la derecha los elementos por leer.

Una tabla es una colección de objetos en los que se dispone de acceso directo, indentificándose cada elemento a través de un índice. En una tabla es preciso indicar su nombre, el rango de valores del índice y el tipo de elemento de cada casilla de la tabla. Para hacer búsquedas con eficiencia, es necesario ordenar los elementos almacenados de una tabla, teniendo una relación de orden definida; para ello existen distintos algoritmos de ordenación


1. Datos, expresiones y operadores

- Lectura: OCW-UPM. Fundamentos de Programación: Introducción (pdf) (epígrafes 1.7. Codificación de la información y representación de datos y 1.8. Lógica booleana, págs. 10-17)
- Lectura: OCW-UPM. Fundamentos de Programación: Expresiones y operadores (pdf)
- Presentación: Claudia Gutierrez. Tipos De Datos y Expresiones (Prezi)
- Vídeo: DesarrolloWeb. Variables y tipos de datos
- Vídeo: Juan Cuenca. Fundamentos de programación -7- Expresiones
- Vídeo: Escuela de Videojuegos. Tipos de operadores


2. Algoritmos. Estructuras algorítmicas básicas

- Lectura: Wikipedia. Algoritmo
- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Estructuras algorítmicas básicas (pdf)
- Vídeo: Zyter7 Motovlogs. ¿Que es un algoritmo?


3. Iteración y recursión

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión (pdf)
- Lecturas: Documentos Google. Iteración vs. llamada recursiva
- Vídeo: Irving Bone. ¿Qué es la iteración?
- Vídeo: Codigo Facilito. Recursividad - Curso de Programación Básica "Nunca He Programado" - Parte 13


4. Iteración y recursión sobre secuencias

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión sobre secuencias (pdf)


5. Iteración y recursión sobre tablas

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión sobre tablas (pdf)


Para saber más y ampliar conocimientos

- Curso OCW-UNICAN: Michael González Harbour y José Luis Montaña Arnáiz. Programación I
- Lectura: Wikipedia. Análisis de algoritmos
- Lectura: Wikipedia. Recursión


Introducción a la Programación

0 comentarios:

Publicar un comentario