Programación I



Grupo de Facebook de Programación I - Primavera 2017

Apuntes:

Notas de academia (En revisión)
Instrucciones para el manejo de cadenas


Material Visual:

Lenguaje C
Arreglos y cadenas
Arreglos Bidimensionales


Antología:

Portafolio Presentación
Portafolio Electrónico
Técnicas de Diseño de Algoritmos
Conceptos Básicos
Programación en Ensamblador - WikiLibros
Comandos de Linux más frecuentes
Wikipedia: Lenguaje de Programación C
Introducción al Lenguaje C
Curso de Lenguaje C
El Lenguaje C
Curso de Introducción al Lenguaje C
Lenguaje C - Tutorial básico
Historia Lenguaje C
Introducción a la programación con el Lenguaje C


Programas de Cómputo:

Hola Mundo
Suma dos números
Valor Absoluto
Operaciones Matemáticas
Comparación de dos números
Calculadora
Compara dos números
Ejemplo de cast
Condicional ?
Operadores
Calculadora
Factorial
Empleado usando Do-While
Empleado usando While
Código ASCII
Sumar los primeros n números
Suma n números ciclo while
Suma n números ciclo do-while
Manejo de arreglos
Suma n números con arreglos
Manejo de cadenas
Manejo de cadenas
Invierte una cadena
Suma de matrices
Manejo de estructuras
Arreglo de estructuras
Manejo de estructuras - Vinos
Manejo de Estructuras con funciones sin paso de parámetros
Manejo de funciones con paso de parámetros
Suma de Matrices
Ejemplo de uso de apuntadores
Arreglo de estructuras con funciones sin paso de parámetros
Arreglo de estructuras con funciones con paso de parámetros en tipos simples
Arreglo de estructuras con funciones con paso de parámetros en estructuras
Ejemplo de funciones sin paso de parámetros
Ejemplo de funciones con paso de parámetros
Ejemplo de funciones con paso de parámetros con return
Ejemplo de suma de dos vectores con funciones con paso de parámetros
Ejemplo de funciones con paso de parámetros por referencia
Tabla de Códigos ASCII
Suma de dos matrices con funciones y paso de parámetros
Ejemplo de Estructuras con paso de parámetros por referencia
Ejemplo de Estructuras con funciones, teniendo la opción de bajas
Ejemplo de Estructuras guardando a archivo
Sumatoria desde la línea de comando
Manejo de Estructuras con funciones
Manejo de Estructuras con funciones con paso de parámetros por referencia
Manejo de Estructuras con la opción de borrar elementos
Manejo de Estructuras con paso de parámetros por referencia
Ejemplo de vinos con archivo
Ejemplo de estructuras de estructuras
Manejo de memoria dinámica
Mostrar contenido de un archivo
Copia un archivo invertido
Verifica si en una matriz solo existen elementos positivos


Banco de Preguntas:

Banco de Preguntas 1er examen departamental
Banco de Preguntas 2o examen departamental
Ejercicios


Manual de Prácticas de Laboratorio:


Práctica 1

    1. Realizar un programa en lenguaje C.
    2. Se leerán dos datos de tipo numérico desde teclado, que son la 
base y la altura de un triángulo.
    3. Se realizará el cálculo del área del triángulo.

Práctica 2

      1. Realizar un programa en lenguaje C, que resuelva la ecuación de 
segundo grado, utilizando la fórmula general.
      2. Los valores de a, b y c serán de tipo flotante y leídos desde 
teclado.
      3. Se debe tomar en cuenta todos los posibles errores que se pueden 
tener.

Práctica 3

      1. Realizar un programa en lenguaje C, que obtenga el salario semanal 
de un trabajador de una empresa de acuerdo a:
        a. El salario se dará en cuanto se gana por un hora.
        b. Horas trabajadas menor o igual a 40 al salario calculado.
        c. Horas extras (40 o más) a una tasa superior del 50% a la 
ordinaria, por hora (solo las horas extra).
        d. Impuestos de 0% si el salario es menor a $900.00.
        e. Impuestos del 25%, si el salario es mayor a $900.00.
        f. Tambien se resta el 3% por seguridad social al total de lo que 
gana el trabajador.
        g. Desglosar el sueldo y los descuentos.

Práctica 4

      1. Realizar un programa en lenguaje C que lea desde teclado dos números.
      2. Determinar si el primer número es múltiplo del segundo número.


