Está en la página 1de 58

TECNOLOGIAS DE LA

INFORMACIN Y LA
COMUNICACIN
M. en C. NEFTAL ANTNEZ H.
CHILPANCINGO, GRO., SEPTIEMBRE DE 2006
1

COMENTARIO

Toda conferencia debe relacionar el conocimiento con el


aprendizaje de los estudiantes. Por esta razn, antes de
entrar en materia, es necesario dar una sugerencias
acerca de cmo aprender mejor. El modelo de
aprendizaje ms aceptado actualmente en el mundo y
comprobado por m y el que al estudiante le
recomiendo
seguir es elAprendizaje
siguiente:
de
Conocimiento
s
Previos

Aprendizaje
Significativo

Nuevos
Conocimientos

APLICACIN
APLICACINDEL
DEL
CONOCIMIENTO:
CONOCIMIENTO:
En
la
misma
En
la
misma
Asignatura
Asignatura
En
Enlas
lasAsignaturas
Asignaturasque
que
auxilia.
auxilia.
En
la
En laVida
VidaReal.
Real.

Por lo anterior, primero dar los antecedentes tericos


antes de entrar en materia, espero estn atentos y
concentrados para aprovechar al mximo esta pltica.

LA ERA DE LA INFORMACIN

Estamos
viviendo una nueva
civilizacin
dominada
por
la
informacin y el conocimiento. La
sociedad actual ya se ha bautizado
como: La Era de la Informacin o
La sociedad del conocimiento.
Durante el siglo que inicia nos
ganaremos el pan con el sudor de la
mente en lugar del de la frente;
quien posea la informacin ser
quien posea el poder.
4

LA ERA DE LA INFORMACIN

Las computadoras son el corazn de todas


las telecomunicaciones y es el eje de las
transformaciones de la sociedad, de hecho
se constituye como la columna vertebral
del desarrollo social. Tan es as que en los
ltimos 50 aos se ha desarrollado ms la
ciencia que en los 5950 aos anteriores.
La computadora es el mayor invento de las
matemticas.
En Computacin, se habla de obsolescencia
ya no slo para equipos y herramientas,
sino para los recursos humanos cuyos
conocimientos han perdido vigencia.
5

Cul es el papel del estudiante en la


Sociedad del Conocimiento? (deberes y
obligaciones)
Tener derecho a una educacin digna.
Ser responsable de su aprendizaje.
Participar activamente en su
educacin.
Comprometerse con su familia y la
sociedad.
Apropiarse de los conocimientos y
aplicarlos para ser productivo.
Aprender a usar la tecnologa.
6

PANORAMA GENERAL
ESCUEL
A
CIENCIA
PARADIGMAS

MTODO CIENTFICO
TEORAS, LEYES

CONOCIMIENTOS
CONOCIMIENTOS
CONCEPTOS
LENGUAJE
DEFINICIONES

CONCEPTO Y DEFINICIN
El concepto es una idea acerca de algo, en donde hemos
identificado sus propiedades nicas e inherentes.
Para aprender un concepto debes identificar sus
caractersticas o funciones nicas y que no tienen los
dems objetos o cosas. Debes aislar el objeto, cosa o
funcin.
La definicin es la descripcin de un concepto utilizando
el lenguaje hablado y escrito-. Los conceptos y
definiciones estn ntimamente ligados y constituyen
todos los conocimientos, de ah su importancia.
Los conceptos y definiciones se aprenden por sus
detalles, no por el rollo que les acompaa. El verdadero
aprendizaje slo se da al aprender conceptos.

Definicin de Paradigma.

Representa la totalidad de la informacin bsica, las leyes


y las teoras que se ensean al aspirante a cientfico
como si fueran verdaderas y que el debe aceptar si desea
ser aceptado dentro la comunidad cientfica.

Representa el todo estructurado de una ciencia dada y es


el que conduce todas las actividades de investigacin de
la comunidad cientfica.Thomas
Kuhn (The Structure of
cientfica.
Scientific Revolutions).

Adam Smith (Powers of the Mind): "Un conjunto


compartido de hechos asumidos. El paradigma explica el
mundo y permite predecir su comportamiento. Estando
en medio del paradigma, es difcil imaginar otro".

Definicin de Paradigma (Cont.)

Por lo tanto es un esquema cerrado predefinido


