1 progest

29
1 Metodología de la Programación II 27/09/2009 M.Sc. Ing. Carlos Balderrama Vásquez  1  Programación Estructurada M.Sc. Ing. Carlos Balderrama Vásquez  2 27/09/2009 Objetivo General Que los estudiantes logren conocer y usar eficientemente las distintas estructuras de datos para desarrollar algoritmos más sencillos y óptimos y que ante distintas M.Sc. Ing. Carlos Balderrama Vásquez  3 27/09/2009  criterio apropiado las estructuras de datos más convenientes y apliquen las técnicas de programación más adecuadas

Upload: josephromeralo

Post on 13-Oct-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 1Metodologa de la Programacin IISIS 1101 B

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 1

    SIS 1101 B

    Programacin Estructurada

    M.Sc. Ing. Carlos Balderrama Vsquez 227/09/2009

    Objetivo General Que los estudiantes logren conocer y usar

    eficientemente las distintas estructuras de datos para desarrollar algoritmos ms sencillos y ptimos y que ante distintas situaciones problemticas decidan con

    M.Sc. Ing. Carlos Balderrama Vsquez 327/09/2009

    situaciones problemticas decidan con criterio apropiado las estructuras de datos ms convenientes y apliquen las tcnicas de programacin ms adecuadas

  • 2Objetivos Especficos

    Conocer cul es la estructura de un programa escrito con un lenguaje de alto nivel

    Distinguir distintos tipos de datos y las operaciones que se pueden realizar sobre ellos

    Conocer las instrucciones de entrada y salida Aplicar todos estos conocimientos a la

    resolucin de problemas sencillos

    M.Sc. Ing. Carlos Balderrama Vsquez 427/09/2009

    Bibliografa

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 5

    Bibliografa a Emplear Fundamentos De

    Programacin. Libro De Problemas. Algoritmos, Estructuras De Datos , Luis Joyanes Aguilar; Luis Rodrguez Baena; (McGRAW-HILL/INTERAMERICANA DE ESPAA,

    Programacion En C++, Luis Joyanes Aguilar Mcgraw-hill (2000, 1 edicin)

    M.Sc. Ing. Carlos Balderrama Vsquez 627/09/2009

    NA DE ESPAA, S.A.U.)

    Como Programar en C/C++ - H.M. Deitel / P.J. Deitel - Deitel, Deitel, Prentice Hall,

    Programacion En C++. Algoritmos, Estructura de datos, Joyanes Aguilar Luis, Mcgraw-hill (2006, 2 edicin)

  • 3Bibliografa Programacion en

    C++ Para Ingenieros (Spanish Edition)by Fatos Xhafa, Pere-Pau Vazquez Alcocer, and Jordi Marco Gomez (Paperback - Jul 2006)

    M.Sc. Ing. Carlos Balderrama Vsquez 727/09/2009

    2006)

    ftp://sistemas.edu.bo/cbalderrama/sis1101

    www.sistemas.edu.bo/modlee/sis1101

    Introduccin

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 8

    Que es un programa?

    La unin de una secuencia de instrucciones que un computador puede interpretar y ejecutar y un conjunto de p y j y jestructuras de datos que almacenan la informacin sobre la que la operan las instrucciones

  • 4Que es un lenguaje de programacin? Es una tcnica de comunicacin estilizada

    que se utiliza para controlar el comportamiento de una maquina ( l t t d )(usualmente un computador)

    Como los lenguajes humanos, los lenguajes de programacin tienen reglas sintcticas y semnticas para definir el significado

    Que es un lenguaje de programacin? Herramienta que permite a un

    programador especificar de manera precisa: sobre qu datos una p qcomputadora debe operar, cmo deben ser estos almacenados y transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias

    Que es un lenguaje de programacin? Ejemplos:

    PascalC/C++JAVAFORTRANLISP

  • 5M.Sc. Ing. Carlos Balderrama Vsquez 1327/09/2009

    Caractersticas de los lenguajes de programacin Tipos de datos Estructuras de datos Instrucciones y Control de flujo Instrucciones y Control de flujo Filosofa de diseo Compilacin e Interpretacin

    Paradigmas de programacin

    Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lgico Multiparadigma Orientado a objetos Scripting

  • 6Lenguajes Funcionales

    Definen programas y subrutinas como funciones matematicas

    Muchos de estos lenguajes estan unidos a Muchos de estos lenguajes estan unidos a herramientas de calculo matematico

    Ejemplos: Clean, Erlang, Haskell, Mathematica

    Lenguajes basados en logica

    Especifican un conjunto de atributos que una solucin debe tener, en vez de un conjunto de pasos para obtener la solucin

    En este paradigma se definen reglas lgicas y En este paradigma se definen reglas lgicas y luego un motor de inferencia lgico permite extraer conclusiones o responder a preguntas planteadas al sistema

    Ejemplos: ALF, Curry, Prolog, Oz

    Programacin imperativa Opuesta a la programacin declarativa,

    este paradigma describe la computacin en trminos de un estado del programa y d i t i bi di hde unas instrucciones que cambian dicho estado.

    Los programas imperativos son una secuencia de comandos para que el computador realice

  • 7Programacion Estructurada

    Hace uso de las estructuras de control de flujo

    Es Turing completa esto quiere decir que Es Turing completa, esto quiere decir que todo algoritmo computable puede ser escrito en trminos de programacin estructurada

    Programacin procedimental

    Es un paradigma de programacin basado en el concepto de llamado de procedimientos

    Procedimientos, tambien conocidos como rutinas subrutinas metodos o funcionesrutinas, subrutinas, metodos o funciones simplemente consienen series de pasos computacionales.

    Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecucion de un programa, incluyendo otros procedimientos o en l mismo

    Programacin Orientada a Objetos La idea detrs de la POO, es que un programa

    de computador puede ser visto como abarcando una coleccin de unidades individuales objetos que actan unos con otrosindividuales, objetos, que actan unos con otros

    Opuesto a la forma de ver tradicional en la cual un programa debe ser visto como una coleccin de procedimientos o simplemente una lista de instrucciones para el computador

  • 8Estructura de un programa en C++programa en C++

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 22

    Introduccin

    El lenguaje C se desarrolla a mediados de los aos 70 por B. Kernighan Y D. Ritchie.

    Ligado al sistema operativo UNIX.E l j d lt i l f ilid d d Es un lenguaje de alto nivel con facilidades de bajo nivel.

    Permite programacin estructurada (como Pascal o Mdula) y manipulacin de cantidades mnimas de informacin (como el ensamblador).

    Buen lenguaje para programar, pero mal lenguaje para aprender a programar.

    Introduccin

  • 9Versiones de C

    32 Palabras Reservadascharchar voidvoid defaultdefault returnreturn

    intint ifif breakbreak autoauto

    floatfloat elseelse continuecontinue externextern

    doubledouble dodo gotogoto registerregister

    longlong whilewhile structstruct constconst

    shortshort forfor unionunion staticstatic

    signedsigned switchswitch enumenum volatilevolatile

    unsignedunsigned casecase typedeftypedef sizeofsizeof

    Estructura del programa

    M.Sc. Ing. Carlos Balderrama Vsquez 2727/09/2009

  • 10

    Comentarios

    Comentarios multi-lnea Comienzan con /* y terminan con */ No puede anidarse un comentario dentro de otro.

    Comentarios de una sola lnea (C++, Java, Delphi). Comienzan al principio de la lnea con //

    Ejemplo:

    //Esto es un comentario/* Esto tambin es

    un comentario */

    # include Ciertos clculos se realizan de forma rutinaria en muchos programas y son

    escritos por casi todos los programadores. Por ejemplo el calculo de una raz cuadrada es una serie de operaciones matemticas que seria largo y extenso de calcular para cada programa, en borland c++ para facilitar esto se ofrecen al programador las bibliotecas de funciones que realizan las operaciones comunes. Con las bibliotecas, solo necesitamos una instruccin de llamada a cada funcin.

    Las funciones de biblioteca no solo realizan operaciones matemticas, sino manipulan muchas otras operaciones comunes. Por ejemplo, hay funciones de biblioteca que realizan operaciones de lectura y escritura de discos.

    Las bibliotecas son suministradas al compilador generalmente en la cabecera del programa y son todas de extensin .h. Aqu se incluye una lista de las mas utilizadas, hay ms, que debes buscar en la bibliografa adecuada.

    M.Sc. Ing. Carlos Balderrama Vsquez 2927/09/2009

    Bibliotecas

    M.Sc. Ing. Carlos Balderrama Vsquez 3027/09/2009

  • 11

    Identificadores Se utilizan para nombrar variables,

    funciones, etiquetas y elementos definidos por el usuario.

    Los primeros seis caracteres deben ser significativos (distinguirse de otro similar) ysignificativos (distinguirse de otro similar) y mximo puede tener hasta 31 caracteres.

    El primer carcter debe de ser una letra o subguin. Posteriormente pueden ser letras, nmeros, signos de subrayado.

    Existe diferencia entre maysculas y minsculas.

    Identificadores

    1 No pueden emplearse palabras reservadas como identificadores.

    1 No pueden emplearse nombres de1 No pueden emplearse nombres de funciones que ya existan en el programa o en la librera de funciones de C.

    1 No puede llamarse main.

    Convenciones Empezar los nombres de funciones y de variables

    con una letra minscula. Las constantes escritas con #define van con

    maysculas como #define PI 3.1416 Las palabras intermedias comienzan con p

    maysculas.sumaMatrices

    Utilizar el subguin para separar palabras intermedias.suma_Matrices

    Emplear nombres cortos para optimizar. (i, j, k, cont)

  • 12

    Constantes

    Constantes de carcter.Ej. a, 0, \0x5, \0, \n, \t, $, \\, NULL

    Constantes enteras.Ej 5 +5 5 \05 \0 5 5L 5U 5l tEj. 5, +5, -5, \05, \0x5, 5L, 5U, 5lu, etc.

    Constantes reales.Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5, etc.

    Constantes de texto (Cadenas o Strings)Esto es una cadena

    # define Se utiliza para asignar un identificador a

    una constante.#define PI 3.1416#define NCOLS 20

    El pre-procesador de C, sustituye la ocurrencia de PI por el valor 3.1416 en todo el programa antes de efectuar la compilacin, del mismo modo se sustituye NCOLS por 2.

    Variables Una variable es una localidad de memoria

    cuyo valor puede ser cambiado durante la ejecucin del programa.

    Todas las variables deben de ser declaradas para se utilizadas. espacio(s) ; Ejemplo:

    int a;float area, radio, volumen;

  • 13

    const Es un modificador de acceso que me

    permite asignar a una variable un valor constante, es decir que una vez asignado a dicha variable su valor no podr ser modificado durante el programamodificado durante el programa.const esp = valor;

    Ejemplo:const int a=10;const char pais[]=MXICO;const char *nombre=VLADIMIR;

    volatile Es un modificador de acceso que me

    permite cambiar el valor de una variable por medios no explcitamente especificados por el programa. Por p p p gejemplo la direccin de una variable global que apunta a un puerto externo.volatile esp =

    valor; Ejemplo:

    volatile unsigned char *puerto = 0x30;

    Datos tipo enteros: unsigned: sin signo signed: con signo unsigned short: corto sin signo signed short: corto con signo unsigned long: largo sin signo signed long: largo con signo

    M.Sc. Ing. Carlos Balderrama Vsquez 3927/09/2009

  • 14

    Datos tipo carcter

    unsigned: sin signo signed: con signo

    Datos tipo real double: doble signed: doble largo

    M.Sc. Ing. Carlos Balderrama Vsquez 4027/09/2009

    M.Sc. Ing. Carlos Balderrama Vsquez 4127/09/2009

    Operadores Son palabras o smbolos que implican una

    accin sobre ciertas variables. Pueden ser unarios (1 variable), binarios(2 variables) o ternarios (3 variables).

    Operadores AritmticosO d R l i l Operadores Relacionales

    Operadores Lgicos Operadores de Asignacin Operadores de Direccin Operadores de Bits

  • 15

    Operadores Aritmticos

    Operador Nombre Descripcin

    + Suma 5+2 7

    - Resta 5-2 3

    * Multiplicacin 5*2 10

    / Divisin 5/2 2

    % Mdulo 5%2 1

    (tipo de dato) Cast forzado (double)5 5.0

    Operadores RelacionalesOperador Nombre Descripcin

    == Igual a if (a==s)

    != Diferente de if (a!=null)

    > Mayor que if (a>0.5)

    < Menor que if (a= Mayor o igual que if (a>=2f)

  • 16

    Operadores de AsignacinOperador Abreviado No Abreviado

    = a=2; a=2;

    ++ n++; n=n+1;

    n ; n=n 1;-- n--; n=n-1;

    += n+=2; n=n+2;

    -= n-=2; n=n-2;

    *= n*=2; n=n*2;

    /= n/=2; n=n/2;

    %= n%=2; n=n%2;

    Operadores de BitsOperador Nombre Descripcin

    >2;

    >> Corrimiento a la b=a

  • 17

    Operadores De Direccin

    Operador Nombre Descripcin

    * Operador indireccin

    Me da el valor que est almacenado en una direccin de memoria.direccin de memoria.

    Tambin sirve para declarar una variable apuntador.

    & Operador direccin

    Me da la direccin de memoria de una variable.

    Precedencia de Operadores( ) [ ] -> Alta prioridad! ~ + - ++ -- & * sizeof Unarios* / % + - Aritmticos> Corrimiento de bits> Corrimiento de bits< >= == != Relacionales& ^ | && || ?: Bits / Lgicos / Condicional= *= /= %= += -= &=^= |= =

    Asignacin

    , Evaluacin

    Ejemplo#include #include #define VALOR 5.7double modulo3D( double x, double y, double z );double mod3; /* Variable global */double modulo3D( double x, double y, double z ){return(sqrt(x*x+y*y+z*z);

    }

    int main( void ){int x, y, z;x=y=z=VALOR;mod3=modulo3D(x,y,z);printf(\nEl mdulo es: %lf,mod3);return(0);

    }

  • 18

    Funciones de Entrada y SalidaEntrada y Salida

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 52

    ENTRADA - SALIDA ESTANDAR Son funciones definidas en la librera estndar. Para

    usarlas es necesario incluir el fichero de cabecera de las funciones

    #include

    Estas funciones son: printf( ) Salida de datos con formato scanf( ) Entrada de datos con formato getchar( ) Entrada de caracteres. 1 caracter putchar( ) Salida de caracteres. 1 caracter fflush( ) Borrado del buffer del teclado.

    M.Sc. Ing. Carlos Balderrama Vsquez 5327/09/2009

    funcion printf ( ) Escribe una serie de caracteres en la salida

    estndar (pantalla). Prototipo int printf (conts char *formato int printf (conts char formato

    [,argumentoJ); Devuelve: Nmero de caracteres escritos.

    float pi=3.141596; printf("El nmero pi vale %f ,pi);

    M.Sc. Ing. Carlos Balderrama Vsquez 5427/09/2009

  • 19

    Formato: Cadena de caracteres, entre comillas dobles, que especifica cmo va a ser la salida. Incluye caracteres y especificaciones de formato.

    Argumento: Indica las variables a escribir.E ifi i d f t Especificaciones de formato:

    % [ancho] [.precision] ancho: Mnimo nmero de posiciones

    reservadas para la salida. precisin: Mnimo nmero de posiciones

    reservadas para la parte decimal.M.Sc. Ing. Carlos Balderrama Vsquez 5527/09/2009

    Caracteres de Control

    M.Sc. Ing. Carlos Balderrama Vsquez 5627/09/2009

    funcion scanf ( ) Lee datos de la entrada estndar (teclado) , los

    interperta y los almacena en los argumentos. Incluye caracteres y especificaciones de formato.

    Prototipo int scanf (conts char *formato [,argumento]...);

    Devuelve: El nmero de datos ledos. Si es cero indica que

    no han sido asignados datos.

    M.Sc. Ing. Carlos Balderrama Vsquez 5727/09/2009

  • 20

    Formato: Cadena de caracteres, entre comillas dobles, que especifica cmo van a ser introducidos los datos.

    Segn se especifique en el formato , as debern ser introducidos los datos.A t I di l di i d Argumento: Indica las direcciones de variables que almacenarn los datos (&).

    int a; float b; char c; scanf(%d %f %c" , &a, &b , &c) ; 5 2.3 b

    M.Sc. Ing. Carlos Balderrama Vsquez 5827/09/2009

    #include void main (void){ int a,r; // declaramos dos enteros

    float b; //declaramos un realchar c, s[20]; // declaramos un carcter y una cadenaprintf (Introducir un entero, un real y un carcter :\n);

    f (%d %f % & &b & )r=scanf (%d %f %c, &a, &b, &c);printf (N de datos leidos: %d,r);printf (Datos leidos: %d %f %c,a,b,c);

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 5927/09/2009

    #include void main(void){ char nombre[20], apellido[20];

    printf (Introduce el nombre: );scanf (%s, nombre); //solo lee hasta el primer

    // espaciofflush (stdin);printf (\nApellidos: );scanf ( ,apellidos);printf (\n\nNombre y Apellidos: %s %s ,nombre,apellidos);

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 6027/09/2009

  • 21

    # include

    Biblioteca de E/S por consola Este programa usa la definicin de cout

    para escribir por consola y cin para leerpara escribir por consola y cin para leer informacin del teclado.

    M.Sc. Ing. Carlos Balderrama Vsquez 6127/09/2009

    M.Sc. Ing. Carlos Balderrama Vsquez 6227/09/2009

    Ejercicios

    1.- Escrbase un programa C que produzca por pantalla el siguiente mensaje:

    Hola, estamos en clase.,

    2.- Imprimir por pantalla:

    Hola,estamos enclase.

  • 22

    Ejercicios (continuacin)

    3.- Escribir un programa C que lea tres enteros y en diferentes lneas imprima:

    A) El valor de su suma.El l d diB) El valor de su media.

    C) El valor del producto.

    4.- Escribir un programa C que lea cuatro enteros y en diferentes lneas imprima el valor del mayor y el valor del menor.

    Estructuras de controlcontrol

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 65

    Estructura Condicional (if) La forma mas simple de la estructura es:

    if (expresion) accion ;

    La sintaxis de una instruccin if asociada con un bloque de instrucciones es:

    if (expresion) { Accion1; Accion2; Accion3; }

    M.Sc. Ing. Carlos Balderrama Vsquez 6627/09/2009

  • 23

    Estructura Condicional (if) La forma completa de la estructura es: if (expresion) Accion1; else Accion2;

    La sintaxis de una instruccin if asociada con un La sintaxis de una instruccin if asociada con un bloque de instrucciones es:

    if (expresion) { Accion1; Accion2; Accion3; }

    else { Accion4; Accion5; Accion6; }

    M.Sc. Ing. Carlos Balderrama Vsquez 6727/09/2009

    #include < stdio.h >#define SI 1 //similar a una etiqueta con un valor#define NO 0void main(void){ char ch;int mayu, numero, otro;mayu=numero=otro= NO // las igualamos todas a NOprintf("\n Introduzca un caracter ");printf( \n Introduzca un caracter... );scanf(" %c", &ch);if ( ch > = 'A' && ch < = 'Z' ) mayu = SIelse if ( ch > = '0' && ch < = '9') numero = SI;else otro = SI

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 6827/09/2009

    #include < stdio.h >void main(void) /* Menor de 3 numeros * I{ int x,y ,z;printf(" \nlntroduzca los 3 numeros.") ;scanf(%d %d %d", &x, &y, &z);if (x

  • 24

    #include #include #include #include #pragma hdrstop#pragma argsusedint main(int argc, char* argv[]){ int a,b,c,d;float real,ima;clrscr();printf("Introduzca los valores de a,b,c\n");scanf("%d %d %d",&a,&b,&c);if ( a== 0 && b== 0) printf("\n Ecuacin degenerada ");

    else if( a==0) printf("\n La raiz es %f", -c/b);else {real = -b / (2*a);

    d = b*b -4*a*c;ima = sqrt ( fabs(d) / 2 * a);if( d >= 0)

    printf("\n Raices reales: %f, %f", real+ima, real-ima);else { printf("\n Raices complejas: ");

    printf("\n %f + %f", real, fabs(ima));printf("\n %f - %f", real, fabs(ima));

    }}

    getch();return 0;

    }M.Sc. Ing. Carlos Balderrama Vsquez 7027/09/2009

    Estructura condicional (switch) Estructura de seleccin multipleswitch ( opcion){

    case 1: ...;break;

    case 2: ...;break;

    case 5: ...;break;

    default: ....;}

    M.Sc. Ing. Carlos Balderrama Vsquez 7127/09/2009

    #include < stdio.h >void main (void){ int numero ;printf("\n Introduzca un numero ");scanf('1 %d", &numero);switch(numero ){ 0 i tf("\ E CERO "){ case 0: printf("\n Es un CERO ");

    break;case 1: printf("\n Es un UNO ");

    break;default: printf("\n No ni CERO ni UNO

    ");}

    } M.Sc. Ing. Carlos Balderrama Vsquez 7227/09/2009

  • 25

    #include < stdio.h > void main(void) { float salida[100] ,t; int opcion; printf("\n Introduzca una opcion "); scanf(" %d" , &opcion); switch( opcion ) {case 0: /* Rampa * / for(t=0; t

  • 26

    #include void main(void){ int numero = 0;

    while ( numero < 10){ i f ( \ d d{ printf ("\n EI cuadrado es

    %d", numero*numero );numero++;

    }}

    M.Sc. Ing. Carlos Balderrama Vsquez 7627/09/2009

    Estructura repetitiva (do)

    do accion while (condicon); Bucle con condicin de salida.do {do {

    Accion1; Accion2; Accion3;

    } while ( condicion ) ;

    M.Sc. Ing. Carlos Balderrama Vsquez 7727/09/2009

    #include void main(void){ int conta=0;do { conta++;

    printf ("\n EI valorprintf ( \n EI valor es %d", conta );} while ( conta < 10);

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 7827/09/2009

  • 27

    #include void main(void){ char ch;do { scanf("%c", &ch);

    printf("\n%c",ch);} while ( ch != * );

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 7927/09/2009

    Estructura repetitiva (for)

    for ( i=... , i=... , incr i ) accion1;

    M.Sc. Ing. Carlos Balderrama Vsquez 8027/09/2009

    #include void main(void){ int conta;for( conta = 0; conta < 10; conta = conta +1 )printf ("\n EI valor es %d", conta ); Jprintf("\n Ha terminado el bucle. Conta = %d", conta );

    }

    M.Sc. Ing. Carlos Balderrama Vsquez 8127/09/2009

  • 28

    #include < stdio.h >void main(void) /* Factoriales de los numeros entre

    1 y 5{ int t, aux;int fac;for (t=1; t< =5; t++){ aux = t;fac = 1;do { fac = fac * aux.

    aux--; // Rutina de factorial} while ( aux > 0);printf('.\n E1 factorial de %d es %d", t, fac);

    }}

    M.Sc. Ing. Carlos Balderrama Vsquez 8227/09/2009

    Gracias

    27/09/2009 M.Sc. Ing. Carlos Balderrama Vsquez 83

    Consultas a:[email protected]

    Ejercicios (continuacin)6.- La relacin entre grados Celsius y grados Fahrenheit es la siguiente:C=(5/9)(F-32)

    Escrbase un programa C usando la es tructura while que imprima doscolumnas de enteros, la primera debe contener los mltiplos de 20 comenzando en cero y terminando en 300 que indican grados Fahrenheit, la segunda debe contener

    di t d C l i d d d l t d isus correspondientes grados Celsius redondeados a valor entero, es decir:

    0 -1740 4..

    20 -6300 148

    Nota: utilizar el carcter \t que inserta un tabulador entre dos valores.7.- Reescrbase el programa del ejercicio 6 utilizando una estructura for.

  • 29

    Ejercicios (continuacin)

    8.- Programacin del comando cat. Se trata de escribir un programa que emule el comando cat> nombre_fichero diponible en UNIX. Para ello escrbase un programa llamado micat.c con

    j t bl ll d i t t t tejecutable llamado micat que tome un texto por el teclado finalizado en punto y lo reproduzca en la pantalla. As la orden micat >nombre tomar un texto desde el teclado y lo pondr en el fichero nombre.Utilizar el programa micat para copiar ficheros y para visualizarlos por la pantalla.

    Ejercicios (continuacin)

    9.- Comando wc de UNIX. Disear un programa que cuente el nmero de caracteres, lneas y palabras de un fichero , y pde texto.

    Ejercicios (continuacin)10.- Escribir programas que impriman los siguientes patrones por

    separado, uno debajo del siguiente.

    * ************ ************ ************ ************ ************ ************ ************ ************ ************ *