Práctica 5

      1. Realizar un programa en lenguaje C, que calcule y visualice el más 
grande de N números.
      2. Visualice el más pequeño de N números.
      3. Visualice la media de los N números.
      4. El valor de N se solicita al usuario, así como los números. 


Práctica 6

      1. Realizar un programa en lenguaje C que lea desde teclado un número.
      2. Determinar si el número leído es un número primo o no. 


Práctica 7

      1. Realizar un programa en lenguaje C que lea desde teclado un número n.
      2. Calcular la serie: 1/1 + 1/2 + 1/3 + ... + 1/n.


Práctica 8

      1. Realizar un programa en lenguaje C que lea desde teclado dos números.
      2. Realizar la multiplicación por sumas sucesivas.
	 Por ejemplo:
		3*4=4+4+4


Práctica 9

      1. Realizar un programa en lenguaje C que lea desde teclado dos números.
      2. Realizar la división por restas sucesivas.


Práctica 10

      1. Realizar un programa en lenguaje C que lea desde teclado dos números a y b.
      2. Obtener a elevado a la b, mediante multiplicaciones sucesivas.


Práctica 11

      1. Realizar un programa en lenguaje C que lea desde teclado un número.
      2. Obtener los factores primos del número.


Práctica 12

      1. Realizar un programa en lenguaje C que lea desde teclado un número.
      2. Obtener el factorial del número.


Práctica 13

      1. Realizar un programa en lenguaje C que muestre un menú con las opciones de Círculo, 
Cuadrado, Triángulo y Salida.
      2. Dependiendo de la opción elegida, pedir los datos necesarios para calcular el área 
de la figura.
      3. El menú se volverá a mostrar y solo se podrá salir con la opción de salida.


Práctica 14

      1. Realizar un programa en lenguaje C que lea desde teclado n números 
y los guarde en un arreglo.
      2. Contar cuantos números negativos fueron introducidos.


Práctica 15

      1. Realizar un programa en lenguaje C que lea desde teclado dos arreglos de n 
números.
      2. Obtener la suma de dos vectores.


Práctica 16

      1. Realizar un programa en lenguaje C que lea desde teclado dos arreglos de n 
números.
      2. Obtener el producto punto de los dos arreglos.


Práctica 17

      1. Realizar un programa en lenguaje C que lea desde teclado una cadena.
      2. Leer una palabra desde teclado.
      2. Buscar la palabra leída en la cadena y decir si se encontró o no.


Práctica 18

      1. Realizar un programa en lenguaje C que lea desde teclado dos cadenas.
      2. Concatenar ambas cadenas, pero sin utilizar la función strcat();


Práctica 19

      1. Realizar un programa en lenguaje C que lea desde teclado una cadena.
      2. Convertirla la cadena (aquellas letras minúsculas) a mayúsculas, 
para lo cual hay que restar 32.


Práctica 20

      1. Realizar un programa en lenguaje C que lea desde teclado una cadena
      2. Convertirla la cadena (aquellas letras mayúsculas) a minúsculas, 
para lo cual hay que sumar 32.


Práctica 21

      1. Realizar un programa en lenguaje C que lea desde teclado una cadena.
      2. Contar cuantas letras tiene (solo letras, sin contar dígitos y 
símbolos especiales).


Práctica 22

      1. Realizar un programa en lenguaje C que lea desde teclado una cadena.
      2. Contar cuantas palabras fueron leídas.
      3. Considerar como separador al espacio.


Práctica 23

      1. Realizar un programa en lenguaje C que lea desde teclado un número n.
      2. Mostrar los primeros n números de la serie de Fibonacci, usando arreglos.


Práctica 24

      1. Realizar un programa en lenguaje C que programe todos los algoritmos de 
ordenamiento vistos en clase, por el momento por separado y sin uso de funciones.
      2. Hacer uso de funciones con paso de parámetros (Pendiente cuando revisemos
funciones). 


Práctica 25

      1. Realizar un programa en lenguaje C que programe todos los algoritmos de 
búsqueda vistos en clase.
      2. Para Búsqueda Binaria, garantizar que el arreglo esté ordenado.
      3. Hacer uso de funciones con paso de parámetros.


