Click here to load reader

E-mail: [email protected] Prof. Yesika Medina ESTRUCTURAS DE DATOS OBJETIVO II: DEFINIR LOS ELEMENTOS BÁSICOS

Embed Size (px)

Citation preview

ALGORITMO, ESTRUCTURAS Y PROGRAMACIN II

E-mail: [email protected]://yesikamedina.wordpress.comProf. Yesika MedinaESTRUCTURAS DE DATOSOBJETIVO II: DEFINIR LOS ELEMENTOS BSICOS DEL LENGUAJE C.

Lenguajes de programacin.

Programacin estructurada. Lenguaje C.

Instrucciones de Condicin, Simple, Anidada.

Bibliotecas stdio.h, conio.h, stdlib.h, math.hUNIDAD II: FUNDAMENTOS DE LA PROGRAMACIN ESTRUCTURADA.Un programa se escribe en un lenguaje de programacin y las operaciones que conducen a expresar un algoritmo en forma de programa se llaman programacin. As pues, los lenguajes utilizados para escribir programas de computadoras son los lenguajes de programacin y programadores son los escritores y diseadores de programas.

Los principales tipos de lenguajes utilizados en la actualidad son tres:Lenguajes mquina.Lenguaje de bajo nivel (ensamblador).Lenguajes de alto nivel.LENGUAJES DE PROGRAMACIN. .LENGUAJES MQUINA. son aquellos que estn escritos en lenguajes directamente inteligibles por la mquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres-dgitos- O y 1) que especifican una operacin, y las posiciones (direccin) de memoria implicadas en la operacin se denominan instrucciones de mquina o cdigo mquina. El cdigo mquina es el conocido cdigo binario.

LENGUAJE DE BAJO NIVEL (ENSAMBLADOR). son ms fciles de utilizar que los lenguajes mquina, pero, al igual, que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensumhlacfor (assembly languuje). Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nernotcnicos (mnemonics). Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingls, ADD, SUB, DIV, etc.; en espaol, SUM, RES, DIV, etc.

UNIDAD II: FUNDAMENTOS DE LA PROGRAMACIN ESTRUCTURADA.Son los ms utilizados por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes mquina y ensambladores.

Otra razn es que un programa escrito en lenguaje de alto nivel es independiente de la mquina; esto es, las instrucciones del programa de la computadora no dependen del diseo del hardware o de una computadora en particular.

En consecuencia, los programas escritos en lenguaje de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras; al contrario que los programas en lenguaje mquina o ensamblador, que slo se pueden ejecutar en un determinado tipo de computadora.LENGUAJES DE ALTO NIVEL. C es un lenguaje de programacin que contiene excelentes caractersticas como lenguaje para aprendizaje de programacin y lenguaje profesional de propsito general; bsicamente es un entorno de programacin con editor y compilador incorporado.

C es una evolucin de los lenguajes BCPL -desarrollado por Martin Richards- y B desarrollado por Ken Thompson en 1970- para el primitivo UNIX de la computadora DEC PDP-7.

C naci realmente en 1978, con la publicacin de The C Programming Languaje, por Brian Kernighan y Dennis Ritchie (Prentice Hall, 1978). Desde su nacimiento, C fue creciendo en popularidad y los sucesivos cambios en el lenguaje a lo largo de los aos junto a la creacin de compiladores por grupos no involucrados en su diseo, hicieron necesario pensar en la estandarizacin de la definicin del lenguaje C.Lenguaje C.El lenguaje C es poderoso y flexible, con rdenes, operaciones y funciones de biblioteca que se pueden utilizar para escribir la mayora de los programas que corren en la computadora.

C se utiliza por programadores profesionales para desarrollar software en la mayora de los modernos sistemas de computadora.

Se puede utilizar C para desarrollar sistemas operativos, compiladores, sistemas de tiempo real y aplicaciones de comunicaciones.

Un programa C puede ser escrito para un tipo de computadora y trasladarse a otra computadora con pocas o ninguna modificacin -propiedad conocida como portabilidad-. El hecho de que C sea portable es importante ya que la mayora de los modernos computadores tienen un compilador C, una vez que se aprende C no tiene que aprenderse un nuevo lenguaje cuando se escriba un programa para otro tipo de computadora. No es necesario reescribir un problema para ejecutarse en otra computadora.VENTAJAS DEL LENGUAJE C. Una nueva sintaxis para declarar funciones. Una declaracin de funcin puede aadir una descripcin de los argumentos de la funcin. Esta informacin adicional sirve para que los compiladores detecten ms fcilmente los errores causados por argumentos que no coinciden.Asignacin de estructuras (registros) y enumeraciones.Preprocesador ms sofisticado.Una nueva definicin de la biblioteca que acompaa a C. Entre otras funciones se incluyen: acceso al sistema operativo (por ejemplo, lectura y escritura de archivos), entrada y salida con formato, asignacin dinmica de memoria, manejo de cadenas de caracteres.Una coleccin de cabeceras estndar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos.CARACTERISTICAS DEL LENGUAJE C. La programacin modular es uno de los mtodos de diseo ms flexible y potentes para mejorar la productividad de un programa. En programacin modular el programa se divide en mdulos (partes independientes), cada una de las cuales ejecuta una nica actividad o tarea y se codifican independientemente de otros mdulos. Cada uno de estos mdulos se analizan, codifican y ponen a punto por separado.