que le dice al cientfico la forma de ver las cosas
y de cmo debe realizar sus investigaciones ,
limitando su creatividad e inventiva.
El paradigma es una demarcacin entre ciencia y
no-ciencia. Lo que est fuera del paradigma se
considera no-ciencia.
Son los lentes con los que vemos el mundo. El
que no sabe es como el que no ve . Es la
manera personal de ver al mundo.
Observacin: Los seres humanos tenemos
paradigmas con POCAS reglas, y una
tendencia FUERTE a aferrarnos a ellas.

10

La Ceguera y la Parlisis
Paradigmtica

Caractersticas de la ceguera paradigmtica:


No se puede". Mientras lo dices, alguien
pudo.
"No va a funcionar". Y sin embargo
funciona.
"Eso es imposible". Mientras lo decas
alguien lo hizo.
La NASA estudi al abejorro y encontr
que debido a su forma y peso,
aerodinmicamente no puede volar, pero
como el no lo sabe, vuela.
11

Como lograr el XITO

Aprendimos a caminar, caminando.


Aprendimos a hablar, hablando.
Aprendemos conocimientos, estudiando.
Aprendemos a analizar, analizando.
Aprendemos a investigar, investigando.
Aprendemos a programar, programando.
Aprendemos
a
escribir
una
tesis,
escribindola.
Es decir, APRENDEMOS A HACER, HACIENDO.
Pero terminando todo lo que empecemos y
haciendo una sola cosa a la vez.

12

Las computadoras no han nacido en los ltimos


aos, en realidad el hombre siempre busc tener
dispositivos que le ayudaran a efectuar clculos
precisos y rpidos. Desde la aparicin de las
calculadoras binarias hasta nuestros das, hay muy
pocas actividades humanas que no estn ligadas
en una u otra forma a las mquinas electrnicas.
De tal forma podemos definir a la computadora
como UN DISPOSITIVO ELECTRNICO CUYO FIN
PRINCIPAL ES PROCESAR INFORMACION. capaz de
recibir un conjunto de instrucciones y ejecutarlas
realizando clculos sobre los datos numricos, o
compilando y correlacionando otros tipos de
informacin para obtener otro conjunto de datos o
informacin como respuesta.
13

La razn principal para que las


personas aprendan lenguajes y
tcnicas de programacin,
es
utilizar la computadora como una
herramienta
para
resolver
el
problema.
14

TEMA I
1.1 Breve historia sobre la computacin
EL ABACO:

Tuvo su origen hace al menos 5000 aos.

LA PASCALINA: Primera calculdora mecnica, ideada por Leonardo Da


Vinci e
inventada y diseada por Pascal (1623-1662), era muy
costosa.
BABBAGE
En 1834 concibi la idea de una "mquina analtica". La
cual
poda sumar, restar, multiplicar y dividir en secuencia
automtica
a una velocidad de 60 sumas por minuto.
LA PRIMERA
Joseph-Marie Jackard (1753-1834), inventa en
1801 el telar
TARJETA
de tejido, que opera de la manera siguiente: las
tarjetas se
PERFORADA
perforan estratgicamente y se acomodan en cierta
John para
secuencia
V. Atanasof
indicar un diseo
, catedrtico
de tejido
deenlaparticular.
Universidad
PIONEROS
Estatal de
DE LA
Iowa, desarroll la primera computadora digital
COMPUTACION
electrnica
entre los aos de 1937 a 1942.
15
Cliford Berry,fue una til ayuda en la construccin de

TEMA I
Generaciones De Computadoras
Primera

(1951 - 1958) Se emplearon bulbos o tubos al vacio.


Ej. UNIVAC I, IBM 701,
IBM 650

Segunda
Univac,

(1959-1964) Se utilizo el transistor, Burroughs,


NCR, CDC, entre otros.

Tercera

(1964-1971) circuitos integrados, IBM 360.

Cuarta
memoria.

(1971 a la fecha) Microprocesador , Chips de


IBM AT

Quinta
Manejo de

Igual a la cuarta, pero con mas eficiencia.


Multimedia.

16

History of Computers

From the earliest times the need to carry


out calculations has been developing.
The first steps involved the development
of counting and calculation aids such as
the counting board and the abacus.

17

History of Computers

Pascal (1623-62) was the son of a tax collector


and a mathematical genius. He designed the
first mechanical calculator (Pascaline) based on
gears. It performed addition and subtraction.
Leibnitz (1646-1716) was a German
mathematician and built the first calculator to do
multiplication and division. It was not reliable
due to accuracy of contemporary parts.
18

