Sei sulla pagina 1di 16

APLICAR LOS PRINCIPIOS DE PROGRAMACIN EN LA SOLUCIN DE PROBLEMAS

Competencia 1: Conceptos Bsicos Clasificacin del software de: sistemas y aplicacin. Algoritmo. Lenguaje de Programacin. Programa. Programacin. Paradigmas de programacin. Editores de texto. Compiladores e intrpretes. Ejecutables. Consola de lnea de comandos.

COMPETENCIA 1. CONCEPTOS BASICOS

Clasificacin del software de: sistemas y aplicacin.


El software es la parte lgica de computadora, que permite el manejo de los recursos y la realizacin de tareas especificas, tambin denominados programas. Se clasifica en 2 partes: 1. SOFTWARE DE SISTEMAS 2. SOFWARE DE APLICACION 1. SOFTWARE DE SISTEMAS: Son aquellos programas que permiten la administracin de la parte fsica o los recursos de la computadora, es la que interacta entre el usuario y los componentes hardware del ordenador. Se clasifican el Sistemas Operativos Mono usuarios y Multiusuario. 2. SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a tareas especficas como edicin de textos, imgenes, clculos, etc. tambin conocidos como aplicaciones.

Software de Sistema

Coleccin de programas residentes en la computadora, este tipo de software resulta pieza esencial para el uso de la computadora y el desarrollo de ms software, una definicin ms que podemos dar es que es una de las partes que permite el funcionamiento de la computadora, el objetivo del software de sistema es aislar tanto como sea posible al programador de aplicaciones de los detalles del computador particular que se use, especialmente de las caractersticas fsicas de la memoria, impresoras, pantallas, teclados etc. El software de sistema son los programas bsicos el cual controla a la computadora, tambin llamado sistema operativo el cual tiene tres grandes funciones: coordina y manipula el hardware del ordenador, como la memoria, las unidades de disco; organiza los archivos en diversos dispositivos de almacenamiento y gestiona los errores de hardware y del mismo software. Ejemplos:

Software de Aplicacin

El software de aplicacin permite a los usuarios llevar a cabo una o varias tareas ms especificas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios, tambin podemos decir que el software de aplicacin son aquellos que nos ayudan a la elaboracin de una determinada tarea, este tipo de software es diseado para facilitar al usuario en la realizacin de un determinado tipo de trabajo.

Ejemplos:

Algoritmo.
Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. La palabra "algoritmo" deriva del nombre latinizado del gran matemtico rabe Mohamed Ibn Moussa Al Kow Rizmi, el cual escribi sobre entre los aos 800 y 825 su obra Quitab Al Jabr Al Mugabala, donde se recoga el

sistema de numeracin hind y el concepto del cero. Fue Fibonacci, el que tradujo su obra al latn y la inici con las palabras: Algoritmi dicit. Diferencia entre el lenguaje algortmico y el informtico. El lenguaje algortmico es aquel por medio del cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el que deben efectuarse, se le denominan algoritmo. El lenguaje informtico es aquel por medio del cual dicho algoritmo se codifica a un sistema comprensible por el ordenador o computadora. Este tipo de lenguaje es ms cercano a la mquina que al ser humano y podemos distinguir distintos tipos dependiendo de la proximidad a la maquina. Se denomina lenguaje de alto nivel aquel que es ms cercano a la comprensin humana y lenguaje de bajo nivel a aquellos que son ms comprensibles por la mquina. En concreto, nosotros vamos a estudiar un lenguaje en la frontera de uno de bajo nivel. Es por ello que el 'C' es tan potente y rpido, pues las funciones principales representan las funciones ms bsicas del ordenador. Planteamientos de Problemas. Lo que pretende un algoritmo es sintetizar de alguna forma una tarea, clculo o mecanismo antes de ser transcrito al ordenador. Los pasos que hay que seguir son los siguientes: - Anlisis previo del problema. - Primera visin del mtodo de resolucin. - Descomposicin en mdulos. - (Programacin estructurada). - Bsqueda de soluciones parciales. - Ensamblaje de soluciones finales.

