SlideShare una empresa de Scribd logo
1 de 11
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Introducción a la Programación
Se define comoprogramaciónal procesode dotaralacomputadorade un métodopararesolverun
problema tipo y entregar un resultado.
Se dice también que un programa está compuesto de dos partes:
• El código,que consiste enel conjuntode accionesaejecutar,enprogramaciónacadaacciónbásica
se la denomina genéricamente como instrucción. Cada instrucción podrá estar compuesta de un
conjunto de elementos los cuales estudiaremos más adelante.
• La estructurade datosque consiste enladisposicióndememoriaelegidaparaalmacenarlosdatos
necesarios para resolver el problema, ya sea los parámetros o datos de entrada, los resultados
intermedios o datos de proceso y la información resultante o datos de salida. A estos
datos en programación se los denomina genéricamente como variables. El computador es una
máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducir a su
memoriainstruccionesquelaguíenenloque tieneque hacer.Estaesunatareaque paraunneófito
puede resultar muy compleja ya que la computadora solamente es capaz de realizar tareas muy
básicas, por lo tanto hay que definir claramente cual será al proceso a ejecutar para hacer tareas
complejas mediante pasos elementales.
Para comprenderlomás organizadamente, podemos decir que este proceso de programación se
divide en las siguientes tareas:
1. Comprensión del problema.
2. Idear una solución que sea lo más general posible.
3. Enunciar un algoritmo de resolución.
4. Codificarlo en un lenguaje de programación.
5. Implementarlo,odichode otramanera,hacerquelamáquinapuedatraducirloasupropiocódigo
binario.
6. En forma paralela a los pasos anteriores, preparar un lote de prueba.
7. Ejecutar el programa y validarlo mediante el lote de prueba, si se encuentran errores lógicos,
corregirlos, o sea, volver al punto 3 o 4 según el nivel de error.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Comprensióndel Problema.
En estaetapa,se debe confeccionarelenunciadodelproblema,el cual requiere unadefiniciónclara
yprecisa.Esimportante que seconozcaexactamentecual eselobjetivoquedebe resolverse odicho
de otra manera, lo que se desea que realice la computadora.
Quizásquiénenuncie el problemanosepadefinirclaramentelosobjetivos,asíque elanalistadeberá
interrogarlohastaque el objetivoaresolverquede perfectamente claro,mientrasestonose logre
completamente, no tiene mucho sentido continuar con la siguiente etapa.
Encontrar una solución
Normalmente esta etapa comienza en paralelo a la lectura del enunciado, cuando se va
comprendiendoel enunciadoyporexperienciaoanalogíase vanideandolasaccionesque se deben
aplicar para arribar al resultado esperado.
La solucióndebeserlomásampliaogeneral posible,se deberealizarunaabstracción delproblema,
por ejemplo si el enunciado dice:
Se necesitaunprogramaparacalcularel áreaocupadaporunavigade maderade 3metrosde largo,
y sección cuadrada de 12 cm de lado.
Nos encontramos ante una problema de tipo particular, para que éste sirva a los efectos de un
desarrollo informático habría que generalizarlo. Así el enunciado podría ser transformado en:
Se necesitaunprogramaparacalcularel áreaocupadaporunavigade constituciónuniforme,dados
su largo en metros, y el tamaño en centímetros de cada lado de la sección.
Es necesario en esta etapa tener en claro:
• Cuales son los datos que se requieren para definir el caso particular, los denominados datos de
entrada.
• Cual es el conjunto de resultados que se desea obtener, o sea, la información de salida.
• Los métodos y fórmulas que se necesitan para procesar los datos.
Más adelante entraremosendetalle enlascaracterísticasinherentesalosdatos para comprender
como esos datos pueden ser acotados y así minimizar la probabilidad de error de proceso.
Enunciar un Algoritmo
Se debe plantear el método de resolución elegido mediante una construcción matemática
denominada algoritmo.
Un aspectoimportante atenerencuentaenelenunciadode unalgoritmo escomose administrarán
los datos definidos en el problema. Siempre que un evento (un acontecimiento, una verificación,
una medición, etc.) se pueda registrar de alguna forma, este evento se considerará como
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
computable. Al registro de un evento en un sistema informático se lo denomina dato. Podemos
diferenciar en un algoritmo dos tipos de datos, las constantes y los datos variables.
Analicemos un ejemplo:
Si queremos hacer un simple algoritmo para calcular el perímetro de una circunferencia lo
podríamos definir en los siguientes pasos:
1. Establecer como dato de entrada el radio de la circunferencia.
2. Establecer como fórmula de resolución: circunferencia = 2 x PI x radio
3. Establecer como dato de salida la circunferencia calculada.
En este caso tenemos dosdatos perfectamente definidos:radioy circunferencia,ambossondatos
variablesyaque nopodemossaberde ningunaformael valorexactodel radio,pueseste valorvaa
depender de un evento que el usuario determinó, luego la circunferencia (que depende del valor
del radio) tampoco puede ser conocida de antemano. Por eso en el cálculo a los datos se los
incorpora en forma referencial a través de un nombre simbólico.
Por otra parte en la fórmulaobservamosdosdatos que se requierenparael cálculo,el valor2 y el
valor PI (3,1415926...) ambos valores están perfectamente definidos y no es posible que cambien
ya que entonces el resultado obtenidosería incorrecto. Ambosvalores son entonces constantes y
se incorporan literalmente en el cálculo.
Además para enunciar este algoritmo se utilizará una herramienta de representación llamada
diagrama o bien mediante un pseudocódigo. Veamos esto por partes:
Algoritmo
Un algoritmo(del griegoylatín,dixitalgorithmusyeste asuvezenhonordel matemáticopersa Al-
Juarismi ) se define como un método aplicable con el fin de obtener la solución a un problema
genérico. Debe presentarse como una secuencia ordenada de pasos que siempre se ejecutan en
tiempofinitoyconunacantidadde esfuerzotambiénfinitooal menosque puedadetectarcuando
el método se hace inviable e informarlo. Los algoritmos tienenun inicio y un final, son únicos y
deben ser fácilmente identificables.
Para su mejor claridad y aprovechamiento en la etapa de codificación, es conveniente que los
algoritmos tengan ciertas características:
• Debe tener un único comienzo y un sólo final perfectamente definidos.
• Debe ser secuencial, cada paso se debe ejecutar en una forma ordenada y no debe comenzar a
ejecutarse unpasosinhaberconcluidode ejecutarel pasoanterior.Cuandose hace el diagramadel
algoritmo, a esta secuencialidad se la denomina flujo de proceso.
• DebenserFinitos,conlocual se entiende que deben finalizar en algún momento determinado.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
• Deben ser Eficientes, entendiéndose por esto que ocupen la cantidad mínima y necesaria de
variables para que al codificar genere un programa que utilice la mínima cantidad de memoria y
además minimizar el tiempo de ejecución evitando procesos redundantes o innecesarios.
• Deben ser Legibles, se busca que el texto que lo describe debe ser claro, de forma que permita
entenderloyleerlofácilmente,eligiendonombresde variablesyde procesosque hagan referencia
clara a su función dentro del código.
• DebenserModificables,oseaque debenenunciarsede modoque susposterioresmodificaciones
u ampliacionesseanfácilesde realizar,inclusoporprogramadoresdiferentesasuspropiosautores.
• DebenserModulares,lafilosofíautilizadaparasu diseñodebe favorecerladivisióndel problema
en módulos pequeños.haciendo que procesos y cálculos complejos se descompongan en cálculos
más simples. Si bien esto puede sonar contrario al enunciado sobre la eficiencia, lo óptimo sería
poder llegar a un compromiso entre simplicidad y eficiencia.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Características de un Algoritmocomputacional
Para poderenunciarunalgoritmoquese puedacodificarenunlenguajede programación,debemos
asumirque quiéninterpretaráel algoritmo(laCPU) podrárealizarsolamenteaccionesmuybásicas.
Si bien en los lenguajes de programación nos encontramos en que podemos utilizar multitud de
accionespredefinidas,lamayoríaestánasociadasal contextode ejecuciónodichode otromodo,la
mayoría de accionesque se puedenrealizarmediante unlenguajede programaciónsonde “forma”
y no de “fondo” en cuanto a la resolución esencial de un problema.
Digamos que nos concentraremos solamente en aquellas acciones que son comunes a cualquier
lenguaje de programacióny no contemplaremosningunaacciónque sea exclusivade un lenguaje.
Así podemosdeterminarque lasaccionesque seránpermitidasenunalgoritmosonlassiguientes:
• Introducir un valor en una variable desde un dispositivo de entrada (el teclado por ejemplo)
• Mostrar enundispositivode salidaunvaloryaseade unavariable ounvalorliteral ( enlapantalla,
por ejemplo)
• Almacenar un valor en una variable como resultado de una expresión (como se denomina una
cálculo en el lenguaje de la programación)
• Bifurcar el flujo de ejecución entre dos alternativas, mediante una condición evaluada.
• Repetir parte del flujo normal de proceso de una manera condicional.
• Iterar, o sea repetir parte del flujo un número determinado de veces.
• Seleccionar un único flujo de proceso a ejecutar de un conjunto de flujos posibles.
Diagrama
SegúnlaWikipedia,undiagramaesunarepresentacióngráficade unaproposición,de laresolución
de unproblema,de lasrelacionesentre lasdiferentespartesoelementosde unconjuntoosistema,
o de la regularidad en la variación de un fenómeno que permite establecer algún tipo de ley.
Existen muchísimos tipos de diagramas cada uno es aplicable de acuerdo a la información que se
quierarepresentar,asíporejemploenteoríade conjuntostenemoslosdiagramasde Venn,enbases
de datosse utilizanlosdiagramasde Entidad-Relación.Ennuestrocaso,laprogramación,se utilizan
principalmente dostiposdediagramas,losdiagramasdeFlujode Datosylosde Nassi-Shneiderman,
estos últimos los dejaremos fuera de nuestro análisis por ahora y nos concentraremos
exclusivamente en los diagramas de flujo.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
DFD - Diagramas de Flujode Datos
Si bien los diagramas de flujo se utilizaban mucho tiempo antes de que la informática se volviera
una realidad,esgracias a Herman Goldstine yJohn von Neumannla aplicaciónde estosdiagramas
a laplanificaciónde algoritmoscomputacionales.Precisamente porsuaplicacióna la informáticay
su estandarización, en la actualidad los diagramas de flujo se utilizan en muchos campos del
conocimientofuerade laprogramación,porejemplo,enel ámbitoempresarial, en medicina, etc.
En losdiagramasde flujode datos(abreviadoDFD),elflujoprecisamente estáindicadoporunalínea
descendente que indica la secuencia de ejecución de las instrucciones.
Pseudocódigo
El Pseudocódigo es otra forma de representar un algoritmo, en este caso utilizandouna notación
similar a un lenguaje de programación estándar, pero cuyas palabras claves están escritas en el
lenguaje castellano. Existe una correspondencia entre los elementos del DFD y el Pseudocódigo
como se puede apreciar en la ilustración 3.
La idea es que se pueda ver el programa desde el punto de vista del programador el cual está
acostumbrado a leer código fuente.
Estructura de un programa
Habíamos mencionado previamente que en un programa encontramos dos partes, el código y la
estructura de datos.
El código
El códigopodemosverlocomountextoque describelarecetaque se debe aplicarpararealizaruna
tarea compleja de procesamiento de datos. Pero... ¿Con qué objetivo se define este texto?
La idea es que la computadora puede ejecutar programas que traducen texto generado por el
usuario(denominadocódigofuente) aoperacionesencódigomáquina(denominadocódigoobjeto)
y puede ejecutar cada acción descripta en la cada oración. Estos programas traductores a código
máquinase denominangenéricamente comoprogramasintérpretes.El únicoproblemaesque los
lenguajes naturalesson poco precisos al momento de definir tareas, ya que nos encontramos con
que podemos utilizar un conjunto de sinónimos para representar lo mismo o incluso una misma
palabra presentaambivalencias,esdeciren un contextosignificaunacosa y en otro contextootra
cosa. Para no hacerdemasiadocomplejoal programaintérprete,estosreconocenunlenguajemuy
acotado (que se basa en su ampliamayoría en el idiomainglés) resumiendoel vocabularionormal
a unaspocas palabrascon un significadopreciso,inclusomuchasde esaspalabrasson inexistentes
en el lenguaje natural y solo tienen sentido en la programación. El objetivo es hacer que el texto
que podamosarmar no sea difícil de entenderytraducir por no tenerningunaambivalenciaensu
significado.Como todo texto, un programa no es más que un conjunto de oraciones, en este caso
un programa se compone de oraciones de tipo declarativas e imperativas.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Retomandolaideaentonces,cuandoprogramamosnohacemosmásque describirpasoporpaso y
con oraciones muy simples que debe hacer o tener en consideración la computadora para aplicar
un algoritmo.En nuestrajergavamosa denominarala oración declarativacomosentenciasya las
oraciones imperativas como instrucción.
Como todo lenguaje, la oración está sujeta a leyes sintácticas que en este caso son muy estrictas.
Por eso la primera tarea que el programa traductor hace, luego de que nosotros codifiquemos el
programa es realizar un análisis sintáctico de todo el texto o de cada oración indicando todos los
errores sintácticos detectados para que los corrijamos. Solo cuando el programa se haya libre de
erroressintácticosse puede comenzar con la traducción a código máquina y posterior ejecución.
Sintaxis
Las reglas sintácticas son más bien pocas, pero muy restrictivas. Cada lenguaje tiene sus propias
restricciones. En el caso del pseudocódigo podemos mencionar las siguientes reglas:
Se define un conjunto de palabrasreservadas que en algunos lenguajes son denominadas tokens.
Estas palabras solo pueden utilizarse en un único sentido, el que se asigne como definición en el
lenguaje.
Las palabras reservadas y su significado son:
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Como observamos en la tabla de palabras reservadas, utilizamos unos símbolos para indicar
elementos obligatorios, vamos a definirlos también:
<v> indica que se debe especificar un dato variable (o una variable a secas) el cual representa un
espacio en la memoria del equipo donde se almacenará un valor.
<k> indicaque se deberáutilizarunvalorconstante,oseaque tiene queestardefinidoliteralmente.
<e> indicauna expresión,osea,el resultadode uncálculo entre unoo variosdatos. Una expresión
además de un resultado también puede ser un valor constante o variable.
<n> palabra definida por el usuario (p.ej. un nombre de variable o de proceso).
Otroselementosque formanparte del códigosonlosoperadores,losdelimitadoresylasfunciones.
Más adelante hablaremos de ellos.
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
Instrucciones
Sonoracionesimperativascuyaestructuraessiempre:“hacertal cosacontalesdatos”.El núcleode
laoraciónesel verboque indicalaordenquequeremosqueseejecute,lo llamaremosprecisamente
ordeno comando.Los verbostienenun solomodo,el infinitivo.Enlos lenguajesde programación
hay multitud de comandos pero en el pseudocódigo vamos a enfocarnos solamente en tres ya
mencionados:
• Leer
• Escribir
• <- (asignar)
Sentencias
Sonoracionesdeclarativasque sirvenparadividirlasecuenciade ejecuciónenbloquesque incluyan
instruccionesuotrassentencias(aestasse lasdenominasentenciasanidadas) que se ejecutaranen
forma grupal, delimitando donde comienza y donde termina este bloque. Por comodidad
denominaremos a este conjunto como estructura. En este caso, la existencia de estas sentencias
definen a la metodología de programación como programación estructurada. Las sentencias son
Estructura de datos
La estructurade datosestá formadapor el conjunto de datosvariablesque requiere el programa.
Los datosconstantesnoforman parte de la estructurade datos ya que estos,porel mismohecho
de ser constantes,se almacenancomo parte del código.
Los lenguajesde programacióndefinensuspropiasreglasparaladefinición de lasestructurasde
datos,peroen el caso del pseudocódigoresumiremosesas reglasenlasiguientes:
Las variablesse definenporunnombre yun tipoprimitivo. Respectoal nombre,cadavariable
debe poseerunnombre único,éste debe comenzarporunaletra(vocal o consonante) yluego
puede continuarconun conjuntode letrasonúmeros.Quedaprohibidocomoparte del nombre
Proceso … / finProceso
• Si … Entonces / Sino /finSi
• Mientras ... Hacer / finMientras
• Repetir / Hasta que ...
• Para … <- … Hasta ... Hacer / finPara
• Segun … Hacer / deOtroModo: / finSegun
INSTITUTO DE CIENCIASY TECNOLOGÍA
UnidadTécnico Pedagógica
Año académico 2020
cualquiersímboloytampocose admitenespacios. Respectoalostiposprimitivosde datos,
existentansolotres:
• El tipo lógicoobooleano,el cual representaundatoque puede tener sólodosposiblesvalores:
verdaderoofalso.
• El tipo numérico,el cual representaundatoque puede operarse matemáticamente,porejemplo
una medida,el resultadode uncálculo, etc.este valordebe pertenece al conjuntode números
reales.
• El tipo alfanumérico,el cual representaundatoque no esmatemático, porejemplounnombre,
una denominación,uncódigo,etc.alos alfanuméricostambiénse losconoce comostringso
cadenas de texto.
Hay otras características que definenaciertostiposde variablescomoporejemploladimensión,
peroesoserá objetivode otrocapítulo.