History of Computers

Babbage (1792-1872) was a British inventor who


designed an analytical engine incorporating the
ideas of a memory and card input/ouput for data and
instructions. Never actually built.
Babbage is largely remembered because of the work
of Augusta Ada (Countess of Lovelace) who was
probably the first computer programmer.
Burroughs (1855-98) introduced the first
commercially successful mechanical adding machine
1,000,000 were sold by 1926.

19

History of Computers

Hollerith developed an electromechanical


punched-card tabulator to tabulate the data for
1890 U.S. census. Data was entered on punched
cards and could be sorted according to the
census requirements. The machine was powered
by electricity. He formed the Tabulating Machine
Company which became International Business
Machines (IBM). IBM is currently the largest
computer manufacturer, employing in excess of
300,000 people.

20

History of Computers

Aiken (1900-73) a Harvard professor


with the backing of IBM built the Harvard
Mark I computer (51ft long) in 1944. It
was based on relays (operate in
milliseconds) as opposed to the use of
gears. It required 3 seconds for a
multiplication.
21

History of Computers

Eckert and Mauchly designed and built the ENIAC


in 1946 for military computations. It used vacuum
tubes (valves) which were completely electronic
(operated in microseconds) as opposed to the relay
which was electromechanical.
It weighed 30 tons, used 18000 valves, and
required 140 kwatts of power. It was 1000 times
faster than the Mark I multiplying in 3 milliseconds.
ENIAC was a decimal machine and could not be
programmed without altering its setup manually.

22

History of Computers

Atanasoff had built a specialised


computer in 1941 and was visited by
Mauchly before the construction of the
ENIAC. He sued Mauchly in a case which
was decided in his favour in 1974!

23

History of Computers

Von Neumann was a scientific genius and was a consultant


on the ENIAC project. He formulated plans with Mauchly and
Eckert for a new computer (EDVAC) which was to store
programs as well as data.
This is called the stored program concept and Von Neumann
is credited with it. Almost all modern computers are based on
this idea and are referred to as Von Neumann machines.
He also concluded that the binary system was more suitable
for computers since switches have only two values. He went
on to design his own computer at Princeton which was a
general purpose machine.

24

History of Computers

Alan Turing was a British mathematician who also made


significant contributions to the early development of
computing, especially to the theory of computation.
He developed an abstract theoretical model of a computer
called a Turing machine which is used to capture the
notion of computable i.e. what problems can and what
problems cannot be computed.
Not all problems can be solved on a computer.
Note: A Turing machine is an abstract model and not a
physical computer

25

First Generation Computers


(1951-58)

These machines were used in business for accounting


and payroll applications. Valves were unreliable
components generating a lot of heat (still a problem in
computers). They had very limited memory capacity.
Magnetic drums were developed to store information
and tapes were also developed for secondary
storage.
They were initially programmed in machine language
(binary). A major breakthrough was the development
of assemblers and assembly language.

26

Second Generation
(1959-64)

The development of the transistor revolutionised the


development of computers. Invented at Bell Labs in 1948,
transistors were much smaller, more rugged, cheaper to
make and far more reliable than valves.
Core memory was introduced and disk storage was also
used. The hardware became smaller and more reliable, a
trend that still continues.
Another major feature of the second generation was the use
of high-level programming languages such as Fortran and
Cobol. These revolutionised the development of software for
computers. The computer industry experienced explosive
growth.

27

Third Generation
(1965-71)

ICs (Integrated Circuits) were again smaller, cheaper,


faster and more reliable than transistors. Speeds went
from the microsecond to the nanosecond (billionth) to the
picosecond (trillionth) range. ICs were used for main
memory despite the disadvantage of being volatile.
Minicomputers were developed at this time.
Terminals replaced punched cards for data entry and disk
packs became popular for secondary storage.
IBM introduced the idea of a compatible family of
computers, 360 family, easing the problem of upgrading to
a more powerful machine

28

Third Generation
(1965-71)

Substantial operating systems were developed to


manage and share the computing resources and time
sharing operating systems were developed. These
greatly improved the efficiency of computers.
Computers had by now pervaded most areas of business
and administration.
The number of transistors that be fabricated on a chip is
referred to as the scale of integration (SI). Early chips
had SSI (small SI) of tens to a few hundreds. Later chips
were MSI (Medium SI): hundreds to a few thousands,.
Then came LSI chips (Large SI) in the thousands range.