Lenguaje de Programacin.
Los lenguajes de programacin son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc...

Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la informacin sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de clculo, uno por uno. El primer gran avance que se dio, como ya se coment, fue la abstraccin dada por el Lenguaje Ensamblador, y con l, el nacimiento de las primeras herramientas automticas para generar el cdigo mquina. Esto redujo los errores triviales, como poda ser el nmero que corresponda a una operacin, que son sumamente engorrosos y difciles de detectar, pero fciles de cometer. Sin embargo, an aqu es fcil para el programador perderse y cometer errores de lgica, pues debe bajar al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de l. C C es un lenguaje de programacin diseado por Dennis Ritchie, de los Laboratorios Bell, y se instal en un PDP-11 en 1972; se dise para ser el lenguaje de los Sistemas Operativos UNIX1. A su vez, UNIX es un Sistema Operativo desarrollado por Ken Thompson, quin utiliz el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX, en 1970. C se invent para superar las limitaciones de B. C es un lenguaje maduro de propsitos generales que se desarroll a partir de estas races; su definicin aparece en 1978 en el apndice ``C Reference Manual'' del libro The C Programming Language, de Brian W. Kernighan y Dennis M. Ritchie (Englewood Cliffs, Nueva Jersey, Prentice-Hall 1978), pero el estndar recomendable ms reciente apareci en junio de 1983, en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual, escrito por Dennis M. Ritchie Un programa en C Generalizando, un programa en C consta de tres secciones. La primera seccin es donde van todos los ``headers''. Estos ``headers'' son comnmente los ``#define'' y los ``#include''. Como segunda seccin se tienen las ``funciones''. Al igual que Pascal, en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcin principal (main ()). Declarando las funciones a ocupar al principio del programa, se logra que la funcin principal est antes que el resto de las funciones. Ahora, solo se habla de funciones ya que en C no existen los procedimientos. Y como ltima seccin se tiene a la funcin principal, llamada main. Cuando se ejecuta el programa, lo primero que se ejecuta es esta funcin, y de ah sigue el resto del programa.

Los smbolos {y} indican ``begin'' y ``end'' respectivamente. Si en una funcin o en un ciclo while, por ejemplo, su contenido es de solamente una lnea, no es necesario usar ``llaves'' ({ }), en caso contrario es obligacin usarlos. Ejemplo de un programa en C /*Programa ejemplo que despliega el contenido de "ROL" en pantalla*/ #include <stdio.h> #define ROL "9274002-1" despliega_rol () { printf ("Mi rol es : \%s\n", ROL); } Void main () { despliega_rol (); } /* Fin programa */ Ejemplo de un Programa en Java import java.io.*; class Cifras { static int total=0; static int x=0; static int numCifras(int x){ while(x!=0){ x=x/10; total+=1; //incrementamos el contador } return total; } public static void main(String[]args) throws IOException{

//BufferedReader para leer de consola BufferedReader leer = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Introduce un nu4mero:"); //leemos una lnea como string String linea = leer.readLine(); /*Convertirmos el string a un nmero. Podras poner *un try y catch para comprobrar errores al convertirlo.Por *ejemplo si introducen un string*/ x= Integer.parseInt(linea); System.out.println("El numero de cifras es:"); //Imprimimos el nmero de lneas System.out.println(numCifras(x)); } }

