Está en la página 1de 9

Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Unidad 1:Introducción a la programación

Introducción 2

Algoritmo 2

Herramientas de graficación de algoritmos 4

Los diagramas de flujo 5

El pseudocódigo 5

Programa 6

Lenguajes de Programación 7

Lenguaje de máquina 7

Lenguaje de bajo nivel o ensamblador 7

Lenguajes de alto nivel 7

Etapas en el desarrollo de un programa 8

Análisis del problema 8

Diseño del algoritmo 8

Codificación 8

Prueba y depuración 8

1
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Introducción

Estamos acostumbrados a resolver problemas cotidianos a través de la computadora o


nuestros dispositivos móviles.

Eso nos puede hacer pensar que la computadora es un dispositivo inteligente, capaz de


realizar cualquier acción.

Sin embargo, las computadoras, a diferencia de las personas, no son capaces de pensar por sí
solas. Son máquinas diseñadas exclusivamente para seguir instrucciones paso a paso, sin las
cuales no serían capaces siquiera de encenderse.

Día a día, solemos resolver problemas siguiendo una serie de pasos que fuimos aprendiendo a
lo largo de nuestra vida y que después los repetimos sin siquiera pensarlo, como si siempre los
hubiéramos sabido.

Por ejemplo, preparar un mate, hacer una llamada telefónica, atarnos los cordones, abrir una
puerta con llave, regar las plantas, conducir un auto, o hasta venir a la facultad.
Cada una de esas acciones, conlleva una serie de pasos que hay que seguir en un cierto orden
para poder lograrlo. Esta serie de instrucciones ordenadas para realizar una acción es la que
denominamos algoritmo.

Algoritmo

Un algoritmo es un conjunto de instrucciones, ordenadas de manera lógica, para desarrollar


un cálculo o para solucionar un problema, ya sea de forma manual, o utilizando una
computadora.
Es el paso previo a programar, ya que antes de decirle a la computadora cómo hacer algo, es
necesario que sepamos cómo hacerlo.

Pensemos por ejemplo en cuáles serían las instrucciones que le daríamos a otra persona, para
cambiar la batería de una cámara:

1. Paso uno: Tomar la cámara


2. Paso dos: Voltear la cámara
3. Paso tres: Abrir la pestaña de la batería
4. Paso cuatro: Sacar la batería que está puesta en la cámara
5. Paso cinco:  Tomar la batería de repuesto
6. Paso seis: Poner la batería de repuesto en el respectivo compartimento de la cámara
7. Paso siete: Cerrar la pestaña de la cámara
8. Y listo!!

2
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Siguiendo al pie de la letra estos pasos, otra persona podría lograr cambiar la batería de la
cámara. Ahora ¿qué pasaría si la batería de repuesto estuviera descargada? ¿O si no hubiera
batería de repuesto? ¿O si la cámara estuviera encendida? ¿O si estuviera puesta en un trípode
y no se pudiera voltear ni abrir la pestaña de la batería?

Posiblemente, una persona se daría maña para intentar resolverlo, usaría su propia lógica y
lograría cambiarla. Pero ¿podría hacerlo una computadora?

La respuesta es no!! Básicamente por lo que vimos antes, no es un ser pensante.


Por sí sola, no puede hacer suposiciones ni tomar decisiones sobre qué hacer en casos
imprevistos. Es nuestro trabajo considerar todas las posibles condiciones y detalles necesarios
para que en todos los casos posibles, la computadora sepa cómo realizar una y cada una de las
acciones.

Tendríamos que, por ende, modificar nuestro algoritmo agregando todas las condiciones
necesarias. Por ejemplo:

1. Si la cámara está encendida:


a. Apagar la cámara

2. Tomar la cámara

3. Si la cámara está en un trípode:

a. Sacar la cámara del trípode

4. Voltear la cámara

5. Abrir la pestaña de la batería

6. Si hay una batería puesta

a. Retirar la batería

7. Si no hay una batería de repuesto

a. Tomar el cargador

b. Enchufar el cargador a la corriente eléctrica

c. Poner la batería en el cargador

d. Cargar la batería existente hasta que el botón de carga se ponga en verde

e. Retirar la batería del cargador

3
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

8. Poner la batería en la cámara

9. Chequear el porcentaje de carga

10. Si el porcentaje de carga es de una sola rayita

a. Repetir los pasos de 1 a 9

11. Cerrar la pestaña de la cámara

12. FIN

Las características principales que debe tener un algoritmo son:

1. Ser preciso e indicar correctamente el orden de realización de cada paso.

2. Estar específicamente definido (no puede ser ambiguo en sus indicaciones)

3. Ser finito, es decir tiene que tener un final, sino se ejecutaría por siempre…

4. Ser correcto, es decir, el seguir los pasos del algoritmo, me tiene que llevar a obtener
el resultado esperado.

5. Ser eficiente, esto significa alcanzar el resultado en la menor cantidad de pasos


posibles.

Los algoritmos son completamente independientes del lenguaje de programación en el que


vayan a ser programados posteriormente: sirven de base para ser llevados a cabo en cualquier
lenguaje y cualquier computadora.

Herramientas de graficación de algoritmos

Hay diferentes técnicas de graficar algoritmos, entre las más utilizadas podemos citar:

4
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

1. Los diagramas de flujo

Son símbolos que están unidos por flechas e indican la secuencia en la que se deben
ejecutar las instrucciones.

En este ejemplo, inicio y fin están representados por rectángulos de borde redondeado, los
pasos, en rectángulos comunes y los condicionales, en rombos.