29

Fourth Generation

VLSI allowed the equivalent of tens of thousand of


transistors to be incorporated on a single chip.
This led to the development of the
microprocessor a processor on a chip.
Intel produced the 4004 which was followed by
the 8008,8080, 8088 and 8086 etc. Other
companies developing microprocessors included
Motorolla (6800, 68000), Texas Instruments and
Zilog.

30

Fourth Generation

Personal computers were developed and IBM


launched the IBM PC based on the 8088 and 8086
microprocessors.
Mainframe computers have grown in power.
Memory chips are in the megabit range.
VLSI chips had enough transistors to build 20
ENIACs.
Secondary storage has also evolved at fantastic rates
with storage devices holding gigabytes (1000Mb = 1
Gb) of data.

31

Fourth Generation

On the software side, more powerful operating


systems are available such as Unix.
Applications software has become cheaper and
easier to use.
Software development techniques have vastly
improved.
Fourth generation languages 4GLs make the
development process much easier and faster.
32

Fourth Generation

Languages are also classified according to generations


from machine language (1GL), assembly language
(2GL), high level languages (3GL) to 4GLs.
Software is often developed as application packages.
VisiCalc a spreadsheet program, was the pioneering
application package and the original killer application.
Killer application: A piece of software that is so useful
that people will buy a computer to use that application.

33

Evolucin del computador y sistemas


operativos
El software le da vida a la mquina
Los programas son instrucciones electrnicas que le dicen a la
Computadora cmo realizar ciertas tareas.
Cuando una computadora est usando un programa en
particular, se dice que est corriendo o ejecutando el
programa.
El sistema operativo le dice a la computadora cmo interactuar
con el usuario y cmo usar los dispositivos de hardware
conectados a la computadora.
34

Evolucin del computador y sistemas operativos


Las formas de las computadoras actuales
Hay cuatro tipos de computadoras: Supercomputadoras,
Mainframes, Minicomputadoras y Microcomputadoras.
Las supercomputadoras son las computadoras ms potentes
en funcin del procesamiento. Son tiles para problemas que
requieren clculos complejos.
Las computadoras mainframes, que por lo general tienen
muchas terminales conectadas a ellas, manejan cantidades
muy grandes de entradas, salidas y de almacenamiento.
35

Evolucin del computador y sistemas operativos


Las formas de las computadoras actuales
Las minicomputadoras son ms pequeas que las mainframes,
pero ms grandes que las microcomputadoras. Por lo general
tienen mltiples terminales.
Las microcomputadoras son conocidas ms comnmente
como computadoras personales.

36

Evolucin del computador y sistemas operativos


Sistemas operativos de Microsoft
DOS domin el mercado de sistemas operativos durante los
80s, pero gradualmente se volvi obsoleto.
Windows 3.0, 3.1 y 3.11 son ambientes operativos que
proporcionan una GUI para computadoras que corren DOS.
Las ventajas de Windows 95 son su interfaz simplificada, su
multitareas de 32 bits y su capacidad para correr los programas
de Windows y DOS ms antiguos.
37

Evolucin del computador y sistemas operativos


Sistemas operativos de Microsoft
Las caratersticas de Windows 98 incluyen capacidades
avanzadas para Internet, una interfaz de usuario mejorada
llamada Escritorio Activo (Active Desktop) y un desempeo
reforzado del sistema de archivo.
Microsoft Windows NT ofreci una arquitectura de 32 bits
verdadera y excelentes capacidades para conexin en red.
Windows CE lleva muchas capacidades de Windows 95 a
dispositivos electrnicos de consumo, como los asistentes
personales digitales.
38

Evolucin del computador y sistemas operativos


Otros sistemas operativos para PCs
Macintosh ha sido un favorito desde hace mucho entre los
fanticos de la GUI, as como entre editores, desarrolladores
de multimedia, artistas grficos y escuelas, sobre todo debido
a su interfaz consistente, su capacidad de conexin en red
incorporada y su capacidad de conectar y usar para hardware.
El sistema operativo de IBM es el OS/2 Wrap, un sistema
multitarea para un solo usuario para mquinas basadas en
Intel.
UNIX fue el primer sistema operativo multiusuario, multiprocesamiento en computadoras personales, pero ha ido perdiendo
39
participacin en el mercado.