Programa.
Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. Sin programas, estas mquinas no pueden funcionar correctamente. Al conjunto general de programas, se le denomina software y as, se refiere al equipamiento lgico o soporte lgico de una computadora digital. En informtica, se los denomina comnmente binarios, (propio en sistemas unix, donde debido a la estructura de este ltimo, los ficheros no necesitan hacer uso de extensiones. Posteriormente, los presentaron como ficheros ejecutables, con extensin .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilacin y han sido creados, las instrucciones que se escribieron en un lenguaje de programacin que los humanos usan para escribirlos con mayor facilidad, se han traducido al nico idioma que la mquina comprende, combinaciones de ceros y unos llamada cdigo mquina. El mismo trmino, puede referirse tanto a un programa ejecutable, como a su cdigo fuente, el cual es transformado en un binario cuando es compilado. Generalmente el cdigo fuente lo escriben profesionales conocidos como programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin.

Programacin
Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido como cdigo mquina, el cual comprende fcilmente, pero que lo hace excesivamente complicado para las personas. De hecho slo consiste en cadenas interminables de nmeros 1 y 0. (Sistema de nmeros Binario) Para facilitar el trabajo, los primeros operadores de computadoras decidieron reemplazar los 1 y 0 por palabras o letras provenientes del ingls; ste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es bsicamente igual que hacerlo en lenguaje mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo ms adecuado para programarlas. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan sencilla como sumar dos nmeros puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo una.

Paradigmas de programacin
Un paradigma de programacin representa un enfoque particular o filosofa para la construccin del software. No es mejor uno que otro, sino que cada uno tiene sus ventajas y sus inconvenientes. Tambin hay situaciones donde un paradigma resulta ms apropiado que otro. Tipos de paradigmas de programacin ms comunes

Imperativo o por procedimientos: es considerado el ms comn y est representado, por ejemplo, por C o BASIC. Funcional: est representado por Scheme o Haskell. Este es un caso del paradigma declarativo. Lgico: est representado por Prolog. Este es otro caso del paradigma declarativo. Declarativo: por ejemplo la programacin funcional, la programacin lgica, o la combinacin lgico-funcional. Orientado a objetos: est representado por Smalltalk, un lenguaje completamente orientado a objetos.

Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la prctica es habitual que se mezclen, dando lugar a la programacin multiparadigma.

Editores de texto.
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos nicamente por texto sin formato, conocidos comnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes ledos segn el cdigo de caracteres que usa el editor. Hoy en da es comnmente de 7- 8-bits en ASCII o UTF-8, rara vez EBCDIC. Por ejemplo, un editor ASCII de 8 bits que lee el nmero binario 0110 0001 (decimal 97 hexadecimal 61) en el archivo lo representar en la pantalla por la figura a, que el usuario reconoce como la letra "a" y ofrecer al usuario las funciones necesarias para cambiar el nmero binario en el archivo. Los editores de texto son incluidos en el sistema operativo o en algn paquete de software instalado y se usan cuando se deben crear o modificar archivos de texto como archivos de configuracin, scripts o el cdigo fuente de algn programa. El archivo creado por un editor de texto incluye por convencin en DOS y Microsoft Windows la extensin .txt, aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominacin de sus archivos. Hay una gran variedad de editores de texto. Algunos son de uso general, mientras que otros estn diseados para escribir o programar en un lenguaje. Algunos son muy sencillos, mientras que otros tienen implementadas gran cantidad de funciones. El editor de texto debe ser considerado como una herramienta de trabajo del programador o administrador de la mquina. Como herramienta permite realizar ciertos trabajos, pero tambin requiere de aprendizaje para que el usuario conozca y obtenga destreza en su uso. La llamada curva de aprendizaje es una representacin de la destreza adquirida a lo largo del tiempo de aprendizaje. Un editor puede ofrecer muchas funciones, pero si su curva de aprendizaje es muy larga, puede desanimar el aprendizaje y terminar siendo dejado de lado. Puede que un editor tenga una curva de aprendizaje muy empinada y corta, pero si no ofrece muchas funciones el usuario le reemplazar por otro ms productivo. Es decir la eleccin del editor ms apropiado depende de varios factores, alguno de ellos muy subjetivos.

10

Esta coyuntura de intereses ha dado lugar a largas discusiones sobre la respuesta a la pregunta "cul es el mejor editor de texto?". Hoy en da muchos editores originalmente salidos de Unix o Linux han sido portados a otros sistemas operativos, lo que permite trabajar en otros sistemas sin tener que aprender el uso de otro editor. Editores para profesionales deben ser capaces de leer archivos de gran extensin, mayor que la capacidad e la memoria RAM de la mquina y tambin arrancar rpidamente, ya que el tiempo de espera disminuye la concentracin y disminuye de por si la productividad.los editores sde texto sirven para muchas cosas pues facilita el trabajo Muchos editores de texto incluyen coloreado de sintaxis y funciones que ofrecen al usuario completar una palabra iniciada usando para ello la configuracin. Algunas funciones especiales son:

Editores diseados para un lenguaje de programacin determinado, con coloreado de sintaxis, macros, completacin de palabras, etc. Editores con regiones plegables. A veces no todo el texto es relevante para el usuario. Con este tipo de editores ciertas regiones con texto irrelevante pueden ser plegadas, escondidas, mostrando al usuario solo lo importante del texto. IDE es un editor ms otras herramientas de trabajo, compiladores, extractores de diferencias entre dos textos, repositorios, etc, incluidos en un solo programa.

Compiladores e intrpretes.
Existen dos tipos principales de traductores de los lenguajes de programacin de alto nivel:

Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la mquina). Su accin equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua. Intrprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningn cdigo equivalente. Su accin equivale a la de un intrprete humano, que traduce las frases que oye sobre la marcha, sin producir ningn escrito permanente. Intrpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios: o Un intrprete facilita la bsqueda de errores, pues la ejecucin de un programa puede interrumpirse en cualquier momento para estudiar el

11