Más contenido relacionado

La actualidad más candente

Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorROBINSON AUGUSTO AVILA OLIVEROS
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computadoreduardzavala93
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionnbrayan_2012
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujocognos_uie
 
Investigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadorasInvestigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadoraschristian arroyo marchan
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Carlos M. Sandoval
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasJohnfornerod
 
1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de ProblemasMeztli Valeriano Orozco
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmosYulyana López
 
Metodología de solución de problemas y programación
Metodología de solución de problemas y programaciónMetodología de solución de problemas y programación
Metodología de solución de problemas y programaciónIsabel Martínez
 
Tarea 4-pasos para soluicionar problemas por computador
Tarea 4-pasos para soluicionar problemas por computadorTarea 4-pasos para soluicionar problemas por computador
Tarea 4-pasos para soluicionar problemas por computadorirmacris
 
Tarea 4 pasos
Tarea 4 pasosTarea 4 pasos
Tarea 4 pasosirmacris
 

La actualidad más candente (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computador
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computador
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionn
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Clasificación de los problemas
Clasificación de los problemasClasificación de los problemas
Clasificación de los problemas
 
Investigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadorasInvestigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadoras
 
01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmos
 
Algoritmos primero
Algoritmos primeroAlgoritmos primero
Algoritmos primero
 
Metodología de solución de problemas y programación
Metodología de solución de problemas y programaciónMetodología de solución de problemas y programación
Metodología de solución de problemas y programación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tarea 4-prelógica
Tarea 4-prelógicaTarea 4-prelógica
Tarea 4-prelógica
 
Tarea 4-pasos para soluicionar problemas por computador
Tarea 4-pasos para soluicionar problemas por computadorTarea 4-pasos para soluicionar problemas por computador
Tarea 4-pasos para soluicionar problemas por computador
 
Tarea 4 pasos
Tarea 4 pasosTarea 4 pasos
Tarea 4 pasos
 
Método de las 6 d
Método de las 6 dMétodo de las 6 d
Método de las 6 d
 

Similar a 01

Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Ciclo de vida de un programa
Ciclo de vida de un programaCiclo de vida de un programa
Ciclo de vida de un programainfoudch
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...JosAngelLaraMendoza
 
Aplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemasAplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemasJahir Sanchez Sdval
 
Aplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosAplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosalexisj2303
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosomarzon
 

Similar a 01 (20)

Unidad 1 margie
Unidad 1 margieUnidad 1 margie
Unidad 1 margie
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Ciclo de vida de un programa
Ciclo de vida de un programaCiclo de vida de un programa
Ciclo de vida de un programa
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
 
Aplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemasAplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemas
 
Aplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosAplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Video
VideoVideo
Video
 
ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 
U1
U1U1
U1
 
Unidad 1 apps (1)
Unidad 1 apps (1)Unidad 1 apps (1)
Unidad 1 apps (1)
 
Unidad 1 apps (1)
Unidad 1 apps (1)Unidad 1 apps (1)
Unidad 1 apps (1)
 
Unidad 1 apps
Unidad 1 appsUnidad 1 apps
Unidad 1 apps
 

Más de Macarena Jamett

Más de Macarena Jamett (20)

Evolucion y biodiversidad
Evolucion y biodiversidadEvolucion y biodiversidad
Evolucion y biodiversidad
 
Anexo 1 guia para primer nivel
Anexo 1 guia para primer nivelAnexo 1 guia para primer nivel
Anexo 1 guia para primer nivel
 
Anexo 2 primer nivel
Anexo 2 primer nivelAnexo 2 primer nivel
Anexo 2 primer nivel
 
Lecc01
Lecc01Lecc01
Lecc01
 
Soporte hw 02
Soporte hw 02Soporte hw 02
Soporte hw 02
 
Soporte software 03
Soporte software 03Soporte software 03
Soporte software 03
 
Soporte software 02
Soporte software 02Soporte software 02
Soporte software 02
 
Soporte software 01
Soporte software 01Soporte software 01
Soporte software 01
 
02. El Mouse 2013
02.  El Mouse 201302.  El Mouse 2013
02. El Mouse 2013
 
01. conociendo el computador 2013
01.  conociendo el computador 201301.  conociendo el computador 2013
01. conociendo el computador 2013
 
Edmodo xix ciclo biblioredes 2011
Edmodo xix ciclo biblioredes 2011Edmodo xix ciclo biblioredes 2011
Edmodo xix ciclo biblioredes 2011
 
Guía nº7 introducción a internet
Guía nº7 introducción a internetGuía nº7 introducción a internet
Guía nº7 introducción a internet
 
Clase nº 7
Clase nº 7Clase nº 7
Clase nº 7
 
Clase nº 6
Clase nº 6Clase nº 6
Clase nº 6
 
Guía n° 5 procesador de texto word
Guía n° 5   procesador de texto wordGuía n° 5   procesador de texto word
Guía n° 5 procesador de texto word
 
Clase nº 5
Clase nº 5Clase nº 5
Clase nº 5
 
Guía nº 4 el teclado
Guía nº 4   el tecladoGuía nº 4   el teclado
Guía nº 4 el teclado
 
Clase n° 4
Clase n° 4Clase n° 4
Clase n° 4
 
Guía n° 3 introducción a windows
Guía n° 3   introducción a windowsGuía n° 3   introducción a windows
Guía n° 3 introducción a windows
 
Clase nº 3
Clase nº 3Clase nº 3
Clase nº 3
 

Último

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfBrandonsanchezdoming
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 

Último (20)

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 

01

  • 1. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Introducción a la Programación Se define comoprogramaciónal procesode dotaralacomputadorade un métodopararesolverun problema tipo y entregar un resultado. Se dice también que un programa está compuesto de dos partes: • El código,que consiste enel conjuntode accionesaejecutar,enprogramaciónacadaacciónbásica se la denomina genéricamente como instrucción. Cada instrucción podrá estar compuesta de un conjunto de elementos los cuales estudiaremos más adelante. • La estructurade datosque consiste enladisposicióndememoriaelegidaparaalmacenarlosdatos necesarios para resolver el problema, ya sea los parámetros o datos de entrada, los resultados intermedios o datos de proceso y la información resultante o datos de salida. A estos datos en programación se los denomina genéricamente como variables. El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducir a su memoriainstruccionesquelaguíenenloque tieneque hacer.Estaesunatareaque paraunneófito puede resultar muy compleja ya que la computadora solamente es capaz de realizar tareas muy básicas, por lo tanto hay que definir claramente cual será al proceso a ejecutar para hacer tareas complejas mediante pasos elementales. Para comprenderlomás organizadamente, podemos decir que este proceso de programación se divide en las siguientes tareas: 1. Comprensión del problema. 2. Idear una solución que sea lo más general posible. 3. Enunciar un algoritmo de resolución. 4. Codificarlo en un lenguaje de programación. 5. Implementarlo,odichode otramanera,hacerquelamáquinapuedatraducirloasupropiocódigo binario. 6. En forma paralela a los pasos anteriores, preparar un lote de prueba. 7. Ejecutar el programa y validarlo mediante el lote de prueba, si se encuentran errores lógicos, corregirlos, o sea, volver al punto 3 o 4 según el nivel de error.
  • 2. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Comprensióndel Problema. En estaetapa,se debe confeccionarelenunciadodelproblema,el cual requiere unadefiniciónclara yprecisa.Esimportante que seconozcaexactamentecual eselobjetivoquedebe resolverse odicho de otra manera, lo que se desea que realice la computadora. Quizásquiénenuncie el problemanosepadefinirclaramentelosobjetivos,asíque elanalistadeberá interrogarlohastaque el objetivoaresolverquede perfectamente claro,mientrasestonose logre completamente, no tiene mucho sentido continuar con la siguiente etapa. Encontrar una solución Normalmente esta etapa comienza en paralelo a la lectura del enunciado, cuando se va comprendiendoel enunciadoyporexperienciaoanalogíase vanideandolasaccionesque se deben aplicar para arribar al resultado esperado. La solucióndebeserlomásampliaogeneral posible,se deberealizarunaabstracción delproblema, por ejemplo si el enunciado dice: Se necesitaunprogramaparacalcularel áreaocupadaporunavigade maderade 3metrosde largo, y sección cuadrada de 12 cm de lado. Nos encontramos ante una problema de tipo particular, para que éste sirva a los efectos de un desarrollo informático habría que generalizarlo. Así el enunciado podría ser transformado en: Se necesitaunprogramaparacalcularel áreaocupadaporunavigade constituciónuniforme,dados su largo en metros, y el tamaño en centímetros de cada lado de la sección. Es necesario en esta etapa tener en claro: • Cuales son los datos que se requieren para definir el caso particular, los denominados datos de entrada. • Cual es el conjunto de resultados que se desea obtener, o sea, la información de salida. • Los métodos y fórmulas que se necesitan para procesar los datos. Más adelante entraremosendetalle enlascaracterísticasinherentesalosdatos para comprender como esos datos pueden ser acotados y así minimizar la probabilidad de error de proceso. Enunciar un Algoritmo Se debe plantear el método de resolución elegido mediante una construcción matemática denominada algoritmo. Un aspectoimportante atenerencuentaenelenunciadode unalgoritmo escomose administrarán los datos definidos en el problema. Siempre que un evento (un acontecimiento, una verificación, una medición, etc.) se pueda registrar de alguna forma, este evento se considerará como
  • 3. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 computable. Al registro de un evento en un sistema informático se lo denomina dato. Podemos diferenciar en un algoritmo dos tipos de datos, las constantes y los datos variables. Analicemos un ejemplo: Si queremos hacer un simple algoritmo para calcular el perímetro de una circunferencia lo podríamos definir en los siguientes pasos: 1. Establecer como dato de entrada el radio de la circunferencia. 2. Establecer como fórmula de resolución: circunferencia = 2 x PI x radio 3. Establecer como dato de salida la circunferencia calculada. En este caso tenemos dosdatos perfectamente definidos:radioy circunferencia,ambossondatos variablesyaque nopodemossaberde ningunaformael valorexactodel radio,pueseste valorvaa depender de un evento que el usuario determinó, luego la circunferencia (que depende del valor del radio) tampoco puede ser conocida de antemano. Por eso en el cálculo a los datos se los incorpora en forma referencial a través de un nombre simbólico. Por otra parte en la fórmulaobservamosdosdatos que se requierenparael cálculo,el valor2 y el valor PI (3,1415926...) ambos valores están perfectamente definidos y no es posible que cambien ya que entonces el resultado obtenidosería incorrecto. Ambosvalores son entonces constantes y se incorporan literalmente en el cálculo. Además para enunciar este algoritmo se utilizará una herramienta de representación llamada diagrama o bien mediante un pseudocódigo. Veamos esto por partes: Algoritmo Un algoritmo(del griegoylatín,dixitalgorithmusyeste asuvezenhonordel matemáticopersa Al- Juarismi ) se define como un método aplicable con el fin de obtener la solución a un problema genérico. Debe presentarse como una secuencia ordenada de pasos que siempre se ejecutan en tiempofinitoyconunacantidadde esfuerzotambiénfinitooal menosque puedadetectarcuando el método se hace inviable e informarlo. Los algoritmos tienenun inicio y un final, son únicos y deben ser fácilmente identificables. Para su mejor claridad y aprovechamiento en la etapa de codificación, es conveniente que los algoritmos tengan ciertas características: • Debe tener un único comienzo y un sólo final perfectamente definidos. • Debe ser secuencial, cada paso se debe ejecutar en una forma ordenada y no debe comenzar a ejecutarse unpasosinhaberconcluidode ejecutarel pasoanterior.Cuandose hace el diagramadel algoritmo, a esta secuencialidad se la denomina flujo de proceso. • DebenserFinitos,conlocual se entiende que deben finalizar en algún momento determinado.
  • 4. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 • Deben ser Eficientes, entendiéndose por esto que ocupen la cantidad mínima y necesaria de variables para que al codificar genere un programa que utilice la mínima cantidad de memoria y además minimizar el tiempo de ejecución evitando procesos redundantes o innecesarios. • Deben ser Legibles, se busca que el texto que lo describe debe ser claro, de forma que permita entenderloyleerlofácilmente,eligiendonombresde variablesyde procesosque hagan referencia clara a su función dentro del código. • DebenserModificables,oseaque debenenunciarsede modoque susposterioresmodificaciones u ampliacionesseanfácilesde realizar,inclusoporprogramadoresdiferentesasuspropiosautores. • DebenserModulares,lafilosofíautilizadaparasu diseñodebe favorecerladivisióndel problema en módulos pequeños.haciendo que procesos y cálculos complejos se descompongan en cálculos más simples. Si bien esto puede sonar contrario al enunciado sobre la eficiencia, lo óptimo sería poder llegar a un compromiso entre simplicidad y eficiencia.
  • 5. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020
  • 6. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Características de un Algoritmocomputacional Para poderenunciarunalgoritmoquese puedacodificarenunlenguajede programación,debemos asumirque quiéninterpretaráel algoritmo(laCPU) podrárealizarsolamenteaccionesmuybásicas. Si bien en los lenguajes de programación nos encontramos en que podemos utilizar multitud de accionespredefinidas,lamayoríaestánasociadasal contextode ejecuciónodichode otromodo,la mayoría de accionesque se puedenrealizarmediante unlenguajede programaciónsonde “forma” y no de “fondo” en cuanto a la resolución esencial de un problema. Digamos que nos concentraremos solamente en aquellas acciones que son comunes a cualquier lenguaje de programacióny no contemplaremosningunaacciónque sea exclusivade un lenguaje. Así podemosdeterminarque lasaccionesque seránpermitidasenunalgoritmosonlassiguientes: • Introducir un valor en una variable desde un dispositivo de entrada (el teclado por ejemplo) • Mostrar enundispositivode salidaunvaloryaseade unavariable ounvalorliteral ( enlapantalla, por ejemplo) • Almacenar un valor en una variable como resultado de una expresión (como se denomina una cálculo en el lenguaje de la programación) • Bifurcar el flujo de ejecución entre dos alternativas, mediante una condición evaluada. • Repetir parte del flujo normal de proceso de una manera condicional. • Iterar, o sea repetir parte del flujo un número determinado de veces. • Seleccionar un único flujo de proceso a ejecutar de un conjunto de flujos posibles. Diagrama SegúnlaWikipedia,undiagramaesunarepresentacióngráficade unaproposición,de laresolución de unproblema,de lasrelacionesentre lasdiferentespartesoelementosde unconjuntoosistema, o de la regularidad en la variación de un fenómeno que permite establecer algún tipo de ley. Existen muchísimos tipos de diagramas cada uno es aplicable de acuerdo a la información que se quierarepresentar,asíporejemploenteoríade conjuntostenemoslosdiagramasde Venn,enbases de datosse utilizanlosdiagramasde Entidad-Relación.Ennuestrocaso,laprogramación,se utilizan principalmente dostiposdediagramas,losdiagramasdeFlujode Datosylosde Nassi-Shneiderman, estos últimos los dejaremos fuera de nuestro análisis por ahora y nos concentraremos exclusivamente en los diagramas de flujo.
  • 7. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 DFD - Diagramas de Flujode Datos Si bien los diagramas de flujo se utilizaban mucho tiempo antes de que la informática se volviera una realidad,esgracias a Herman Goldstine yJohn von Neumannla aplicaciónde estosdiagramas a laplanificaciónde algoritmoscomputacionales.Precisamente porsuaplicacióna la informáticay su estandarización, en la actualidad los diagramas de flujo se utilizan en muchos campos del conocimientofuerade laprogramación,porejemplo,enel ámbitoempresarial, en medicina, etc. En losdiagramasde flujode datos(abreviadoDFD),elflujoprecisamente estáindicadoporunalínea descendente que indica la secuencia de ejecución de las instrucciones. Pseudocódigo El Pseudocódigo es otra forma de representar un algoritmo, en este caso utilizandouna notación similar a un lenguaje de programación estándar, pero cuyas palabras claves están escritas en el lenguaje castellano. Existe una correspondencia entre los elementos del DFD y el Pseudocódigo como se puede apreciar en la ilustración 3. La idea es que se pueda ver el programa desde el punto de vista del programador el cual está acostumbrado a leer código fuente. Estructura de un programa Habíamos mencionado previamente que en un programa encontramos dos partes, el código y la estructura de datos. El código El códigopodemosverlocomountextoque describelarecetaque se debe aplicarpararealizaruna tarea compleja de procesamiento de datos. Pero... ¿Con qué objetivo se define este texto? La idea es que la computadora puede ejecutar programas que traducen texto generado por el usuario(denominadocódigofuente) aoperacionesencódigomáquina(denominadocódigoobjeto) y puede ejecutar cada acción descripta en la cada oración. Estos programas traductores a código máquinase denominangenéricamente comoprogramasintérpretes.El únicoproblemaesque los lenguajes naturalesson poco precisos al momento de definir tareas, ya que nos encontramos con que podemos utilizar un conjunto de sinónimos para representar lo mismo o incluso una misma palabra presentaambivalencias,esdeciren un contextosignificaunacosa y en otro contextootra cosa. Para no hacerdemasiadocomplejoal programaintérprete,estosreconocenunlenguajemuy acotado (que se basa en su ampliamayoría en el idiomainglés) resumiendoel vocabularionormal a unaspocas palabrascon un significadopreciso,inclusomuchasde esaspalabrasson inexistentes en el lenguaje natural y solo tienen sentido en la programación. El objetivo es hacer que el texto que podamosarmar no sea difícil de entenderytraducir por no tenerningunaambivalenciaensu significado.Como todo texto, un programa no es más que un conjunto de oraciones, en este caso un programa se compone de oraciones de tipo declarativas e imperativas.
  • 8. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Retomandolaideaentonces,cuandoprogramamosnohacemosmásque describirpasoporpaso y con oraciones muy simples que debe hacer o tener en consideración la computadora para aplicar un algoritmo.En nuestrajergavamosa denominarala oración declarativacomosentenciasya las oraciones imperativas como instrucción. Como todo lenguaje, la oración está sujeta a leyes sintácticas que en este caso son muy estrictas. Por eso la primera tarea que el programa traductor hace, luego de que nosotros codifiquemos el programa es realizar un análisis sintáctico de todo el texto o de cada oración indicando todos los errores sintácticos detectados para que los corrijamos. Solo cuando el programa se haya libre de erroressintácticosse puede comenzar con la traducción a código máquina y posterior ejecución. Sintaxis Las reglas sintácticas son más bien pocas, pero muy restrictivas. Cada lenguaje tiene sus propias restricciones. En el caso del pseudocódigo podemos mencionar las siguientes reglas: Se define un conjunto de palabrasreservadas que en algunos lenguajes son denominadas tokens. Estas palabras solo pueden utilizarse en un único sentido, el que se asigne como definición en el lenguaje. Las palabras reservadas y su significado son:
  • 9. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Como observamos en la tabla de palabras reservadas, utilizamos unos símbolos para indicar elementos obligatorios, vamos a definirlos también: <v> indica que se debe especificar un dato variable (o una variable a secas) el cual representa un espacio en la memoria del equipo donde se almacenará un valor. <k> indicaque se deberáutilizarunvalorconstante,oseaque tiene queestardefinidoliteralmente. <e> indicauna expresión,osea,el resultadode uncálculo entre unoo variosdatos. Una expresión además de un resultado también puede ser un valor constante o variable. <n> palabra definida por el usuario (p.ej. un nombre de variable o de proceso). Otroselementosque formanparte del códigosonlosoperadores,losdelimitadoresylasfunciones. Más adelante hablaremos de ellos.
  • 10. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 Instrucciones Sonoracionesimperativascuyaestructuraessiempre:“hacertal cosacontalesdatos”.El núcleode laoraciónesel verboque indicalaordenquequeremosqueseejecute,lo llamaremosprecisamente ordeno comando.Los verbostienenun solomodo,el infinitivo.Enlos lenguajesde programación hay multitud de comandos pero en el pseudocódigo vamos a enfocarnos solamente en tres ya mencionados: • Leer • Escribir • <- (asignar) Sentencias Sonoracionesdeclarativasque sirvenparadividirlasecuenciade ejecuciónenbloquesque incluyan instruccionesuotrassentencias(aestasse lasdenominasentenciasanidadas) que se ejecutaranen forma grupal, delimitando donde comienza y donde termina este bloque. Por comodidad denominaremos a este conjunto como estructura. En este caso, la existencia de estas sentencias definen a la metodología de programación como programación estructurada. Las sentencias son Estructura de datos La estructurade datosestá formadapor el conjunto de datosvariablesque requiere el programa. Los datosconstantesnoforman parte de la estructurade datos ya que estos,porel mismohecho de ser constantes,se almacenancomo parte del código. Los lenguajesde programacióndefinensuspropiasreglasparaladefinición de lasestructurasde datos,peroen el caso del pseudocódigoresumiremosesas reglasenlasiguientes: Las variablesse definenporunnombre yun tipoprimitivo. Respectoal nombre,cadavariable debe poseerunnombre único,éste debe comenzarporunaletra(vocal o consonante) yluego puede continuarconun conjuntode letrasonúmeros.Quedaprohibidocomoparte del nombre Proceso … / finProceso • Si … Entonces / Sino /finSi • Mientras ... Hacer / finMientras • Repetir / Hasta que ... • Para … <- … Hasta ... Hacer / finPara • Segun … Hacer / deOtroModo: / finSegun
  • 11. INSTITUTO DE CIENCIASY TECNOLOGÍA UnidadTécnico Pedagógica Año académico 2020 cualquiersímboloytampocose admitenespacios. Respectoalostiposprimitivosde datos, existentansolotres: • El tipo lógicoobooleano,el cual representaundatoque puede tener sólodosposiblesvalores: verdaderoofalso. • El tipo numérico,el cual representaundatoque puede operarse matemáticamente,porejemplo una medida,el resultadode uncálculo, etc.este valordebe pertenece al conjuntode números reales. • El tipo alfanumérico,el cual representaundatoque no esmatemático, porejemplounnombre, una denominación,uncódigo,etc.alos alfanuméricostambiénse losconoce comostringso cadenas de texto. Hay otras características que definenaciertostiposde variablescomoporejemploladimensión, peroesoserá objetivode otrocapítulo.