TEMA I
1.2 Evolucion de los lenguajes de Programacion
Ada Lovelace
En 1936
Eniac

Considerada la primera program. En tarjeta perforada, en la maquina


de Babagge
mquina de Turing, de Turing y Post .
programacin basada en componentes fsicos, se cambiaba cables
de sitio para conseguir as la programacin binaria. (segunda
guerra mundial )

Lenguajes
Maquina
son dependientes de la maquina
y Lenguajes
Ensambladores

La evolucin de los lenguajes de programacin ha


estado guiada por la evolucin de:
Las computadoras y sus sistemas operativos.
Las aplicaciones.
Los mtodos de programacin.
Los fundamento tericos.
La importancia dada a la estandarizacin.

40

TEMA I
1.3 Generacion de los lenguajes de Programacion
Lenguajes de Programacin: Es un conjunto de simbolos, caracteres
y reglas (programas) que le permiten a las personas comunicarse con la
computadora. Tienen un conjunto de instrucciones que nos perminten
realizar operaciones de entrada-salida, calculos, manejo de textos,
lgica/comparacin y almacenamiento-recuperacin.

Se dividen en:
Bajo nivel: Son dependientes de la mquina, estn diseados para
ejecutarse en una determinada computadora. A esta categora
pertenecen las 2 primeras generaciones.
Alto Nivel: Son independientes de la mquina y se pueden utilizar en una
variedad de computadoras. Pertenecen a esta categora la tercera y la
cuarta generacin. Los lenguajes de ms alto nivel no ofrecen
necesariamente mayores capacidades de programacin, pero si ofrecen
una interaccin programador/computadora ms avanzada. Cuanto ms
alto es el nivel del lenguaje, ms sencillo es comprenderlo y utilizarlo.

41

TEMA I
1.3 Generacion de los lenguajes de Programacion

Primera - Lenguaje de mquina: (1940-1950) Consista en


sucesiones de dgitos binarios. An en la actualidad, es el nico
lenguaje interno que entiende la computadora; los programas se
escriben en lenguajes de mayor nivel y se traducen a lenguaje de
mquina.

Una computadora comprende solo su lenguaje mquina o

Segunda Lenguajes ensambladores: Fines de los 50. Se


diferencian de los lenguajes de mquina en que en lugar de usar
cdigos binarios, las instrucciones se representan con smbolos fciles
de reconocer, conocidos como mnemotcnicos,. An se utilizan estos
lenguajes cuando interesa un nivel mximo de eficiencia en la ejecucin
o cuando se requieren manipulaciones intrincadas. Al igual que los
lenguajes de la mquina, los lenguajes ensambladores son nicos para
una computadora particular. Esta dependencia de la computadora los
hace ser lenguajes de bajo nivel.

42

TEMA I
1.3 Generacion de los lenguajes de Programacion
Tercera aos 60. Los lenguajes de esta generacin se dividen
en tres
categoras,
Segn se orientenRequieren
a:
Procedimientos:
que la codificacin de las
instrucciones se haga en la secuencia en que se deben
ejecutar para solucionar el problema.
se clasifican en cientficos (p.ej.: FORTRAN),
empresariales (v.g.: COBOL),
y de uso general o mltiple (p.ej.: BASIC).
Todos estos lenguajes permiten sealar cmo se debe efectuar
una tarea a un nivel mayor que en los lenguajes
ensambladores. Hacen nfasis los procedimientos o las
matemticas implcitas, en lo que hace(accin).

43

TEMA I
1.3 Generacion de los Lenguajes de Programacion
Problemas: Estn diseados para resolver un conjunto particular de
problemas y no requieren el detalle de la programacin que los
lenguajes orientados a procedimientos. Hacen hincapi en la entrada
y la salida deseadas
Objetos: El nfasis se hace en el objeto de la accin. Los beneficios
que aportan estos lenguajes incluyen una mayor productividad del
programador y claridad de la lgica, adems de ofrecer la
flexibilidad necesaria para manejar problemas abstractos de
programacin.
Cuarta: su caracterstica distintiva es el nfasis en especificar qu
es lo que se debe hacer, en vez de cmo ejecutar una tarea. Las
especificaciones de los programas se desarrollan a un ms alto nivel que
en los lenguajes de la generacin anterior. La caracterstica distintiva es
ajena a los procedimientos, el programador no tiene que especificar cada
paso para terminar una tarea o procesamiento.

44

