Está en la página 1de 7

Materia: Programación I. Lic.

Carla Aguirre Montalvo


TEMA 1.

INTRODUCCIÓN A LA PROGRAMACIÓN

1.1. INTRODUCCION

El hombre desde sus orígenes ha debido comunicarse, ya sea de forma oral, escrita o por
lenguaje corporal. Para lograr esto se ha tenido que adaptar, buscar o crear formas de
lenguaje que le permitan describir situaciones, solucionar problemas matemáticos,
físicos o lógicos. La necesidad de explicación y solución de problemas principalmente
matemáticos hizo necesario definir una notación genérica, clara y sencilla que permitiera
describir un proceso, sus entradas, sus salidas y su inicio y fin. También ha sido
necesario definir lenguajes que le permitan al hombre comunicarse con esa máquina
llamada computador, que fue diseñada para realizar procesos internos en base a
entradas y salidas de datos (caja negra). En la actualidad hay equipos computacionales
que son automáticos pero aun así, necesitan comunicarse internamente de alguna
forma.

En la mayoría de conjuntos de habilidades propuestos figuran las habilidades de


pensamiento de orden superior entre las que se incluye la destreza para solucionar
problemas; por esta razón, se requiere seleccionar estrategias efectivas para ayudar a que
los estudiantes las desarrollen. Para atender esta necesidad, la programación de
computadores constituye una buena alternativa, siempre y cuando se la enfoque al logro
de esta destreza y no a la formación de programadores. Es importante insistir en esta
orientación debido a que las metodologías utilizadas para llevar a cabo cursos de
Algoritmos, Programación y lenguajes de programación profesionales tales como Java,
C++, Visual Basic, etc.

1.2. DEFINICIÓN DE PROGRAMACIÓN

La programación es la actividad de llevar un algoritmo a un lenguaje de programación

Los lenguajes de programación son un conjunto de símbolos, caracteres y reglas


(programas) que permiten a las personas comunicarse con la computadora mediante un
conjunto de instrucciones que permiten realizar operaciones de entrada/salida, cálculo,
manipulación de textos, lógica/comparación y almacenamiento/recuperación.

Los lenguajes de programación se clasifican en:

 Lenguaje Máquina: Son aquellos cuyas instrucciones son directamente


entendibles por la computadora y no necesitan traducción posterior para que
la CPU pueda comprender y ejecutar el programa. Las instrucciones en
lenguaje máquina se expresan en términos de la unidad de memoria más
pequeña el bit.

 Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se


escriben en códigos alfabéticos conocidos como mnemotécnicos para las
operaciones y direcciones simbólicas.

I.N.C.O.S. 1
Materia: Programación I. Lic. Carla Aguirre Montalvo
 Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC,
Pascal, Cobol, Fortran, Python, C, Prolog, Smalltalk, Eiffel, Java, Simula etc.)
son aquellos en los que las instrucciones o sentencias para la computadora
son escritas con palabras similares a las del lenguaje humano (por lo general
en inglés), lo que facilita la escritura y comprensión del programa.

 Más cercanos a los lenguajes natural y matemático


resultado = dato1 + dato2;
 Mayor legibilidad, mayor facilidad de codificación
 Estructuración de datos / abstracción procedimental

COMPILADORES E INTERPRETES.

Compilación.- Un compilador es una programa que traduce de programa fuente


(conjunto de instrucciones de un lenguaje de alto nivel) a un programa objeto
(instrucciones en lenguaje de máquina que la computadora puede interpretar o ejecutar).
Como una parte fundamental de este proceso de traducción, el compilador le hace notar
al usuario la presencia de errores en el código fuente del programa. Vea la figura de abajo.

El compilador ejecuta solo la traducción no lo ejecuta el programa.

Interprete.- Un intérprete es un programa que procesa los programas escritos en un


lenguaje de alto nivel. Un interprete traduce cada instrucción o sentencia del programa
escrito en un lenguaje a lenguaje de máquina e inmediatamente lo ejecuta y a
continuación se ejecuta la siguiente sentencia.

Un interprete lee el código como esta escrito y luego lo convierte en acciones, es decir,
lo ejecuta en ese instante.

Existen lenguajes que utilizan un Intérprete, como por ejemplo JAVA, y su interprete
traduce en el instante mismo de lectura, el código en lenguaje máquina para que pueda
ser ejecutado.

La siguiente figura muestra el funcionamiento de un intérprete.

¿Qué es programar?

I.N.C.O.S. 2
Materia: Programación I. Lic. Carla Aguirre Montalvo
Decirle a un tonto muy rápido exactamente lo que tiene que hacer Especificar la
estructura y el comportamiento de un programa,
así como probar que el programa realiza su tarea adecuadamente y con un rendimiento
aceptable

Entrada Programa Salida

Programa: Transforma entrada en salida


Algoritmo: Secuencia de pasos y operaciones que debe realizar
el programa para resolver el problema
El programa implementa el algoritmo en un lenguaje concreto

1.3. FASES DE LA PROGRAMACIÓN

Analisis ¿Que?

Diseno ¿Como?

Programacion Implementacion

Prueba y depuracion

Mantenimiento
1.4. HEURISTICA DE LA PROGRAMACIÓN

