You are on page 1of 11

BASES DE LA PROGRAMACIN NIVEL I

Objetivos
Los fundamentos de programacin son la base para empezar a programar,
antes incluso
de elegir un lenguaje. Este curso facilita el aprendizaje a todos aquellos que
quieren
aprender a programar y no saben por dnde empezar, o a aquellos
programadores
autoformados que carecen de fundamentos de algoritmia.
Destinatarios
Cualquier persona que quiera aprender a programar y tenga un nivel de
matemticas
igual o superior al de bachillerato. Especialmente dirigido a personas que no
han
programado nunca, pero tambin til para programadores con carencias en
algoritmia.
Contenidos
INTRODUCCIN
CONOCER EL PROBLEMA A RESOLVER
ALGORITMOS, PSEUDOCDIGO Y DIAGRAMAS DE FLUJO
ESCRITURA DE PSEUDOCDIGO
REPRESENTACIN GRFICO-ESQUEMTICA: LOS DIAGRAMAS DE FLUJO
ESTRUCTURAS DE DECISIN
ESTRUCTURAS DE REPETICIN (BUCLES)
HERRAMIENTAS PARA LA PROGRAMACIN
MODIFICACIN DIRECTA DEL FLUJO DE PROGRAMAS
Duracin
150 horas de dedicacin efectiva, incluyendo lecturas, estudio y ejercicios.
Direccin, modalidades y certificados
El curso est dirigido por Mario Rodrguez Rancel, Jefe de Proyectos de
aprenderaprogramar.com. Se oferta bajo las modalidades web (gratuito), con
tickets de
soporte y tutorizado on-line (material + soporte). A los alumnos que sigan el
curso
tutorizado on-line y cumplan el programa de trabajo se les expedir certificado
acreditativo de la realizacin del curso.
Indice del curso Bases
Fundamentos de la programacin
Nivel I(CU00102A)
Seccin: Cursos
Categora: Curso Bases de la programacin nivel I
Fecha revisin: 2024
Autor: Redaccin aprenderaprogramar.com
Resumen: Indice del curso Bases de la programacin Nivel I.Indice del curso
Bases de la programacin Nivel I
2006-2024, aprenderaprogramar.com Ms informacin:
contacto@aprenderaprogramar.com

INDICE DEL CURSO


1. INTRODUCCIN
2. A QUIN VA DIRIGIDO ESTE CURSO?
2.1 Qu es y para qu sirve programar?
2.2 Qu pasos debemos dar para aprender a programar?
2.3 Qu lenguaje de programacin estudiar o utilizar?
1. INTRODUCCIN
2. CONOCER EL PROBLEMA A RESOLVER
2.1 Sobre el objetivo
2.2 Sobre los condicionantes
2.3 Sobre el mtodo o esquema de resolucin
2.3.1 Problema con resolucin directa
2.3.2 Problema con resolucin documentada
2.3.3 Problema con iteracin para bsqueda de soluciones
2.3.4 Problema a plantear con una tabla de decisin
2.3.5 Problema con resolucin intuida pero mtodo "paso a paso" a determinar
2.3.5.1 Estrategias de resolucin
2.4 Sobre los resultados a obtener
2.5 La ancdota en torno a conocer el problema
3. ALGORITMOS, PSEUDOCDIGO Y DIAGRAMAS DE FLUJO: UNA INTRODUCCIN
4. CONCEPTO DE VARIABLE
4.1 Nombres de variables
4.2 Contenido y asignacin de contenido a variables
4.3 Variables booleanas
4.4 Variables con ndice o localizador. Arrays
4.5 Las variables como base de clculo
5. ESCRITURA DE PSEUDOCDIGO
5.1 Introduccin
5.2 Insercin de comentarios en el pseudocdigo
5.3 Herramientas lgicas y matemticas. Escritura de frmulas y operadores
matemticos. Prelacin
Mdulo 1. Introduccin
Mdulo 2. Fundamentos de Programacin Indice del curso Bases de la
programacin Nivel I
2006-2024, aprenderaprogramar.com Ms informacin:
contacto@aprenderaprogramar.com

5.4 Prioridad entre operadores