TEMA I
1.3 Generacion de los Lenguajes de Programacion
Las caractersticas generales de los lenguajes de cuarta generacin son:

Uso de frases y oraciones parecidas al ingls para emitir


instrucciones;
No operan por procedimientos, por lo que permiten a los usuarios
centrarse
en lo que hay que hacer no en cmo hacerlo;
Al hacerse cargo de muchos de los detalles de cmo hacer las
cosas,
incrementan la productividad.
Hay dos tipos de lenguajes de cuarta generacin, segn se orienten:
1. A la produccin: Diseados sobre todo para profesionales en la
computacin.
1. Al usuario: Diseados sobre todo para los usuarios finales, que
pueden escribir programas para hacer consultas en una base de datos
y para crear sistemas de informacin. Tambin se llama lenguaje de
consultas (SQL, Structured Query Language: lenguaje estructurado
para consultas).

45

TEMA I
1.4 Origen del lenguaje C. El sistema Operativo Unix
El lenguaje C fue diseado en los aos sesenta por Dennis Ritchie, de los
Laboratorios Bell. El propsito era ser el lenguaje del sistema operativo
UNIX.
En 1978 Kernighan y Ritchie publican su descripcin en el libro "The C
Programming Language", versin que es llamada hoy en da 'K&R C'.
A mediados de los ochenta ya haba en el mercado numerosos
compiladores C, y muchas aplicaciones haban sido reescritas a l para
aprovechar sus ventajas.
Durante este periodo de tiempo numerosos fabricantes introducen
mejoras en el lenguaje, las cuales son recogidas por un comit de
estandarizacin ANSI y establecen las especificaciones de lo que se
El C tambin es un lenguaje poderoso, con l se puede conseguir que
conoce hoy en da como 'ANSI C'.
una computadora realice casi cualquier cosa posible de realizar con
una computadora.

46

History
Pre

1950 : the very first electronic computers

valves
no

OS

single

Pre

and relays
program with dedicated function

1960 : stored program valve machines

single
OS

job at a time
just consists of a program loader

programa

CPU

printer

47

1960: transistor machines

example: DEC PDP-8

first Edinburgh Univ. computer, 1965

4K 12-bit words of magnetic core memory; 1.5sec cycle time

RIM loader read in Binary loader

Binary loader read in executable from paper tape

a primitive BIOS

user program drives I/O devices directly

usually by polling

interrupts also possible

walk up and use computer

illustrates data rate mismatch problem

48

Post

1960 : Batch systems on mainframe computers


collections of jobs made up into a batch
example: IBM 1401/7094
card

decks spooled onto magnetic tape and from tape to

printer

example: English Electric Leo KDF9


first Edinburgh Univ. mainframe, 1968
32K 48-bit words, 2sec cycle time
punched paper-tape input walk-up service or spooling via mag tape

49

OS consisted of an input/output system for reading and writing


magnetic tapes and a command interpreter for JCL on cards

speed mismatch problem reduced with fast mag tape but not removed
pipelining allowed next job to be read in whilst results of previous job being
written to mag tape

50

TEMA I
1.5 Programacin
La programacin es la transmisin de instruciones a la
Computadora, a travs de un lenguaje de programacin.
La realizacin de un programa viene a solucionar un problema
especfico usando el computador. Toda la interfase o comunicacin con
el computador se realiza a travs de instruciones agrupadas en un
programa.
El beneficiado o perjudicado de la programacin es el usuario. Por
esta razn es conveniente que se tome en cuenta al programar.
Las fases de resolucin de un problema con computadora son:
Anlisis del problema.
Diseo del algoritmo.
algoritmo.

Ambas conducen a un
diseo detallado escrito en forma de

Codificacin.
Codigo escrito en un lenguaje de
programacin
Compilacin y ejecucin. traduce y ejecuta el programa
Verificacin y depuracin. Buscar y corregir errores
51

TEMA I
1.6 Caractersticas De Un Programador
Las caractersticas deseadas:
Buena documentacin
Claridad y simplicidad en la codificacin
Realizacin de programas eficientes
Modularidad en la realizacin de los programas
Generalidad en la codificacin. Contemple la
mayora
de las situaciones.

52