entorno (valores de las variables, etc.). Adems, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecucin. o Un compilador suele generar programas ms rpidos y eficientes, ya que el anlisis del lenguaje fuente se hace una sola vez, durante la generacin del programa equivalente. En cambio, un intrprete se ve obligado generalmente a analizar cada instruccin tantas veces como se ejecute (incluso miles o millones de veces). o Un intrprete permite utilizar funciones y operadores ms potentes, como por ejemplo ejecutar cdigo contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intrprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.

Ejecutables
Archivo que tiene la capacidad de poder ser ejecutado de forma independiente, o en otras palabras, que no necesita ser ejecutado por una aplicacin externa. Estos archivos son ejecutados y controlados por el sistema operativo. Un archivo ejecutable contiene un programa, y generalmente necesitan de otros archivos para funcionar (aunque no es necesario). Un ejecutable o archivo ejecutable, es un archivo binario cuyo contenido se interpreta por el ordenador como un programa. Generalmente, contiene instrucciones en cdigo mquina de un procesador en concreto, pero tambin puede contener bytecode que requiera un intrprete para ejecutarlo. Adems suele contener llamadas a funciones especficas de un sistema operativo (llamadas al sistema). Dependiendo del tipo de que se traten las instrucciones, hablaremos de ejecutables portables (se pueden ejecutar en varias plataformas) y no portables (destinado a una plataforma concreta). Por ejemplo, un ejecutable Java es portable ya que utiliza un bytecode no asociado a un procesador en concreto.

Consola de lnea de comandos.

12

Interfaz de Lnea de Comandos (CLI), por su acrnimo en ingls de Command Line Interface (CLI), es un mtodo que permite a las personas dar instrucciones a algn programa informtico por medio de una lnea de texto simple. Debe notarse que los conceptos de CLI, Shell y Emulador de Terminal no son lo mismo, aunque suelen utilizarse como sinnimos. Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho ms automatizada (batch), leyendo comandos desde un archivo de scripts. Esta interfaz existe casi desde los comienzos de la computacin, superada en antigedad solo por las tarjetas perforadas y mecanismos similares. Existen, para diversos programas y sistemas operativos, para diversos hardware, y con diferente funcionalidad. Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos cientficos y de ingeniera, y un subconjunto ms pequeo de usuarios domsticos avanzados.

Funcionamiento En su forma ms simple, una CLI consiste en un espacio donde se pueden escribir comandos (por lo usual sealizando con un prompt). El usuario teclea una orden y la ejecuta al pasar a la lnea siguiente, utilizando la tecla Intro/Enter.

13

Las rdenes dadas a la CLI son con frecuencia de la forma:


PROMPT>aplicacin [parmetros] ficheros o URI...

Al finalizar y enviar la orden con Intro, un modulo Interpretador de rdenes analiza la secuencia de caracteres recibida y, si la sintaxis de la orden es correcta, ejecuta la orden dentro del contexto del programa o del sistema operativo donde se encuentra. Esta forma de trabajo es secuencial, y equivale a un tipo de programacin paso a paso. El usuario percibe el procesamiento de sus instrucciones en forma de accin. Si al usuario se le enva esta informacin de procesamiento en forma de texto simple, entonces se le llama Salida Estndar o stdout. El usuario tambin puede recibir un informe textual de errores en un canal especializado llamado stderr. Casi todos los Shells implementan la visualizacin de stdout y stderr como una sola cosa.

14

BIOGRAFIA. Internet, Clasificacin Del Software 10 de Septiembre de 2010, del sitio web: http://www.mitecnologico.com/Main/ClasificacionDelSoftware. Internet, Algoritmo 10 de Septiembre de 2010, http://www.monografias.com/trabajos/algoritmo/algoritmo.shtml del sitio web:

Internet, Lenguaje de Programacin 10 de Septiembre de 2010, del sitio web: http://www.monografias.com/trabajos/lengprog/lengprog.shtml Internet, Programa 10 de Septiembre de 2010, http://es.wikipedia.org/wiki/Programa_inform%C3%A1tico Internet, Programacin 10 de Septiembre http://es.wikipedia.org/wiki/Programaci%C3%B3n de 2010, del del sitio sitio web: web:

Internet, Compiladores e interpretes 10 de Septiembre de 2010, del sitio web: http://www.todo-programacion.com.ar/archives/2005/04/interpretes_y_c.html Internet, Ejecutables 10 de Septiembre http://www.alegsa.com.ar/Dic/ejecutable.php de 2010, del sitio web:

Internet, Lenguaje de Programacin 12 de Septiembre de 2010, del sitio web: http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml

15

Internet, Lenguaje de Programacin 12 de Septiembre de 2010, del sitio web: http://programasjava.blogspot.com/

16

Potrebbero piacerti anche