5.5 Funciones matemticas
5.6 Concatenacin de rdenes y ordenacin simblica del pseudocdigo
5.7 Instrucciones bsicas
6. REPRESENTACIN GRFICO-ESQUEMTICA: LOS DIAGRAMAS DE FLUJO
6.1 Smbolos para diagramas de flujo
6.2 Normas para la creacin de diagramas de flujo
7. ESTRUCTURAS, INSTRUCCIONES Y HERRAMIENTAS
8. ESTRUCTURAS DE DECISIN
8.1 Instruccin Si ... Entonces y Si ... Entonces - SiNo
8.2 Paradoja del Si burlado por un intervalo
8.3 Instruccin Segn (Caso) Hacer
8.4 Transformacin de tablas de decisin en pseudocdigo
y diagramas de flujo
9. ESTRUCTURAS DE REPETICIN (BUCLES)
9.1 Instruccin Desde ... Siguiente
9.1.1 Modificacin del valor incremental en una instruccin Desde mediante
Paso
9.1.2 Valor del contador al acabar un bucle Desde ... Siguiente
9.1.3 Uso y mal uso de la instruccin Desde ... Siguiente
9.2 Instruccin Mientras ... Hacer
9.3 Instruccin Hacer ... Repetir Mientras
10. HERRAMIENTAS PARA LA PROGRAMACIN
10.1 Contadores
10.2 Acumuladores
10.3 Interruptores
10.4 Sealeros
10.4.1 Sealeros para control de bucles
10.4.2 Sealeros para toma de decisiones
10.5 Entradas controladas por el usuario
10.6 Final de archivo
11. MODIFICACIN DIRECTA DEL FLUJO DE PROGRAMAS
11.1 Introduccin
11.2 Instruccin Finalizar
11.3 Instruccin SalirDesde
11.4 Instruccin SalirMientras
11.5 Instruccin SalirHacer e instruccin Hacer ... Repetir
11.6 Instruccin IrA
11.7 Reflexiones finales en torno al control directo del flujo de programas Indice
del curso Bases de la programacin Nivel I
2006-2024, aprenderaprogramar.com Ms informacin:
contacto@aprenderaprogramar.com
Autor: Redaccin aprenderaprogramar.com
Introduccin. A quin va dirigido
este curso de Fundamentos de
Programacin? (CU00103A)
Seccin: Cursos
Categora: Curso Bases de la programacin nivel I
Fecha revisin: 2024
Autor: Redaccin aprenderaprogramar.com
Resumen: Entrega n2 del curso Bases de la programacin Nivel I.
A quin va dirigido este curso de Fundamentos de Programacin
2006-2024 aprenderaprogramar.com
INTRODUCCIN
Este curso tiene por objeto servir de manual de referencia para toda aquella
persona que, siendo
usuaria de ordenadores personales, desee introducirse en los conceptos
bsicos de programacin y
comenzar a desarrollar sus propios programas.
Los aspectos que se tratan son:
Fundamentos de programacin (aplicables a cualquier lenguaje).
Algoritmia y lgica.
El curso no pretende ser un tratado de bases o metodologa de programacin,
sino un compendio de
conocimientos y gua prctica. Su carcter prctico busca que el lector pueda
desarrollar programas en
un plazo de pocas semanas, con unos conocimientos bsicos de fundamentos y
buenas prcticas de
programacin.
Aprender programacin requiere tiempo y esfuerzo. Para hacer ese recorrido
ms llevadero, te
recomendamos que utilices los foros de aprenderaprogramar.com, herramienta
a disposicin de todos
los usuarios de la web (http://www.aprenderaprogramar.com/foros), y que te
servir para consultar
dudas y recabar orientacin sobre cmo enfrentarte a los contenidos. Entre los
miembros del portal
web y otros usuarios, trataremos de ayudarte para que el estudio te sea ms
llevadero y seas capaz de
adquirir los conocimientos necesarios y avanzar como programador.
POR QU ESTUDIAR FUNDAMENTOS DE PROGRAMACIN?
Por qu emplear nuestro tiempo en esta tarea? Entendemos que existen
potentes herramientas de
software a disposicin de la ingeniera o la ciencia, en sentido amplio, en el
mercado. Sin embargo,
algunos factores resultan problemticos, como por ejemplo:
Gran parte de ese software funciona como cajas negras: conocemos los
resultados pero no los pasos
intermedios o procesos.
La complejidad con la que estn diseados estos programas puede suponer
la necesidad de dedicar
una gran cantidad de tiempo para conseguir un manejo completo y resultados
fiables.
Precios elevados.
Los constantes cambios de normativa y de versiones pueden dejar obsoletos
los programas que
usamos.
Aunque estos inconvenientes son ciertos no queremos ni podemos sustituir al
software comercial con
programas de fabricacin casera. Lo que s haremos ser destacar que el tener
unos conocimientos
bsicos de programacin puede resolver pequeos (y grandes) problemas a la
hora de realizar
clculos, procesar datos, etc. Esto permitir al profesional o estudiante usar el
ordenador para
solucionar sus problemas particulares. A partir de ah, en funcin del tiempo,
inters o necesidad de
cada cual, animamos a profundizar en estos temas, que entendemos de gran
inters.
A quin va dirigido este curso de Fundamentos de Programacin
2006-2024 aprenderaprogramar.com
A QUIN VA DIRIGIDO ESTE CURSO?
Este curso no pretende ser un manual acadmico o cientfico en sentido
estricto. Puede calificarse de
estilo libre y espritu divulgativo. Estilo libre porque no pretende ceirse a un
programa o estructura
predefinida y carcter divulgativo porque parte desde absolutamente cero, en
cuanto a programacin
se refiere, movindose dentro de lo que podramos calificar un nivel bsico. Va
por tanto dirigido a
cualquier persona interesada en el tema.
No obstante, los contenidos estn enfocados hacia el colectivo, amplio, de
estudiantes de ciencia-
ingeniera o profesionales de este sector. El motivo para ello es, aparte de la
posible deformacin
profesional de los autores, el hecho de que los miembros de esta comunidad,
por nuestra actividad
acadmica o profesional, somos candidatos preferentes a ponernos delante de
un ordenador y hacer,
cuando menos, pinitos en programacin. Y todo ello porque la ciencia y la
ingeniera reposan en buena
medida en las mismas bases en que se asienta la programacin: matemticas,
lgica, metodologas y
estrategias de resolucin de problemas.
QU ES Y PARA QU SIRVE PROGRAMAR?
Pregunta un tanto peculiar a la que algunos responderan con "es una
obviedad. Sin embargo,
consideramos conveniente dedicar una pequea reflexin al asunto.
Simplificando, porque ese es uno de nuestros objetivos, diremos que el
ordenador es una mquina con
extraordinarias capacidades (para realizar clculos matemticos, mostrar
grficos, procesar y almacenar
datos, etc.) pero incapaz de hacer nada por s mismo y que, de momento, no
tiene capacidades de tipo
humano como el habla. Pues bien, esa potencialidad est a la espera de que
una persona (nosotros) le
saque partido y, para ello lo nico que hace falta es proporcionarle
instrucciones a la mquina.
Diremos por tanto que programar es definir instrucciones para ser ejecutadas
por un ordenador. El
resultado de esta tarea es un paquete de instrucciones al que llamamos
programa. El objetivo de
programar suele ser resolver un problema.
Vayamos por partes. Para definir instrucciones a un ordenador hemos de
utilizar un lenguaje o cdigo
especfico, que ha sido prediseado con el fin de que la interpretacin de cada
instruccin sea unvoca.
No hay libertad de interpretacin o subjetivismo. Si el lenguaje que utilicemos
acepta la sintaxis:
Mostrar 3+3, utilizar Mustrame 3+3 sera una orden nula o carente de
significado para el ordenador,
por lo que probablemente nos invitar a corregirla o simplemente nos dir
"Error".
Los lenguajes de programacin, salvando las distancias, tienen similitudes con
las lenguas humanas:
evolucionan (p. ej. aumentan o disminuyen el nmero de vocablos), se
expanden internacionalmente y
triunfan si gran nmero de personas se decide a utilizarlos, o caen en desuso y
se convierten en lenguas
fsiles. Igualmente pueden ser ms o menos fciles de aprender, ms o menos
ricos en vocablos, y ms
o menos fuertes para resistir el embate de las necesidades de los
programadores. Hablaremos de ello
ms adelante.
A quin va dirigido este curso de Fundamentos de Programacin
2006-2024 aprenderaprogramar.com
Con cuntos lenguajes podemos dar instrucciones a un ordenador? Pues con
muchos, la nica salvedad
a tener en cuenta es que no podemos hablarle directamente: necesitaremos
un intrprete o
programa especfico para escribir instrucciones. Este intrprete suele recibir el
mismo nombre que el
lenguaje (p. ej. Turbopascal o Visual Basic) y lo instalamos en nuestro
ordenador accediendo a ste
desde el sistema operativo. Muchos programadores disponen de varios
lenguajes en sus ordenadores y
los utilizan en funcin de sus necesidades. Para empezar diremos que uno es
suficiente para una
persona que va a iniciarse en programacin.
Para qu sirve programar? La respuesta es un tanto ambigua, pero es esta:
para todo. Atendiendo a
que los ordenadores intervienen en la casi totalidad de las actividades que
realiza el ser humano, y que
la programacin es lo que hace funcionar a los ordenadores, he aqu que
programar sirve para todo.
Quizs aclaremos poco diciendo esto, pero es difcil hacer una lista de cosas
para las que sirve
programar, porque sera infinita. Efectivamente, los ordenadores intervienen ya
en todas las facetas de
la vida y actividad humanas, en procesos tan dispares como la produccin
industrial, la enseanza o el
control de trfico.
Seamos ms especficos: pensemos en nuestra actividad diaria. En una
farmacia, por ejemplo, un
ordenador controla a travs de un programa los flujos que existen: la entrada
de medicamentos
(recepcin de mercanca), salida de medicamentos (venta o envo a otras
farmacias), facturacin, etc. El
software puede estar preparado para lo que queramos, por ejemplo, avisar
cuando el stock de cierto
medicamento baja de un determinado nivel (supongamos, 10 unidades).
Otro programa puede servir para calcular la nmina de los empleados, en
funcin de los das trabajados
y horas extra realizadas. Otro software ser til para escribir cartas
estableciendo los tipos de letra,
mrgenes, tamao de papel, etc. En una empresa de cualquier tipo nos
encontraremos lo mismo:
programas y ms programas.
Ahora bien, puesto que al farmacutico los programas comerciales le resuelven
casi todo, De qu le
servira saber programar? Pues diremos que para todo lo que l quiera, en base
a sus problemas o
necesidades particulares. Supongamos que debido a una nueva normativa o
por ser un servicio nuevo,
en la farmacia se empieza a preparar un reconstituyente para personas con
cierto tipo de dolencias,
cuya frmula de preparacin depende de los resultados analticos del paciente.
Pensemos en un
supuesto:
DATOS DE PARTIDA
Datos de analtica del paciente
Glucemia basal mg/dl
Colesterol total mg/dl
Triglicridos mg/dl
A quin va dirigido este curso de Fundamentos de Programacin
2006-2024 aprenderaprogramar.com
CALCULOS A REALIZAR
Composicin porcentual del reconstituyente:
(%) Componente 1 = f(Glucemia basal) siempre
(%) Componente 2 = f(Colesterol total) siempre
(%) Componente 3 = f(Triglicridos) siempre
Agua c.s.p. 100%
Datos que le pasa el farmacutico al ayudante de laboratorio para que prepare
el compuesto:
RESULTADOS A MOSTRAR
Preparar 1000 ml de reconstituyente para el paciente D. Fulano Mengano
utilizando:
x ml del componente 1
y ml del componente 2
z ml del componente 3
k ml de agua
Nos percatamos de que la situacin en que nos encontramos es la siguiente:
Se trata de un proceso repetitivo.
Hay unos datos de partida.
Hay unos clculos o procesos a realizar, de cierta complejidad, lo que hace
poco viable el clculo
manual o con hoja de clculo.
Hay unos resultados a obtener.
Pues bien, este tipo de problemas, que sin duda son muy habituales en la
ciencia y la ingeniera, son
fcilmente programables. Es esto una necesidad o un lujo? Cada cual que
responda segn sus criterios.
Nosotros consideramos simplemente que la programacin, igual que puede ser
conocer un idioma
extranjero o saber conducir, aporta potencialidad a una persona.
Prxima entrega: CU00104A
Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la
direccin siguiente:
http://www.aprenderaprogramar.com/index.php?
option=com_content&view=category&id=28&Itemid=59

You might also like