]> git.r.bdr.sh - rbdr/r.bdr.sh/blob - jekyll/cursoc/index.htm
Transfer the old stuff
[rbdr/r.bdr.sh] / jekyll / cursoc / index.htm
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3 <head>
4 <title>Curso Intensivo C - ITESM Campus Ciudad Juarez - Sep-Oct 2010</title>
5
6 <link rel="stylesheet" type="text/css" href="./style.css" title="default" />
7
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
9 </head>
10 <body>
11 <div id="wrapper">
12 <h1>Curso Intensivo de C</h1>
13 <h2>Instructor</h2>
14 <ul>
15 <li>Rubén Beltrán del Río &mdash; &#098;&#101;&#110;&#064;&#110;&#115;&#111;&#118;&#111;&#099;&#097;&#108;&#046;&#099;&#111;&#109;</li>
16 </ul>
17 <h2>Ligas de Interes</h2>
18 <ul>
19 <li><a href="./syllabus-curso-c.pdf">Syllabus</a> &mdash; <em>Temario y Descripción del Curso.</em></li>
20 <li><a href="http://www.cygwin.com/">Cygwin</a> &mdash; <em>Un Ambiente tipo Linux para Windows.</em></li>
21 <li><a href="http://www.ubuntu.com/">Ubuntu</a> &mdash; <em>Una distribución recomendada de Linux.</em></li>
22 <li><a href="http://www.acm.uiuc.edu/webmonkeys/book/c_guide/">Referencia C</a> &mdash; <em>Para buscar funciones que usaremos.</em></li>
23 <li><a href="http://www.freebsd.org/cgi/man.cgi?query=style&amp;sektion=9">Guía de Estilo FreeBSD</a> &mdash; <em>Para escribir buen C.</em></li>
24 </ul>
25 <h2><a id="labs">Laboratorios</a></h2>
26 <ul class="labmenu" >
27 <li><a href="#lab01">LAB01</a></li>
28 <li><a href="#lab02">LAB02</a></li>
29 <li><a href="#lab03">LAB03</a></li>
30 <li><a href="#lab04">LAB04</a></li>
31 <li><a href="#lab05">LAB05</a></li>
32 <li><a href="#lab06">LAB06</a></li>
33 <li><a href="#lab06">LAB07</a></li>
34 </ul>
35 <hr/>
36
37 <!-- LAB 01 -->
38
39 <h3><a id="lab01">LAB01</a></h3>
40 <p>Programa que imprime un listado de Celsius a Fahrenheit desde <code>MIN_VAL</code> a <code>MAX_VAL</code> aumentando los grados en <code>STEP</code>.</p>
41 <p><em>(ver <code>printf()</code> y las opciones de formato <code>%d</code> y <code>%f</code>)</em></p>
42 <h4>Ejemplo de Salida.</h4>
43 <pre>$ ./lab01
44 0 32.0
45 5 41.0
46 10 50.0
47 15 59.0
48 20 68.0
49 25 77.0
50 30 86.0
51 35 95.0
52 40 104.0
53 45 113.0
54 50 122.0
55 55 131.0
56 60 140.0
57 65 149.0
58 70 158.0
59 75 167.0
60 80 176.0
61 85 185.0
62 90 194.0
63 95 203.0
64 100 212.0</pre>
65 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
66 <hr/>
67
68 <!-- LAB 02 -->
69
70 <h3> <a id="lab02">LAB02</a></h3>
71 <p>Programa que cuente el número de líneas y carácteres de una entrada de texto sencilla hasta que llegue a EOF.</p>
72 <p><em>(usar <code>getchar()</code> para obtener carácter de uno en uno. <code>Ctrl+D</code> es igual a EOF en Unix)</em></p>
73 <h4>Ejemplo de Salida.</h4>
74 <pre>$ ./lab02
75 this is a sample thing
76 that you must count
77 until you end the file with EOF
78 (That's Ctrl+D)^D
79 91 caracteres en 4 lineas.</pre>
80 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
81 <hr/>
82
83 <!-- LAB 03 -->
84
85 <h3> <a id="lab03">LAB03</a></h3>
86 <p>Escribir un programa que lea varias líneas de tamaño máximo <code>MAXLINE</code> hasta que encuentre una línea vacía e imprima la más larga. Se deben usar variables externas para las funciones: una función <code>getline(void)</code> que almacene la línea actual y regrese su tamaño y una función <code>copy(void)</code> que copie la línea actual a un buffer especial para la más larga.</p>
87 <p><em>(No olvides que debes terminar el buffer con el carácter nulo <code> &apos;\0&apos;</code>.)</em></p>
88 <h4>Ejemplo de Salida.</h4>
89 <pre>$ ./lab03
90 Esta es una linea Larga.
91 Esta linea es mas larga que la anterior.
92 La siguiente linea esta vacia:
93
94
95 Esta linea es mas larga que la anterior.</pre>
96 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
97 <hr/>
98
99 <!-- LAB 04 -->
100
101 <h3> <a id="lab04">LAB04</a></h3>
102 <p>Escribir un programa que reciba una línea de longitud <code>MAXLINE</code> y la imprima al revés. Se puede lograr fácilmente modificando ligeramente LAB03. De nuevo, se deben usar variables externas y ninguna de las funciones debe recibir parametros.</p>
103 <p><em>(Ver la función <code>putchar()</code>.)</em></p>
104 <h4>Ejemplo de Salida.</h4>
105 <pre>$ ./lab04
106 Esta linea debe estar al reves
107
108 sever la ratse ebed aenil atsE</pre>
109 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
110 <hr/>
111
112 <!-- LAB 05 -->
113
114 <h3> <a id="lab05">LAB05</a></h3>
115 <p>Escribir una función <code>invert(x,p,n)</code> que reciba un numero entero sin signo, una posición y un rango y devuelva x con <code>n</code> bits invertidos a partir de <code>p</code>.</p>
116 <p><em>(XOR (<code>^</code>) tiene una propiedad de invertir bits.)</em></p>
117 <h4>Ejemplo de Salida.</h4>
118 <pre>$ ./lab05
119 Introduzca un numero: 1
120 Introduzca una posicion: 2
121 Introduzca un rango: 4
122 Invertir 4 bits en 1 empezando de 2 es igual a: 61</pre>
123 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
124 <hr/>
125
126 <!-- LAB 06 -->
127
128 <h3> <a id="lab06">LAB06</a></h3>
129 <p>Escribir una función <code>strindex()</code> que reciba dos strings. Debe devolver la posición en la que ocurre el <code>string2</code> dentro del <code>string1</code> o <code>-1</code> si no se encuentra.</p>
130 <p><em>(La función <code>gets</code> puede servir para obtener strings con espacios.)</em></p>
131 <h4>Ejemplo de Salida.</h4>
132 <pre>$ ./lab06
133 Escribe un String: Esta es una prueba
134 Escribe algo que Buscar: prueba
135 Encontre el string en la posición: 12
136
137 $ ./lab06
138 Escribe un String: Esta es otra prueba
139 Escribe algo que Buscar: string
140 No se encontro "string" en "Esta es otra prueba".</pre>
141 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
142 <hr/>
143
144 <!-- LAB 07 -->
145
146 <h3> <a id="lab07">LAB07</a></h3>
147 <p>Escribir una versión recursiva de LAB04.</p>
148 <p><em>(Considerar el orden de ejecución de los miembros de la función recursiva.)</em></p>
149 <h4>Ejemplo de Salida.</h4>
150 <pre>$ ./lab07
151 Esta es una prueba.
152 .abeurp anu se atsE</pre>
153 <p><a href="#" class="solucion">Mejor Solución de la clase</a> <br/> <a href="#labs" class="volver">Volver Arriba.</a></p>
154 <hr/>
155
156 </div>
157 </body>
158 </html>