En nuestro ejemplo del cambio de la batería, la pregunta sobre si está la cámara se encuentra
encendida, iría en un rombo.

2. El pseudocódigo

Es similar al listado de pasos que hicimos, pero sigue una serie de convenciones. Está escrito
en nuestro idioma, en nuestro caso el español, y es un falso código que puede ser leído por las
personas, es decir, no es un lenguaje que pueda entender la computadora. Las instrucciones
están escritas en verbos infinitivos y con mayúsculas. Y en el caso de utilizar algún dato, se
antecede la palabra definir.

Vamos a ver un ejemplo concreto de la traducción de un algoritmo, que me devuelve la


sumatoria de dos números, a pseudocódigo:

INICIO

DEFINIR NUMERO1: 4
DEFINIR NUMERO2: 7
DEFINIR RESULTADO: NUMERO1 + NUMERO2
MOSTRAR RESULTADO

FIN

5
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Programa

Después de haber definido el algoritmo necesario, se debe traducir el mismo a un conjunto de


instrucciones entendibles por la computadora, que le indicarán lo que debe hacer.
Un programa es un conjunto de instrucciones, escritas en un lenguaje de programación.

Un lenguaje de programación es un lenguaje que puede ser entendido y procesado por una
computadora o dispositivo.

Lo que hace la computadora es procesar los datos que recibe y devolver los resultados. En ese
proceso, aplica las instrucciones para las cuales fue programada.

Por ejemplo, en nuestro ejemplo de los números, teníamos:

4 y 7, como datos de entrada

El proceso era la sumatoria de ambos: 4 + 7

Y el resultado esperado sería 11.

Pensemos en un programa que calcula el cuadrado de un número ingresado.

En ese caso, si por ejemplo el dato de entrada fuera 3, el resultado esperado sería 9.
Si el dato de entrada fuera 4, el resultado esperado sería 16.

6
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Lenguajes de Programación

Las computadoras no hablan ni en español, ni en inglés, ni portugués, etc. Solamente


entienden código binario, representado por ceros y unos.

Ya vimos que los lenguajes de programación son lenguajes que una computadora puede
entender.

Entonces si la computadora entiende solo ceros y unos, ¿tenemos que aprender a traducir
nuestros algoritmos a ceros y unos?

La respuesta es no. Por suerte, existen lenguajes que se encargan de traducir nuestras
instrucciones a código de máquina, el código que las computadoras entienden.

Básicamente existen tres tipos de lenguajes:

1. Lenguaje de máquina

Están escritos en código binario (0 y 1) y es el lenguaje que se utilizaba al principio de las


computadoras. No es un lenguaje comprensible para los humanos.

Un ejemplo de una instrucción en binario sería así:

0011 1101 0101 0001 1110 1000 0101 1001

2. Lenguaje de bajo nivel o ensamblador

Traduce las instrucciones a lenguaje de máquina. El lenguaje de bajo nivel por excelencia es el
ensamblador. Las instrucciones en este lenguaje son conocidas como mnemotécnicas, y
representan operaciones aritméticas como ADD (sumar) SUB (restar), DIV (dividir). Sirven para
programar el comportamiento de los componentes de una computadora.

3. Lenguajes de alto nivel

Son los que usamos para el desarrollo de nuestros programas. Son lenguajes portables, que
pueden ser ejecutados en cualquier computadora y que nos permiten escribir código
comprensible.  En el momento de ser ejecutados, son automáticamente traducidos al lenguaje
de máquina de la computadora en la cual se ejecutan a través de un programa llamado
compilador.

Un compilador toma como entrada un algoritmo escrito en un lenguaje de alto nivel y lo


convierte en instrucciones entendibles para la computadora.
7
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

Ejemplos de lenguajes de alto nivel: C, C++, C#, JAVA, Python, PHP, RUBY ,Javascript, entre
otros.

Etapas en el desarrollo de un programa

Siempre partimos del planteo de un problema. Tenemos un problema con una información
inicial y debemos relevar los datos faltantes para completar la información necesaria para
resolver correctamente ese problema.

1. Análisis del problema


En esta etapa tenemos que garantizar el entendimiento del problema y su alcance,
preguntando todos los detalles posibles y los imprevistos que tenemos que considerar.

Una vez realizado el relevamiento completo de información, debemos definir cuáles serán los
datos de entrada, los datos esperados de salida, y los métodos y fórmulas que vamos a
necesitar para procesar esos datos.

2. Diseño del algoritmo


En esta etapa definimos el conjunto de pasos a seguir para obtener el resultado esperado, los
condicionales, y el orden.

3. Codificación

Es la operación de escribir en lenguaje de programación las instrucciones definidas en el


algoritmo.

4. Prueba y depuración
En esta etapa se comprueba que el código esté bien realizado o no: tomando los datos de
entrada, se prueba si el proceso devuelve los datos esperados de salida.

8
Introducción a la Programación – Cátedra: Rosenthal
Carrera de Diseño de Imagen y Sonido - Introducción a la Programación - Cátedra: Rosenthal

En el caso de que esto no suceda, hay que revisar los pasos anteriores (puede ser un error de
codificación, o de diseño de la solución). En el caso de ser un problema de diseño de
algoritmo, se vuelve a esa etapa, se ajusta, se codifica y vuelven a ejecutar las pruebas.

En algunos casos, aparecen en esta etapa casos no previstos, lo cual nos lleva a volver a la
etapa inicial.

9
Introducción a la Programación – Cátedra: Rosenthal

También podría gustarte