Las heurísticas generalmente son usadas cuando no existe una solución óptima bajo
las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo. Se forman
con la experiencia y el conocimiento. Esatas soluciones tiene prueba – error.

1.4.1. CONCEPTO DE HEURÍSTICA

Se basa en la utilización de reglas empíricas para llegar a una solución. El método


heurístico conocido como “IDEAL”, formulado por Bransford y Stein (1984), incluye cinco
pasos:
 Identificar el problema;

I.N.C.O.S. 3
Materia: Programación I. Lic. Carla Aguirre Montalvo
 definir y presentar el problema;
 explorar las estrategias viables;
 avanzar en las estrategias; y lograr la solución
 y volver para evaluar los efectos de las actividades (Bransford & Stein, 1984). El
matemático Polya (1957)
también formuló un método heurístico para resolver problemas que se aproxima mucho
al ciclo utilizado para programar computadores. A lo largo de esta Guía se utilizará este
método propuesto por Polya.

1.4.2. PROCESO DE RESOLUCIÓN DE UN PROBLEMA

Como se puede apreciar, hay muchas estrategias para solucionar problemas; sin
embargo, esta Guía se enfoca principalmente en dos de estas estrategias: Heurística y
Algorítmica. Según Polya (1957), cuando se resuelven problemas, intervienen cuatro
operaciones mentales:

1. Entender el problema
2. Trazar un plan
3. Ejecutar el plan (resolver)
4. Revisar

Numerosos autores de textos escolares de matemáticas hacen referencia a estas cuatro


etapas planteadas por Polya. Sin embargo, es importante notar que estas son flexibles y
no una simple lista de pasos como a menudo se plantea en muchos de esos textos
(Wilson, Fernández & Hadaway, 1993). Cuando estas etapas se siguen como un modelo
lineal, resulta contraproducente para cualquier actividad encaminada a resolver
problemas.

Se pueden identificar las siguientes sugerencias propuestas a los estudiantes para llegar
a la solución de un problema matemático:

1. COMPRENDER EL PROBLEMA.

• Leer el problema varias veces


• Establecer los datos del problema
• Aclarar lo que se va a resolver (¿Cuál es la pregunta?)
• Precisar el resultado que se desea lograr
• Determinar la incógnita del problema
• Organizar la información
• Agrupar los datos en categorías
• Trazar una figura o diagrama.

2. HACER EL PLAN.

• Escoger y decidir las operaciones a efectuar.


• Eliminar los datos inútiles.
• Descomponer el problema en otros más pequeños.

3. EJECUTAR EL PLAN (Resolver).

• Ejecutar en detalle cada operación.

I.N.C.O.S. 4
Materia: Programación I. Lic. Carla Aguirre Montalvo
• Simplificar antes de calcular.
• Realizar un dibujo o diagrama

4. ANALIZAR LA SOLUCIÓN (Revisar).

• Dar una respuesta completa


• Hallar el mismo resultado de otra manera.
• Verificar por apreciación que la respuesta es adecuada.

1.4.3. FASES EN LA RESOLUCIÓN DE PROBLEMAS

Problema Algoritmo Solución


F1 F2
Diagrama de Programa
Flujo

donde:

F1: Fase de resolución del problema


F2: Fase de implementación en la computadora

1.5. FASE DE RESOLUCIÓN DEL PROBLEMA

RESOLUCION DEL
PROBLEMA

Verificación
Análisis del Diseño del
Manual del
Problema Algoritmo
Algoritmo

I.N.C.O.S. 5
Materia: Programación I. Lic. Carla Aguirre Montalvo
1.6. Análisis del Problema “ ¿ QUÉ ES LO QUE SE DESEA HACER ? ”

Análisis del
Problema

Definición del Datos de Salida =


Datos de Entrada
problema resultados

El objetivo de esta fase es ayudar al programador a comprender la naturaleza del


problema, para lo cual éste requiere el máximo de su imaginación y creatividad. Para esto
se debe identificar claramente que tipo de información se necesita producir, y luego
aquellos elementos dados en el problema que pueden ser útiles para obtener la solución.

Para poder definir bien un problema se lo debe leer cuidadosamente a fin de obtener una
idea general de lo que se solicita. Una segunda lectura servirá para responder a las
siguientes preguntas:

1. ¿ Qué datos se necesitan para obtener los resultados ? (tipo y cantidad)

2. ¿ Qué resultados se desean obtener ? (tipo y cantidad)

La respuesta a la primera pregunta indica que datos se proporcionan o las entradas del
problema.

La respuesta a la segunda pregunta indicará los resultados o salidas del problema.

Ejemplo:
1. Leer dos números y calcular su suma.

Análisis

Variables de entrada

A : 1er número real

B : 2do número real

Variables de salida

S : suma de los números A y B, número real

2. Leer un número X entero y positivo y sumar sus dígitos


Análisis
I.N.C.O.S. 6
Materia: Programación I. Lic. Carla Aguirre Montalvo

Variables de entrada

X : número entero y positivo

Variables de salida

SD : suma de los dígitos de X, número entero y positivo

3. Leer un número y calcular su valor absoluto


Análisis

Variables de entrada

Z : número real

Variables de salida

VAZ : valor absoluto de Z, número real positivo

I.N.C.O.S. 7

También podría gustarte