TEMA I
1.6 Caractersticas De Un Programador
Un buen programador conoce el ambiente en que desarrolla programas y puede
usarlo para hacer su labor en un corto tiempo.
Un programador que conoce bien sus herramientas es capaz de escribir un
sistema de informacin completo ms rpidamente que si usara cualquier lenguaje
de cuarta generacin (4GL).
La diferencia cualitativa es siempre significativa, pues en la mayora de los casos
el cdigo C++ es mucho ms claro y eficiente que el cdigo equivalente escrito en
el 4GL.
La ventaja del 4GL estriba en que programadores inexpertos pueden usarlo
rpidamente, aunque en general el programa que producen es de calidad precaria.
El programador debe ser capaz de medir el rendimiento de sus programas. Debe
conocer algoritmos sofisticados, y debe poder inventarlos si no existen. Debe
manejar la matemtica que le permita predecir el tiempo de ejecucin de un
programa, y la cantidad de memoria que ocupa. Debe conocer muchos mtodos
para organizar los datos que manipulan sus programas. De hecho, esta es la razn
que me movi cambios en la Tercera Prueba de Grado de la carrera de Sistemas de
Computacin de la Universidad.

53

TEMA I
1.6 Caractersticas De Un Programador
Un progradador Debe:
Ser capaz de medir el rendimiento de sus programas.
Conocer algoritmos sofisticados, y debe poder inventarlos si no existen.
Manejar la matemtica que le permita predecir el tiempo de ejecucin de un
programa, y la cantidad de memoria que ocupa.
Conocer muchos mtodos para organizar los datos que manipulan sus
programas.
Saber como crear una interfaz hombre-mquina apropiada.
Ser capaz de asegurar la calidad de su programa.
Buscar constantemente mejorar sus destrezas.
Conocer las herramientas de su profesin
Constantemente buscar mejorar su formacin

54

TEMA I
1.6 Caractersticas De Un Programa
PROGRAMA: Conjunto de instrucciones lgicas y ordenadas que deben
ser ejecutadas por la computadora para realizar una tarea determinada o
resolver un problema.
TIPOS DE PROGRAMAS

PROGRAMA FUENTE: es el programa escrito en alguno de los lenguajes y


que no ha sido traducido al lenguaje de la maquina, es decir el programa
que no est en cdigo de mquina y que por lo tanto no puede ser
ejecutable.
PROGRAMA OBJETO: Aquel programa que se encuentra en lenguaje
mquina y que ya es ejecutable por esta
OBJETIVOS DE LA PROGRAMACIN
En la preparacin de un programa, el programador podr escoger entre
diferentes soluciones en muchos puntos. Cada eleccin debe hacerse para
satisfacer los objetivos y restricciones de la tarea de programacin
particular.

55

TEMA I
1.6 Caractersticas De Un Programa
Caractersticas deseada:
Integridad. Se refiere a la exactitud de los clculos.
No tiene sentido que un programa refleje resultados
errneos.
Es decir, que la integridad en los
programas es absolutamente necesaria.
Claridad. Se refiere a la comprensin general del
programa, especialmente de la lgica del mismo. Si
un programa es escrito claramente, es posible que
cualquier programador pueda seguir su lgica sin
gran efuerzo. Adems el mismo programador que
realiz el programa podr entenderlo an haya
pasado gran cantidad de tiempo desde la ltima vez
que lo consult.
56

TEMA I
1.6 Caractersticas De Un Programa
Simplicidad.
La claridad y exactitud de un
programa buscan mantener las cosas lo ms simple
posible, consistente con los objetivos generales del
programa. En efecto, es mejor sacrificar cierto grado
de eficiencia en orden de mantener relativamente
simple la estructura del programa.
Eficiencia. Se refiere a la velocidad de ejecucin y
el uso eficiente de la memoria. Sin embargo, esta
no se debe obtener a cambio de claridad y
simplicidad.
Muchos
programas
complejos
necesitan negociar estas caractersticas.
La
experiencia y el sentido comn tendrn mucho que
57
ver en la decisin a tomar.

TEMA I
1.6 Caractersticas De Un Programa
Modularidad. Muchos programas pueden dividirse
en varias Subtareas identificables. Es una buena
prctica de programacin desarrollar cada subtareas
en mdulos separados de programas.

Generalidad.
Usualmente se quiere que un
programa sea lo ms general posible, dentro de los
lmites rasonables. Por ejemplo, es preferible hacer
un programa que capture cierta cantidad de
nmeros utilizando variables, en vez de tener esos
nmeros digitados dentro del programa como
constantes.
58

También podría gustarte