Laboratorio de programación
Docente Cecilia carricarte
Grupo 411
Introducción
Programación es el proceso de tomar un algoritmo y codificarlo en una notación, un
lenguaje de programación, de modo que pueda ser ejecutado por una computadora.
Aunque existen muchos lenguajes de programación y muchos tipos diferentes de
computadoras, el primer paso es la necesidad de tener una solución. Sin un algoritmo no
puede haber un programa.
Los algoritmos describen la solución a un problema en términos de los datos requeridos
para representar el caso del problema y el conjunto de pasos necesarios para producir el
resultado pretendido. Los lenguajes de programación deben suministrar un modo notacional
para representar tanto el proceso como los datos. Para este fin, los lenguajes suministran
estructuras de control y tipos de datos.
Las estructuras de control permiten que los pasos algorítmicos sean representados de una
manera conveniente pero sin ambigüedades. Como mínimo, los algoritmos requieren
estructuras que lleven a cabo procesamiento secuencial, selección para toma de decisiones
e iteraciones para control repetitivo. Siempre y cuando el lenguaje proporcione estas
instrucciones básicas, éste puede ser usado para la representación del algoritmo.
Todos los ítems de datos en la computadora están representados como cadenas de dígitos
binarios. Con el fin de darle significado a estas cadenas, necesitamos tener tipos de datos.
Los tipos de datos brindan una interpretación para estos datos binarios de modo que
podamos considerarlos en términos que tengan sentido con respecto al problema que está
siendo resuelto. Estos tipos de datos incorporados de bajo nivel (a menudo denominados
tipos de datos primitivos) proporcionan los bloques constructivos para el desarrollo de
algoritmos.
Por ejemplo, la mayoría de lenguajes de programación proporcionan un tipo de datos para
los enteros. Las cadenas de dígitos binarios en la memoria de la computadora pueden
interpretarse como enteros y se les dan los significados típicos que comúnmente asociamos
con los enteros (e.g. 23, 654 y -19). Además, un tipo de datos también proporciona una
descripción de las operaciones en las que los ítems de datos pueden participar. Con
enteros, son comunes las operaciones tales como la suma, la resta y la multiplicación.
Podemos dar por sentado que los tipos de datos numéricos puedan participar en estas
operaciones aritméticas.
La dificultad que a menudo nos surge es el hecho que los problemas y sus soluciones son
muy complejos. Estas estructuras y tipos de datos simples, suministrados por el lenguaje, si
bien son ciertamente suficientes para representar soluciones complejas, están típicamente
en desventaja a medida que trabajamos en el proceso de solución de problemas.
Requerimos maneras de controlar esta complejidad y contribuir con la creación de
soluciones.
¿Qué es la programación?
La programación es el proceso de creación de programas informáticos. Esta definición se
puede interpretar de la siguiente manera. La programación no es más que una explicación a
la computadora de qué, en qué forma y cómo llegar al usuario. En otras palabras, es una
especie de arte de traducir los deseos de una persona al lenguaje de la máquina.
La esencia de la programación
La idea principal es crear un algoritmo y traducirlo a un lenguaje de programación. Al guía
de desarrollo se le suele aconsejar que empiece a desarrollar un programa respondiendo a
la pregunta: ¿Es posible implementar esta tarea de forma programada? Por ejemplo, incluso
hoy en día no se puede hacer que una computadora prediga lo que sucederá en unos días.
E incluso si este ejemplo no es del todo correcto, porque esta tarea es imposible en
principio. Sin embargo, si se limita la tarea a predecir el comportamiento de alguna divisa en
el intercambio, tal tarea se resuelve con la ayuda de un algoritmo suficientemente complejo
y una gran base de datos experimental.
lenguaje-de-programación
Algoritmos
Una vez que se haya tomado la decisión sobre la posibilidad de implementar el software en
una tarea, es necesario construir un algoritmo para su solución. Es decir, es necesario
describir la secuencia de pasos para resolver la tarea con el máximo detalle teniendo en
cuenta todas las posibles ramas, ciclos y errores. De hecho, se puede construir un algoritmo
para las operaciones diarias más simples. Por ejemplo, se puede describir el algoritmo de la
preparación del té:
Abrir la tetera.
Si no hay agua en la tetera, se le debe echar.
Poner la tetera en la estufa de gas.
Abrir el gas.
Encender el fuego.
Esperar a que el agua de la tetera hierva.
Colocar el sobre de té en la taza.
Echar el agua caliente de la tetera a la taza.
Este algoritmo no es universal, pero para una persona que se prepara una taza de té
porque cuenta con una estufa de gas, es válido todo este proceso.
Hay varias formas de describir el algoritmo:
Gráfico (esquemas).
Verbal.
Pseudocódigo.
Código del programa
Lenguajes de programación
De hecho, un lenguaje de programación es un conjunto de reglas para describir comandos y
funciones predefinidas. Cada lenguaje de programación limita al desarrollador a un conjunto
estrictamente predeterminado de palabras clave y comandos que pueden ser utilizados en
el desarrollo. Hay varios niveles de lenguajes entre los cuales se distinguen:
De bajo nivel (ensamblador): trabaja directamente con los comandos del procesador.
De alto nivel (C++, C#, Java, etc.): es más como un lenguaje ordinario.
Durante el desarrollo de un producto de software se pueden distinguir diferentes niveles de
abstracción. Es decir, los objetos del mundo real pueden ser representados de manera
diferente. Dependiendo de ello, los lenguajes de programación se dividen en los siguientes
tipos:
Procedimiento: se determina la solución de la tarea paso a paso, todo el sistema se divide
en una serie de procedimientos relacionados.
Orientado a objetos: el programa se desarrolla como un conjunto de objetos
interrelacionados, cada uno de los cuales puede generar una gran cantidad de
implementaciones concretas.
Declarativo: son los lenguajes de la descripción del problema y el resultado esperado.
Programación orientada a objetos
Este enfoque implica desarrollar un programa como un sistema de objetos, cada uno de los
cuales refleja uno u otro objeto del mundo real. Los objetos del mundo real se corresponden
con las clases. Y de cada clase, a su vez, se pueden generar innumerables objetos. Por
ejemplo, si se desarrolla un programa para un taller de coches, las clases serán: coche,
motor, suspensión, carrocería, sistema de frenos y otras piezas de repuesto. Y los objetos
de la clase son los modelos específicos de estas partes, que se utilizan en el proceso.
Luego de leer el material responde las siguiente consignas
1. ¿Qué es la programación?
2. ¿Qué es un algoritmo?
3. Qué son las estructuras de control
4. Qué es un lenguaje de programación
5. Qué tipos de lenguaje de programación hay
6. Qué es un lenguaje de programación de procedimientos
7. Qué es un lenguaje de programación orientado a objetos