Cada programa contiene un mdulo denominado progruma principul que controla todo lo que sucede; se transfiere el control a submdulos (posteriormente se denominarn subprogramas), de modo que ellos puedan ejecutar sus funciones; sin embargo, cada submdulo devuelve el control al mdulo principal cuando se haya completado su tarea. Si la tarea asignada a cada submdulo es demasiado compleja, ste deber romperse en otros mdulos ms pequeos.

El proceso sucesivo de subdivisin de mdulos contina hasta que cada mdulo tenga solamente una tarea especfica que ejecutar. Esta tarea puede ser entrada, salidu, manipulacin de datos, control de otros mdulos o alguna combinacin de stos. Un mdulo puede transferir temporalmente (hifurcur) el control a otro mdulo; sin embargo, cada mdulo debe eventualmente devolver el control al mdulo del cual se recibe originalmente el control.

Los mdulos son independientes en el sentido en que ningn mdulo puede tener acceso directo a cualquier otro mdulo excepto el mdulo al que llama y sus propios submdulos. Sin embargo, los resultados producidos por un mdulo pueden ser utilizados por cualquier otro mdulo cuando se transfiera a ellos el control.PROGRAMACIN MODULARLos trminos programacin modular; programacin descendente y programacin estructurada se introdujeron en la segunda mitad de la dcada de los sesenta y a menudo sus trminos se utilizan como sinnimos aunque no significan lo mismo. La programacin modular y descendente ya se ha examinado anteriormente. La programacin estructurada significa escribir un programa de acuerdo a las siguientes reglas:

El programa tiene un diseo modular.Los mdulos son diseados de modo descendente.Cada mdulo se codifica utilizando las tres estructuras de control bsicas: secuencia, seleccin yrepeticin.Si est familiarizado con lenguajes como BASIC, Pascal, FORTRAN o C, la programacinestructurada significa tambin progrumacin sin GOTO (C no requiere el uso de la sentenciaGOTO).

El trmino programacin estructurada se refiere a un conjunto de tcnicas que han ido evolucionando desde los primeros trabajos de Edgar Dijkstra. Estas tcnicas aumentan considerablemente la productividad del programa reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los programas y, por consiguiente, reducen los errores; hace los programas ms fciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una estructura.

La programacin estructurada es el conjunto de tcnicas que incorporan:

recursos abstractos,diseo descendente (top-down),estructuras bsicas.PROGRAMACIN ESTRUCTURADAUNIDAD II: FUNDAMENTOS DE LA PROGRAMACIN ESTRUCTURADA.

Un identificador es una secuencia de caracteres, letras, dgitos y subrayados (_). El primer carcter debe ser una letra (algn compilador admite carcter de subrayado). Las letras maysculas y minsculas son diferentes.

nombre-clase Indice elementomayor Cantidad-Totaa Habitacionl20 Dia_Mes_Anyo Fecha-Compra-Casa

En Borland C/C++ el identificador puede ser de cualquier longitud; sin embargo, el compilador ignora cualquier carcter fuera de los 32 primeros.C es sensible a las maysculas. Por consiguiente, C reconoce como distintos los identificadores ALFA, al f a y ALFa. (Le recomendamos que utilice siempre el mismo estilo d escribir sus identificadores.) Un consejo que puede servir de posible regla puede ser:

1. Escribir identificadores de variables en letras minsculas.2. Constantes en maysculas.3. Funciones con tipo de letra mixto: maysculdminscula.

Reglas bsicas de formacin de identificadores

1. Secuencia de letras o dgitos; el primer carcter puede ser una letra o un subrayado.

2. Los identificadores son sensibles a las maysculas: . minun es distinto de MiNum .

3. Los identificadores pueden tener cualquier longitud, pero slo son significativos los 32.

4. Los identificadores no pueden ser palabras reservadas, tales como if, switch o else.

IDENTIFICADORESUna palabra reservada (keyword o resewed word), tal como void es una caracterstica del lenguaje C , asociada con algn significado especial. Una palabra reservada no se puede utilizar como nombre de identificador o funcin.

