Estimados,
A continuación encontrarán el repaso del taller 2. La grabación del taller se encuentra en la sección: Clases Online. Se adjunta código fuente de las soluciones de los ejercicios que se realizaron en clase.
El siguiente taller (Taller 3) se dictará el Jueves 23 de Marzo de 8 a 10 am. El link de zoom será el mismo para todos los talleres, lo pueden encontrar en la sección de novedades.
Taller2: Conceptos básicos: tipos, control de flujo, operadores.
Requisitos:
- Capítulos 2 y 3 del Libro.
- Relevamiento sobre instalación de la maquina virtual.
Esquema:
- Repasamos las siguientes soluciones provistas en el taller 1 ahondando en conceptos relacionados a tipos, control de flujo, operadores.
- Ejercicio1_mod_a.c
- Ejercicio1_mod_b.c
- Ejercicio5_a.c (Repasamos args y control de flujo: while)
- Ejercicio5_a_for.c (Solución del ejercicio con un bucle for)
2. Realizamos el ejercicio 2 del práctico 1 (Simulador de dados)
- simulador_dados.c
- srand(time(NULL)); utilizar la fecha/hora del sistema.
- srand(getpid()); Obtener el identificador del proceso.
3. Repasamos: tipos, control de flujo y operadores:
Tipos (The C Programming Language Kernighan & Ritchie - Chapter 2 - Types, Operators and Expressions):
Hay sólo algunos tipos de datos básicos en C:
- char: un solo byte, capaz de contener un carácter del conjunto de caracteres local.
- int: un entero, normalmente del tamaño natural de los enteros en la máquina en la que se ejecuta.
- float: punto flotante de precisión normal.
- double: punto flotante de doble precisión.
Además, existen algunos calificadores que se aplican a estos tipos básicos, short y long se aplican a enteros:
- short int sh;
- long int counter;
Por otro lado el calificador signed o unsigned puede aplicarse a char o a cualquier entero. Los números unsigned son siempre positivos o cero y obedecen las leyes dE la aritmética módulo 2^n, donde n es el número de bits en el tipo. Así, por ejemplo, si los char son de 8 bits, las variables unsigned char tienen valores «entre 0 y 255, en tanto que las variables signed char tienen valores entre -128 y 127 (en una maquina de complemento a dos).
Operadores: Repasamos operadores de manipulación de bits:
C provee seis operadores para manipulación de bits, éstos deben aplicarse a variables de tipo char, short, int y long, sean con signo (signed) o sin signo (unsigned):
& bitwise AND
| bitwise inclusive OR
^ bitwise exclusive OR
<< leftshift
>> right shift
~ one's complement (unary)
Precedencia y orden de evaluación (The C Programming Language Kernighan & Ritchie - 2.12 Precedence and Order of Evaluation).
Por más tipos de operadores, referirse a The C Programming Language Kernighan & Ritchie - Chapter 2.
Control de flujo (The C Programming Language Kernighan & Ritchie - Chapter 3 Control Flow):
Condicionales: if-else-if, ? y switch.
Bucles: for, while, do {} while ().
Salto: goto, break.
4. Repasamos el sistema binario, decimal, hexadecimal. Se hicieron conversiones en calculadora en modo programador Hex, Dec, Bin.
5. Se propuso realizar el ejercicio 6: Operadores de bit, parte a, del práctico 2 (solución p2_ej6_a.c).
6. Además se pide a los estudiantes que hagan la parte b. (Solución: p2_ej6_b.c).
Para la siguiente clase: Taller 3 (Programación modularizada)
- Completar el ejercicio 6: Operadores de bit, parte a, b y c, del práctico 2. (Veremos la solución completa en el taller)
- Leer capítulo 4 del K & R.
Links de interés:
- https://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B (Precedencia de operadores)