Práctica 26

      1. Realizar un programa en lenguaje C que sirva para la compra venta de boletos de autobús.
      2. Inicialmente todos los asientos están desocupados y se marcaran con 0.
      3. Cada boleto vendido, se marca con un 1.
      4. Tener las opciones de vender boleto, cancelar venta de boleto y mostrar que asientos se 
encuentran desocupados.
      5. Hacer uso de funciones con paso de parámetros (en cuanto se revise este punto).


Práctica 27

      1. Realizar un programa en lenguaje C que lea números hasta teclear el cero.
      2. Guardar en un arreglo los números negativos.
      3. Guardar en un arreglo los números positivos.
      4. Mostrar ambos arreglos.
      5. Hacer uso de funciones con paso de parámetros (en cuanto se revise este punto).


Práctica 28

      1. Realizar un programa en lenguaje C que lea desde teclado dos matrices.
      2. Si es posible realice la multiplicación de las matrices.
      3. Hacer uso de funciones con paso de parámetros (en cuanto se revise este punto).


Práctica 29

      1. Realizar un programa en lenguaje C que lea desde teclado una matriz cuadrada.
      2. Verificar si la matriz es identidad.
      3. Hacer uso de funciones con paso de parámetros (en cuanto se revise este punto).


Práctica 30

      1. Realizar un programa en lenguaje C que lea desde teclado una matriz cuadrada.
      2. Verificar si la matriz es triangular superior.
      3. Hacer uso de funciones con paso de parámetros (en cuanto se revise este punto).


Práctica 31

      1. Realizar un programa en lenguaje C que genere la estructura clínica, que
contienen los datos de nombre del paciente, enfermedad, edad, peso y estatura.
      2. Que tenga un menú con altas, consulta y modificaciones.


Práctica 32

      1. Realizar un programa en C, para el manejo de memoria dinámica en donde 
los elementos se inserten al inicio. 
      2. Para eliminar se elimine el último elemento.
      3. Tener la opción de consulta.
      4. Hacer uso de funciones.


Práctica 33

      1. Realizar un programa en C, contenga una estructura con datos tales como nombre, 
dirección, teléfono y sexo.
      2. Guarde en un archivo estructurado y lo pueda recuperar posteriormente.
      3. Tener las opciones de altas y consultas.


Práctica 34

      1. Realizar un programa en C, que dado un nombre de un archivo genere una copia del
mismo archivo con el mismo nombre, aumentándole la palabra "copia", por ejemplo:
       Nombre de Archivo original: texto.txt
       Nombre del Archivo copia: textoCopia.txt


Proyecto Final

      1. Realizar un sistema de venta de inmuebles en lenguaje C que maneje arreglos de 
estructuras, uso de funciones con paso de parámetros y manejo de archivos.
      2. Se manejará una estructura con los datos de los inmuebles, por ejemplo 
ubicación, metros cuadrados de terreno, metros cuadrados de construcción, 
tipo de construcción (casa, condominio, departamento, etc.), precio, tipo de 
crédito, identificador del vendedor, estado (vendida o en venta).
      3. Se manejará una estructura de datos de los vendedores, por ejemplo un 
identificador, nombre, domicilio, fecha de contrato, teléfonos de ubicación.
      4. Las opciones que se tendrán son: Alta, baja, venta, consulta, y 
modificación. Del inmueble; alta, baja, modificación y consulta de vendedor.
      5. Al dar de alta un inmueble, se deberá dar el identificador del vendedor 
encargado de la venta del mismo, el cual se debe verificar que existe en el sistema.
      6. Guardar en un archivo los datos de inmueble y poderlos recuperar.
      7. Guardar en un archivo (distinto) los vendedores dados de alta y poderlos recuperar.
      8. Si requiere de datos adicionales, que considere necesarios dentro del sistema 
puede agregarlos.
      9. Se calificará: que cumpla con los puntos especificados, iniciativa para la 
programación y creatividad.
     10. Se entrega: Código fuente, programa ejecutable, manual de usuario (como 
usar el sistema, mediante ejemplos de pantallas, explicado a los usuarios que no 
necesariamente tienen conocimiento de computación) y manual técnico (como 
se realizó el programa, algoritmos, explicación de las estructuras 
y funciones principales utilizadas). 
     11. Se entrega la documentación en un sobre, los códigos de manera 
digital, todo el equipo presente para su defensa.