void void( ) / * error * /. . .int char; / * error * /. . .Los siguientes identificadores estn reservados para utilizarlos como palabras reservadas, y no sedeben emplear para otros propsitos.asm enum signed auto extern sizeof break float static Case for struct char goto switch const if typedef Continue default do double else int unio long unsigned register void return vol at i 1 e short whilePalabras reservadasYa se ha expuesto antes que los comentarios en C tienen el formato:/ * . . . * /Los comentarios se encierran entre / * y * / pueden extenderse a lo largo de varias lneas.

/ * Titulo: Demo-uno por Mr. Martinez * /

Otra forma, el comentario en dos lneas:/ * Cabecera del programa text-unoAutor: J.R. Mazinger * /

ComentariosTodas las sentencias deben terminar con un punto y coma. Otros signos de puntuacin son:

! % & * o - + = { } - [ ] \ ; : < > ? , . / I /

Los separadores son espacios en blanco, tabulaciones, retornos de carro y avances de lnea.

Signos de puntuacin y separadoresEs un archivo especial que contiene declaraciones de elementos y funciones de la biblioteca. Para utilizar macros, constantes, tipos y funciones almacenadas en una biblioteca, un programa debe utilizar la directiva #include para insertar el archivo de cabecera correspondiente. Por ejemplo, si un programa utiliza la funcin pow que se almacena en la biblioteca matemtica math.h,debe contener la directiva#include para hacer que el contenido de la biblioteca matemtica est disponible a un programa. La mayora de los programas contienen lneas como sta al principio, que se incluyen en el momento de compilacin.#include #include "stdio. h"

Archivos de cabeceraEl preprocesador en un programa C se puede considerar como un editor de texto inteligente que consta de directivas (instrucciones al compilador antes de que se compile el programa principal). Las dos directivas ms usuales son #include y #define.Todas las directivas del preprocesador comienzan con el signo de libro o almohadilla>>(# ), que indica al compilador que lea las directivas antes de compilar la parte (funcin) principal del programa. Las directivas son instrucciones al compilador. Las directivas no son generalmente sentencias, obsrvese que su lnea no termina en punto y coma-, sino instrucciones que se dan al compilador antes de que el programa se compile. Aunque las directivas pueden definir macros, nombres de constantes, archivos fuente adicionales, etc., su uso ms frecuente en C es la inclusin de archivos de cabecera.

Existen archivos de cabecera estndar que se utilizan ampliamente, tales como STDIO . H, STDLIB . H, MATH. H, STRING. H y se utilizarn otros archivos de cabecera definidos por el usuario para diseo estructurado.

La directiva #include indica al compilador que lea el archivo fuente que viene a continuacin de ella y su contenido lo inserte en la posicin donde se encuentra dicha directiva. Estos archivos se denominan archivos de cubecera o archivos de inclusin.

Los archivos de cabecera (archivos con extensin . h contienen cdigo fuente C) se sitan en unprograma C mediante la directiva del preprocesador #include con una instruccin que tiene elsiguiente formato : #include O bien #include "nombrearch.h"

DIRECTIVAS DEL PREPROCESADOR TIPOS DE DATOS

Especificadores de Formatos.

Secuencias de Escape.

UNIDAD II: FUNDAMENTOS DE LA PROGRAMACIN ESTRUCTURADA.

Un comentario es cualquier informacin que se aade a su archivo fuente para proporcionar documentacin de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea concreta. El uso de comentarios es totalmente opcional, aunque dicho uso es muy recomendable.Generalmente, se considera buena prctica de programacin comentar su archivo fuente tanto como sea posible, al objeto de que usted mismo y otros programadores puedan leer fcilmente el programa con el paso de tiempo. Es buena prctica de programacin comentar su programa en la parte superior de cada archivo fuente. La informacin que se suele incluir es el nombre del archivo, el nombre del programador, una breve descripcin, la fecha en que se cre la versin y la informacin de la revisin.

Los comentarios en C estndar comienzan con la secuencia / * y terminan con la secuencia * /.Todo el texto situado entre las dos secuencias es un comentario ignorado por el compilador./* PRUEBA1.C - Primer programa C * /Si se necesitan varias lneas de programa se puede hacer lo siguiente:/ *Programa : PRUEBA1.CProgramador : Pepe MortimerDescripcin : Primer programa CFecha creacin : Septiembre 2000Revis in : Ninguna*/

Tambin se pueden situar comentarios de la forma siguiente: scanf ("%d" , &x) ; / * sentencia de entrdda de un valor entero*/.

COMENTARIOS#include / * Este programa imprime: Bienvenido a la programacin en C * /int main(){printf("Bienvenid0 a la programacin en C\n");return O;}EJEMPLO.Nunca consideres el estudio como una obligacin, sino como una oportunidad para involucrarte en el bello y maravilloso mundo del saber.