SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Fundamentos de Programación

                                            REPORTE DE EVALUACIÓN 
                                            ACREDITACIÓN ABET 
                                       FUNDAMENTOS DE PROGRAMACIÓN 
                                              I Término – 2010 
                                                 FIEC – ESPOL  


      Fundamentos de Programación es un curso tomado por estudiantes de Ingeniería en Ciencias
   Computacionales, Telemática, Telecomunicaciones y Automatización Industrial durante el
   segundo semestre para Computación y más adelante para las otras carreras.


1. Objetivos del curso
    1. Resolver problemas básicos de ingeniería aplicando el conocimiento y correcta utilización de
       estructuras de control (a, b)
    2. Reconocer la importancia de las funciones como herramienta para simplificar la estructura de un
       programa (c).
    3. Implementar funciones que contengan estructuras de control aprendidas en este curso (c).
    4. Utilizar archivos de texto para el almacenamiento de información (i).
    5. Implementar proyectos que integren los conceptos aprendidos, expresados en un lenguaje de alto
       nivel con la ayuda de una herramienta de programación (c, i)


2. Objetivos del Curso / Resultados de Aprendizaje / Métodos de Evaluación


                                                                                                               Thre
Objetivos
                                                                                                               shol
   del                                A-K                                  Método de Evaluación
                                                                                                                d
 Curso
                                                                              Proyecto parcial,
            a,b,   Habilidad para diseñar, implementar, y evaluar un     Lección 2 del Primer Parcial
    2                                                                                                           60%
             c                sistema utilizando funciones             Examen parcial, preguntas 1,2,3
                                                                        Examen final preguntas 1,2,3
                                                                           Practica Primer parcial
            a,b,   Habilidad para diseñar, implementar, y evaluar un     Lección 2 del Primer Parcial
   1,3                                                                                                          60%
             c         sistema utilizando estructuras de control               Examen parcial
                                                                                Examen final

                     Habilidad para usar archivos de texto para el              Proyecto final
    4        i                                                                                                  60%
                            almacenamiento de información                 Practica Segundo parcial

                   Habilidad para diseñar, implementar y evaluar un
  1, 2, 5   c,i      proyecto usando lenguaje C y el entorno de        Proyecto parcial, Proyecto final         60%
                     desarrollo Visual Studio ( compilar/depurar)




                                                                                          Prof. Ing. Carmen Vaca Ruiz
                                                                                         Paralelo#2. - I Término 2010
                                                                                                           Pág 1 of 13 
Fundamentos de Programación

3. Plan del curso
 
 
                                                                                          Objetivo
                                                                                                             Tareas, Prácticas,
                                     Tema                                     Fecha         de       A-K
                                                                                                                 Proyectos
                                                                                           curso
      Politicas del Curso. Introduccion a las computadoras. Introduccion
 1                                                                           17/05/2010      1       a,b
                  a C. Elaboración del programa HelloWorld.c
      Introduccion a C.- Variables:Definición, uso, tipos de datos, uso de
 2                                                                           21/05/2010      1       a,b           Tarea Nº 1
                    printf y scanf. Operador de asignación
                                                                                                              Tarea1: Uso del IDE
 3              FERIADO 24 DE MAYO - NO HUBO CLASES                          24/05/2010      1       a,b
                                                                                                                 25/May/2010
       Introduccion a C: Operadores aritméticos, relacionales, logicos.
 4                                                                           28/05/2010      1       a,b
                  Sentencia condicional if, sentencia if-else
       Leccion: Evaluación de Variables y sentencias condicionales if-
                                                                                                                  Lección 1:
 5      else. Clase: Sentencias condicionales if-else-if. Condicionales      31/05/2010      1       a,b
                                                                                                             Condicionales simples
                    anidados. Ejercicios. Sentencia switch.
        Estructuras de control: Sentencias de repetición. Lazo for, lazo
                                                                                                             Practica01(en clase):
 6     while, lazo do-while. Practica: Uso de lazos y condiciones dentro     04/06/2010      1       a,b
                                                                                                             Estructuras de control
          de lazos. Variables acumuladores y variables contadores.

        Leccion: Sentencias de repeticion que incluyen condicionales
                                 anidados.                                                                         Lección 2:
 7                                                                           07/06/2010      1       a,b
         Uso de lazo while para la división de un número en digitos:                                              Uso de lazos
               resolucion de problemas. Reversar un número
                                                                                                             Practica02( en clase):
 8                         Lazos anidados. Practica                          11/06/2010      1       a,b
                                                                                                                Lazos anidados
       Funciones: Uso de funciones definidas en librerias ( ej. math.h).
 9      Funciones definidas por usuario: prototipo, implementacion,          14/06/2010     2, 3      c
                                argumentos
      Numeros aleatorios. Funciones tipo predicado. Laboratorio: Uso y                                       Practica 03 (en clase):
 10                                                                          18/06/2010     2, 3      c
                          definición de funciones.                                                                 Funciones
         Arreglos: Definicion, inicialización, uso de constantes para el
 11                                                                          21/06/2010      5        c,i    Lección 3: Funciones
                tamanio, asignación de valores a un elemento
                                                                                                                 Tarea No 2:
 12                 Ejercicios de examen usando arreglos                     25/06/2010     1,2,3    a,b
                                                                                                              Avance del proyecto
         Arreglos: Uso de arreglos como contadores, generación de
 13                                                                          28/06/2010      1       a,b
                           posiciones aleatorias
 14                          Ejercicios de examen                            02/07/2010     1,2,3    a,b        Avance Proyecto


                             EXAMEN PARCIAL                                  10/07/2010


          Resolución de examen parcial. Arreglos de 2 dimensiones:                                                Entrega de
 15   definición, uso, lazo anidado para recorrer una matriz, recorrido de   12/07/2010     1,2,3    a,b      Proyecto del Primer
                   una fila, de una columna, de una diagonal.                                                       Parcial

         Paso de arreglos de 2 dimensiones a una función. Validar
      movimientos en un tablero representado por una matriz, actualizar
 16                                                                          16/07/2010      3        c
         casillas de una matriz según reglas dadas en una función.
       Funciones recursivas, definición, uso. Resolución de ejercicios
          Punteros: definición, uso. Aritmética de punteros, paso de
 17                                                                          19/07/2010      1       a,b
                          parámetros por referencia
                                                                                                              Evaluación proyecto
 18              Sustentación de proyecto del primer parcial                 23/07/2010      5         i
                                                                                                                 primer parcial
       Caracteres. Librería ctype. Arreglos de caracteres, definición de
 19                                                                          26/07/2010      1       a,b
         Atrings, paso de cadenas como parámetros de funciones.

 20                Cadenas de caracteres. Libreria string.h                  30/07/2010      1       a,b

 21                        Cadenas de caracteres II                          02/08/2010      1       a,b

                                                                                                             Leccion #1: Matrices y
                                                                                                                    cadenas
 22   Lección de Matrices y cadenas. Cadenas de caracteres, practica         06/08/2010      1       a,b
                                                                                                              Practica: Cadenas y
                                                                                                                    matrices



                                                                                                      Prof. Ing. Carmen Vaca Ruiz
                                                                                                     Paralelo#2. - I Término 2010
                                                                                                                       Pág 2 of 13 
Fundamentos de Programación

                                                                                            Objetivo
                                                                                                               Tareas, Prácticas,
                                       Tema                                     Fecha         de       A-K
                                                                                                                   Proyectos
                                                                                             curso
              Archivos: funciones para manejo de archivos: apertura,
    23                                                                         09/08/2010      4        i
                 lectura/escritura por caracteres, cerrar un archivo
          Feriado Nacional ( 10 de agosto se movió al 13 de agosto ) Se
    24     asignó un conjunto de ejercicios a realizar sobre archivos y        13/08/2010
          matrices y se tomara una evaluación en la semana siguiente.
    25             Archivos: lectura de información con formato                16/08/2010      4        i
            Estructuras: definición, uso y actualización. Practica sobre                                            Lección # 2:
    26                                                                         20/08/2010      1       a,b
                                      archivos                                                                   archivos y cadenas
         Arreglos de estructuras, ejercicios usando cadenas, estructuras y
    27                                                                         23/08/2010      1       a,b
                                      archivos
                                                                                                                      Tarea:
          Librerías: Ejercicio práctico sobre cómo crear la librería para el
    28                                                                         27/08/2010      5        i      Avance Proyecto Final:
                                       proyecto
                                                                                                                   28/Agos/2010


                                  EXAMEN FINAL                                 04/09/2010                          Proyecto Final:
                                                                                                                    8/Sep/2010
 
 
 




                                                                                                        Prof. Ing. Carmen Vaca Ruiz
                                                                                                       Paralelo#2. - I Término 2010
                                                                                                                         Pág 3 of 13 
Fundamentos de Programación

4. Resultados por evaluación
 
    -    35 estudiantes se registraron en el curso
    -    34 estudiantes fueron evaluados en el Primer Parcial debido a que el Sr. Cristian Abarca dejó de asistir
         a clases pero no anuló el curso.
    -    33 estudiantes fueron evaluados en el Segundo Parcial debido a que la Srta Viviana Vacas dejó de
         asistir a clases después de la primera evaluación.

 4.1. Prácticas

  Durante el semestre los estudiantes realizaron prácticas utilizando laptops del laboratorio móvil en las cuales está
instalada la herramienta Visual Studio.
  Las prácticas fueron realizadas durante la sesión de clase con asistencia del profesor. Se explicó a los estudiantes que
ciertas prácticas se seleccionarían como puntos extras en la nota del primero y del segundo parcial. Se asignó un máximo
de 3 ptos extras por prácticas del primer parcial y 1 punto extra por prácticas del segundo parcial.
  Las prácticas se realizan en grupos de 2 personas, los estudiantes obtienen los puntos extras siempre y cuando se
culmine la práctica durante la sesión de clase.

PRACTICA#1 - PRIMER PARCIAL (ESTRUCTURAS DE DECISIÓN Y DE REPETICIÓN )

La primera práctica requería que el estudiante complete dos ejercicios propuestos:
Escriba un programa que:
    1.) Dado un número, imprima todos los divisores menores que el número
        Num: 24
        Los divisores de 24 son:
        1,2,3,4,6,8,12
    2.) Dada la altura y el peso calcule el BMI ( Body Mass Index )
        <18.5             underweight
        18.5 – 24.9   normal
        25 – 29.9      overweight
        >30                obese
        Muestre al usuario cuál es su condición actual.
        EJERCICIOS PROPUESTOS PARA TRABAJO EN CASA:
    3.) Pida al usuario un valor mínimo y un valor máximo
            a. Muestre los múltiplos de 3 en ese rango
            b. Muestre la suma de los valores terminados en 7 en ese rango
            c. Muestre los números pares en ese rango

Resultados:
29 de 34 estudiantes completaron la práctica satisfactoriamente.
En la primera práctica realizada en clases los estudiantes tienen dificultades con los siguientes temas:
    •    Detectar los errores en el programa usando la herramienta Visual Studio
    •    Detectar errores de sintaxis no mostrados por el compilador como, por ejemplo, olvidar el uso del operador & en la
         sentencia scanf
Durante la práctica se trabajó con la ayuda del proyector para mostrar cómo resolver las dificultades presentadas.
En el anexo se incluyen algunas muestras de las prácticas desarrolladas por los estudiantes.

LAZOS ANIDADOS
La segunda práctica requería que el estudiante complete tres ejercicios de entre varios propuestos:
    1.) Muestre sumas de números consecutivos, incrementando la cantidad de operandos hasta incluir al
        número ingresado por teclado. Ejemplo:
        Ingrese un número: 3
        1 + = 1
        1 + 2 = 3
        1 + 2 +3 = 6
    2.) Escriba un programa que genere un triángulo rectángulo solicitando la altura del triángulo y
        utilizando el carácter ASCII 1 ( como alternativa puede solicitar el código ASCII a usar ).
    3.) Escriba un programa que solicitando la altura, genere un triángulo como el mostrado a
        continuación:

           Ingrese la altura: 5
           *
           **
           ***
           ****
           *****
           ****
           ***
           **
           *



                                                                                                 Prof. Ing. Carmen Vaca Ruiz
                                                                                                Paralelo#2. - I Término 2010
                                                                                                                  Pág 4 of 13 
Fundamentos de Programación
       4.) Escriba un programa que solicite un número al usuario y genere un triángulo rectángulo en el
           que cada línea contiene números consecutivos que empiezan en 1. Ejemplo:

            Ingrese un entero: 4
            1
            1 2
            1 2 3
            1 2 3 4




PRACTICA #1– SEGUNDO PARCIAL
La primera práctica requería que el estudiante complete dos ejercicios propuestos utilizando conceptos sobre Cadenas de
caracteres y sobre Archivos:

       1.) Modificar la función dada int extraerInformacion(FILE *in,FILE *out, char *sufijo) de tal
           manera que busque en el archivo apuntado por in el sufijo "ar" y lo cambie por el sufijo dado
           en la función, el resultado debe escribirse en el archivo apuntado por out. Puede hacer un test
           de su función usando el programa main que se provee. La función debe retornar el número de
           palabras que fueron corregidas

            #include . . .
            #define MAX 100
            void main(){
                   FILE *f=fopen("original.txt","r");
                   FILE *g=fopen("corregido.txt","w");
                   int n;

                        n = extraerInformacion(f,g,"aba");
                        printf("%d palabras fueron corregidas", n);

            }

            int extraerInformacion(FILE *in,FILE *out, char *sufijo){
                   char temporal[MAX];
                   int i=0;
                   while((fscanf(in,"%s", temporal))!=EOF){
                           //AQUI SU CODIGO PARA MODIFICAR TEMPORAL
                           fprintf(out,"%s ",temporal);
                   }
                   return i;
            }

       2.) Modificar la función dada int extraerInformacion(FILE *in,FILE *out, char *sufijo) de tal
           manera que busque en el archivo apuntado por in el sufijo "y" y lo cambie por "es", el sufijo
           "s" y lo cambie "es" y si el sufijo es una vocal simplemente agregue "s", el resultado debe
           escribirse en el archivo apuntado por out.
        Nota: Para probar el resultado de esta práctica puede utilizar el archivo original.txt que se
       adjunta
 

    4.2. Lección 2 del 1er Parcial ( 10 puntos )

La pregunta 1 solicitaba al estudiante escribir una función que, dado un número, determine si es o no un
número primo. En la pregunta 2, se requería escribir un programa que utilice la función.

Los resultados obtenidos se muestran a continuación:
 
                                              Pregunta 1:      Pregunta 2: 
    Calificado sobre:                         4 ptos           6ptos
    Threshold:                                2,4 ptos (60%)   3,6 ptos(60%)
    # estudiantes sobre el threshold:         23               15 
    % estudiantes sobre el threshold:          67,65%            44,12% 
    Promedio                                  2,9              3,04 
    Desviación estándar:                      1,27             1,8 




                                                                                               Prof. Ing. Carmen Vaca Ruiz
                                                                                              Paralelo#2. - I Término 2010
                                                                                                                Pág 5 of 13 
Fundamentos de Programación
                                                                                                    F


                    PREGUN
                         NTA 1                                                      PR
                                                                                     REGUNTA 2


        Min        0             4,5                                                                7
                                   4
        Q1         2                                                                                6
                                 3,5
                                                      Q1                Min          0              5                   Q1
    Median        3,25             3
                                 2,5                  Min               Q1          1,3
                                                                                      3             4
        Q3         4                                                                                                    Min
                                   2
        Max        4             1,5
                                                      Med
                                                        dian          Median         3              3                   Median
                                   1                  Max
                                                        x               Q3          4,8
                                                                                      8             2                   Max
                                 0,5                                    Max
                                                                        M            6              1                   Q3
                                                      Q3
                                   0
                                                                                                    0
                                               1                                                             1
 
 
El concep de funciones predicado se introdujo en la clase anterior a la fu
        pto                      o                                          unción y alrededor del 68% de
                                                                                                     %
estudiante demostraro habilidad p
         es         on            para escribir u función (O
                                                una          Objetivo 3 de curso, c de ABET). Sin e
                                                                            el                       embargo,
solamente el 44% de estudiantes de
         e          e            emuestran ha  abilidad para u
                                                             utilizar la funcción en un pro
                                                                                          ograma.

En dos claases posteriores (25-jun y 2-jul) se traba
                                                   ajaron ejercic
                                                                cios de exáme
                                                                            enes anteriores en los cua
                                                                                                     ales se
revisó el m
          mecanismo pa llamar a u función desde un prog
                       ara          una                        grama.

En el proy
         yecto parcial y final, los est
                                      tudiantes hicieron uso exte
                                                                enso de funciones.

    4.3. Exa
           amen parcial
                      l
Calificado s
           sobre:
Threshold:                  30 ptos (60
                                      0%)
# estudiant sobre el thr
           tes          reshold: 21
% estudian
 
           ntes sobre el threshold: 61.
                         t             .76%
                                                                                Exam
                                                                                   men Par
                                                                                         rcial
                                        
Estadística Examen P
          as       Parcial                                     50
                                            
    Q1           24                                            40
    Min          17                                            30
  Median         33                                            20
    Max          50                                            10
    Q3          39,7
                   75                       
                                                               0
                                            
                                                       1 3 5 7 9 11 13 15 17 19 2 23 25 27 29 31 33
                                                                                        21
     
     
     
     
     
    En el exa
            amen se evalú
                        úan pregunta
                                   as que permit
                                               ten medir los criterios a, b,
                                                                           , c de ABET co
                                                                                        omo sigue: 
    Pregunta                                                Criterio ABE
                                                                       ET                                             Objetivo
                                                                                                                         del
                                                                                                                       curso
          1        (a) Habilidad para aplica conocimient de computa
                                            ar           tos          ación y matemá  áticas apropiad a su
                                                                                                    dos                 1,2,3
                       disciplina: uso de co
                                           ontadores, acum
                                                         muladores, rea
                                                                      alización de opeeraciones mate emáticas
                       usand variables de un programa.
                            do             e
          2        (b) Habilidad para analiz un problem e identificar y definir los re
                                            zar         ma,           r               equerimientos                     1,2,3
                       compu utacionales apropiados para su solución.
                   (c) Habilidad para diseñ implementa y evaluar un sistema utiliz
                                           ñar,           ar,          n             zando concepto de
                                                                                                    os
                       prograamación básica tales como estructuras de c
                                            a                         control ( lazos, condiciones) , funciones, y
                       arreglos de una dime ensión
          3        (c) Habilidad para diseñ implementa y evaluar un sistema utiliz
                                           ñar,           ar,          n             zando concepto de
                                                                                                    os                  1,2,3
                       prograamación básica tales como estructuras de c
                                            a                         control ( lazos, condiciones), f
                                                                                                     funciones, y
                       arreglos de una dime ensión
     
     
     
                                                                                                        Prof Ing Carm Vaca Ruiz
                                                                                                                    men
Fundamentos de Programación

  
 Los resultados obtenidos por pregunta son los siguientes: 
                                                                                     
                                     Pregunta 1:      Pregunta 2:     Pregunta 3:    
Calificado sobre:                      20              40              40            
Threshold (60%):                       12 ptos         27 ptos         27 ptos       
# estudiantes sobre el threshold:       29             27              10
                                                                                     
                                                                                     
% estudiantes sobre el threshold:       85%            79%             29%
                                                                                     
Promedio:                               16.48          31.48           18.00
                                                                                     
Desviación estándar:                    4.64           12.55           11.22         
 PREGUNTA 1 
                                                      Pregunta Nº 1
    Min                      4                   25                 Q1
      Q1                    14                   20
                                                                    Min
      Median                18                   15
      Q3                  19.5                                      Media
                                                 10
      Max                   20                                      n
                                                  5
                                                                Max
                                               0
   
  29 de 34 estudiantes ( 85% ) demostraron habilidad en el uso de lazos, contadores y realización de 
operaciones matemáticas utilizando el  lenguaje de programación C. 
   
  PREGUNTA 2                                        Pregunta Nº 2
                                            45
      Min            0.5                    40
      Q1              32                    35                     Q1

      Median          37                    30                     Min
                                            25
                                                                   Median
      Q3              40                    20
                                                                   Max
      Max             40                    15
                                            10                     Q3
                                             5
                                             0
   
  27 de 34 estudiantes ( 85% ) demostraron para resolver un problema identificando los requerimientos 
computacionales adecuados para la solución. La pregunta planteaba un algoritmo con reglas definidas y los 
estudiantes en su gran mayoría pudieron traducirlo a un algoritmo en un lenguaje de programación.
   
  PREGUNTA 3                                         Pregunta Nº 3
   
                                              50
      Min                0                                          Q1
      Q1                 9                    40
                                                                    Min
      Median           17                     30
                                                                    Median
      Q3               27                     20
                                                                    Max
      Max              30                     10
                                                                    Q3
                                               0
   
  10 de 40 estudiantes ( 29% ) resolvieron esta pregunta con un nivel de rendimiento mayor al 60%. Dado que 
la pregunta 2 medía habilidades similares, y analizando las respuestas de los estudiantes se concluye que 
muchos de ellos  no tuvieron tiempo suficiente para leer y desarrollar el tema final. En el proyecto parcial y en 

                                                                                          Prof. Ing. Carmen Vaca Ruiz
                                                                                         Paralelo#2. - I Término 2010
                                                                                                           Pág 7 of 13 
Fundamentos de Programación

la sustentación del mismo se midieron habilidades para desarrollar un programa complejo a partir de 
instrucciones dadas y se obtuvo un buen rendimiento. 
   

    4.4. Examen final
 
    En el examen se evalúan preguntas que permiten medir los criterios a, b, c de ABET como sigue: 
    Pregunta                                                    Criterio ABET                                          Objetivo
                                                                                                                          del
                                                                                                                        curso
        2               (c)  Habilidad para diseñar, implementar, y evaluar un sistema utilizando conceptos de           1,2,3
                            programación básica tales como arreglos de dos dimensiones, condicionales, lazos for
        3               (a) Habilidad para diseñar, implementar, y evaluar un sistema utilizando conceptos de           1,2,3,4
                            programación básica tales como uso de archivos, cadenas de caracteres.


     
    Los resultados obtenidos por pregunta son los siguientes: 
 
                                                 Pregunta 2: Pregunta 3:
    Calificado sobre:                            35          45 
    Threshold (60%):                             21 ptos           27 ptos
    # estudiantes sobre el threshold:            26                19 
    % estudiantes sobre el threshold:            76%               56% 
    Promedio:                                    26.77             30.19 
    Desviación estándar:                           9.55            13.08 
 
     
     
    PREGUNTA 2 
 
                                                                   Pregunta Nº 2
Min                                 0 
                                                           40
Q1                              27.75                      35
Median                           30.5                                              Q1
                                                           30
Q3                                 32                      25                      Min
Max                                35                      20                      Median
                                                           15                      Max
                                                 10                  Q3
                                                  5
                                                  0
   
  26 de 34  estudiantes  (76%) mostraron habilidad para trabajar con arreglos de 2 dimensiones. En el proyecto 
final los estudiantes utilizaron un arreglo de dos dimensiones para construir un tablero de Scrabble y esto les 
permitió aplicar este concepto y contribuyó al aprendizaje del mismo. 
   
   
   
   
   
   
   
   
   
   
   
                                                                                                     Prof. Ing. Carmen Vaca Ruiz
                                                                                                    Paralelo#2. - I Término 2010
                                                                                                                      Pág 8 of 13 
Fundamentos de Programación

 PREGUNTA 3 
                                                            Pregunta Nº 3
Min                        0      
                                                   50
Q1                    22.875      
                                                   45
Median                  30.5                       40
Q3                     42.25                       35
                                                                             Q1
                                                   30                        Min
Max                       45 
                                                   25                        Median
                                                     20                       Max
                                                     15
                                                                              Q3
                                                     10
                                                      5

                                                      0

   
   
  19 de 34  estudiantes  (56%) mostraron habilidad para desarrollar un programa que requiere manejo de 
archivos, estructuras de datos y cadenas de caracteres. Dado que el tema requería el manejo de varios 
conceptos de programación de forma integrada, ciertos estudiantes  no completaron el desarrollo del mismo.  
                                  




                                                                                       Prof. Ing. Carmen Vaca Ruiz
                                                                                      Paralelo#2. - I Término 2010
                                                                                                        Pág 9 of 13 
Fundamentos de Programación


     
     
     
     
     
     
     
     
     
     
     
     

            ANEXOS 
         




                       Prof. Ing. Carmen Vaca Ruiz
                      Paralelo#2. - I Término 2010
                                       Pág 10 of 13 
Fundamentos de Programación
Practica 01.
Ejercico #1                                                     RESPUESTAS A PRACTICA #1 
#include <stdio.h>
void main(){
        int num, i, cnt=0;
        printf("DIVISORES DE UN NUMERO POSITIVOn");
        printf("n==============================n");
        printf("Ingrese un numeron positivo: ");
        scanf("%d",&num);
        for(i=1; i<=(num/2); i++){
                 if(num%i==0){
                          cnt++;
                          printf("%d, ",i);
                 }
        }
        printf("n Se encontraron %d divisoresn", cnt);
}
/* Autor: Carlos Zambrano Miño.
          Freddy Quimis Marcillo.
   Curso: Fundamentos de Programación Paralelo 2
   Profesora: Carmen Vaca
   Descripcion: Programa que calcula los divisores de un determinado numero positivo */
Ejercicio #2
#include <stdio.h>
void main(){
        double bmi,w,h;
        printf("Ingrese su peso en libras: n");
        scanf("%lf",&w);
        printf("Ingrese su altura en pulgadas: n");
        scanf("%lf",&h);
        bmi=( (704.5) * (w/(h*h)));
        if(bmi<18.5)
                 printf("under weightn");
        else if((bmi>=18.5)||(bmi<=24.9))
                 printf("normaln");
        else if((bmi>=25)||(bmi<=29.9))
                 printf("overweight");
        else
                 printf("obese");

}
/* Autor: Carlos Zambrano Miño.
          Freddy Quimis Marcillo.
   Curso: Fundamentos de Programación Paralelo 2
   Profesora: Carmen Vaca
   Descripcion: programa que indica en que estado se encuentra una persona de acuerdo a su índice de masa corporal */

/*Practica #01
Autores: Stella Andrade
        Roger Granda
Curso: Fundamentos de Programacion
Paralelo: 2
Profesora: Ing. Carmen Vaca
Descripcion: Programa que imprima las divisiones de un numero*/
#include<stdio.h>
void main () {
        int n, i,cont=0 ;
        printf("Calculo de los divisores de un numeron");
        printf("=======================================nn");
        printf("nIngrese un numero: ");
        printf("n==================================n");
        scanf("%d",&n);

        printf("nLos divisores de %d son: n", n);
        for(i=1 ; i<=n/2 ; i++){
                if((n%i)==0){
                         cont++;
                         printf("%d, ",i);
                }
        }
        printf("n==================================n");
        printf("n se encontraron %d divisoresnnn", cont);
        printf("n==================================n");
}
//Descripcion: Programa que calcula el BMI de una persona, pidiendo su altura en pulgadas y su peso en libras
#include <stdio.h>
void main(){
        float peso, altura;
        double bmi;
        printf("Calculo de el BMI");
        printf("n==========================n");
        printf("Ingrese su peso en libras: ");
        scanf("%f",&peso);
        printf("nIngrese su altura en pulgadas: ");
        scanf("%f",&altura);
        bmi=704.5*peso/(altura*altura);
        if(bmi<18.5){
                 printf("nUd. esta bajo de pesonn");
        }else if(bmi<24.9)
                 printf("Ud. esta con peso normalnn");
        else if(bmi<29.9)
                 printf("nUd. esta con sobrepesonn");

                                                                                             Prof. Ing. Carmen Vaca Ruiz
                                                                                            Paralelo#2. - I Término 2010
                                                                                                             Pág 11 of 13 
Fundamentos de Programación
         else
                printf("nUd. esta obesonn");
}

/*comentario
Autor: Bryant Niola
          Jorge Aviles
Curso: Fundamentos de programacion    Paralelo: 1                  RESPUESTAS A PRACTICA #1 
Profesora: Carmen Vaca*/
//Comentario : Todo correcto!!

#include<stdio.h>
void main(){
    int num,i,dato,cnt=0;
    printf("Ingrese Numero");
    scanf("%d",&num);
    for(i=1;i<=num-1;i++){
        if(num%i==0)
        {    printf("%d,",i);
        cnt++;
        }
        }
    printf(" Se encontraron %d de divisores ",cnt);
}

#include<stdio.h>
void main(){
    float weigth,heigth,variable=704.5,bmi;
    printf("Ingrese su peso");
    scanf("%f",&weigth);
    printf(" Ingrese su estatura");
    scanf("%f",&heigth);
    bmi=variable*(weigth)/(heigth*heigth);
        if(bmi<18.5){
            printf("underweigth");
        }
        if(bmi>=18.5&&bmi<=24.9)
            printf(" normal");
        if(bmi>=25&&bmi<=29.9);
            printf(" overweigth");
        if(bmi>=30)
            printf(" obese ");

}
/*
AUTOR:  OMAR GUZHÑAY
        MARIO BARZOLA
CURSO: FUNDAMENTOS DE PROGRAMACION
PROFESORA: CARMEN VACA
DESCRIPCION:
ESTE PROGRAMA PRESENTAS TODOS LOS DIVISORES DE UNA CIERTA CANTIDAD INGRESADA POR EL USUARIO,
ADEMAS MUESTRA CUANTOS DIVISORES SE ENCONTRARON
*/
#include <stdio.h>
void main()
{
        int num,i,cnt=0,b;
        printf("Ingrese un numero: ");
        scanf("%d",&num);
        if (num!=0)
        printf("Los numeros ingresados son: n");
        for(i=1;i<=((num/2));i++)
        {
                 if((num%i)==0)
                 {
                         cnt++;
                         printf("%d,",i);
                 }
        }
        printf("nSe encontraron %d divisoresn",cnt);

getch();
return 0;
}
/*
AUTOR: OMAR GUZHÑAY
         MARIO BARZOLA
CURSO: FUNDAMENTOS DE PROGRAMACION
PROFESORA: CARMEN VACA
DESCRIPCION:
ESTE PROGRAMA PRESENTAS LOS CUATRO ESTADOS POSIBLES DE UNA PERSONA FISICAMENTE LOS CUALES DEPENDERAN DE SU
ALTURA Y PESO EN PULGADAS Y LIBRAS RESPECTIVAMENTE
FORMULA GENERAL: bmi=(704.5*((peso)/(altura^2)));
BMI < 18.5        CORRESPONDE A UNDER Weight
18.5 -BMI- 24.5 CORRESPONDE A NORMAL
25.0 -BMI- 29.9 CORRESPONDE A OVER Weight
BMI >= 30.0       CORRESPONDE A OBESE Weight
*/

#include <stdio.h>
void main()
{

                                                                                                Prof. Ing. Carmen Vaca Ruiz
                                                                                               Paralelo#2. - I Término 2010
                                                                                                                Pág 12 of 13 
Fundamentos de Programación
          float peso,altura,bmi;
          printf("Ingrese su peso en libras: ");
          scanf("%f",&peso);
          printf("Ingrese su altura en pulgadas: ");
          scanf("%f",&altura);

          bmi=(704.5*((peso)/(altura*altura)));
                  if (bmi<18.5)
                           printf("Under Weightn");
                  else if (bmi<=24.9)
                           printf("Normaln");
                  else if (bmi<=29.9)
                           printf("Over Weightn");
                  else if (bmi>=30)
                           printf("Obesen");
 getch();
 return 0;
 }




 /*

 Nota: Para elevar al cuadrado la altura se considero (altura * altura) aunque se debio de utilizar la sentencia
 pow(x,y)
       con su respectiva libreria #include <math.h> al inicio

      ejemplo:

                  #include <math.h>

                  bmi=(704.5*((peso)/(pow(altura,2))));

 */




RESPUESTAS A PRACTICA #2 


  /*
  Autores: Alejandro Vinueza
              Estrella Montero
  Materia: Fund de Progamacion 2010 I
  Paralelo: 2
  Profesor: Ing Carmen Vaca*/

  #include<stdio.h>
  void main(){
         int i, j, n, suma=0;                          /*
         do{                                           Autores: Alejandro Vinueza
                     printf("Ingrese un                            Estrella Montero
  n%cmero: ",163);                                     Materia: Fund de Progamacion 2010 I
                    scanf("%d",&n);                    Paralelo: 2
             }while(n<=0);                             Profesor: Ing Carmen Vaca*/
             for(i=1; i<=n; i++){
                    for(j=1; j<=i; j++){               #include<stdio.h>
                            printf("%d                 void main(){
  ",j);                                                       int i, j, n;
                             if(j!=i)                         do{
                                                                      printf("Ingrese un n%cmero: ",163);
             printf("+ ");                                           scanf("%d",&n);
                             suma=suma+j;                     }while(n<0);
                     }                                        for(i=1; i<=n; i++){
                     printf("= %d",suma);                            for(j=1; j<=i; j++)
                     suma=0;                                                 printf(" %c ",1);
                     printf("n");                            printf("n");
             }                                                }
  }                                                    }




                                                                                              Prof. Ing. Carmen Vaca Ruiz
                                                                                             Paralelo#2. - I Término 2010
                                                                                                              Pág 13 of 13 

Más contenido relacionado

Similar a Fundamentos programacion 2010_1

Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareMarvin Romero
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareJavier Capa
 
Estimación de Proyectos
Estimación de ProyectosEstimación de Proyectos
Estimación de ProyectosMarvin Romero
 
RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de ElaboraciónAdrian González
 
Calculo ii fimee
Calculo ii fimeeCalculo ii fimee
Calculo ii fimeeMATEIGN
 
planificacion-general-programacion-ii-visual-basicnet.docx
planificacion-general-programacion-ii-visual-basicnet.docxplanificacion-general-programacion-ii-visual-basicnet.docx
planificacion-general-programacion-ii-visual-basicnet.docxManolinGarcia1
 
Planeación informática I
Planeación informática IPlaneación informática I
Planeación informática Iinformatica1une
 
Planificacion 5to bachillerato segunda unidad 2012
Planificacion 5to bachillerato   segunda unidad 2012Planificacion 5to bachillerato   segunda unidad 2012
Planificacion 5to bachillerato segunda unidad 2012teacher.lex
 
Plantilla plan unidad
Plantilla plan unidadPlantilla plan unidad
Plantilla plan unidadMyriam Gaby
 
Plantilla plan unidad_introduccion
Plantilla plan unidad_introduccionPlantilla plan unidad_introduccion
Plantilla plan unidad_introduccionMyriam Gaby
 
Plantilla plan unidad_introduccion
Plantilla plan unidad_introduccionPlantilla plan unidad_introduccion
Plantilla plan unidad_introduccionMyriam Gaby
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Marta Silvia Tabares
 
01 3° electromagnetismo gestion
01 3° electromagnetismo   gestion01 3° electromagnetismo   gestion
01 3° electromagnetismo gestionRene Miranda
 
Introducción a la Dirección de Proyectos. Parte II
Introducción a la Dirección de Proyectos. Parte IIIntroducción a la Dirección de Proyectos. Parte II
Introducción a la Dirección de Proyectos. Parte IIPablo Diaz
 

Similar a Fundamentos programacion 2010_1 (20)

Estimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de SoftwareEstimacion de Proyectos, Ingeniería de Software
Estimacion de Proyectos, Ingeniería de Software
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
 
Estimación de Proyectos
Estimación de ProyectosEstimación de Proyectos
Estimación de Proyectos
 
Programacion II
Programacion IIProgramacion II
Programacion II
 
RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de Elaboración
 
Construccion 3
Construccion 3Construccion 3
Construccion 3
 
Calculo ii fimee
Calculo ii fimeeCalculo ii fimee
Calculo ii fimee
 
planificacion-general-programacion-ii-visual-basicnet.docx
planificacion-general-programacion-ii-visual-basicnet.docxplanificacion-general-programacion-ii-visual-basicnet.docx
planificacion-general-programacion-ii-visual-basicnet.docx
 
Planeación informática I
Planeación informática IPlaneación informática I
Planeación informática I
 
Planificacion 5to bachillerato segunda unidad 2012
Planificacion 5to bachillerato   segunda unidad 2012Planificacion 5to bachillerato   segunda unidad 2012
Planificacion 5to bachillerato segunda unidad 2012
 
Plantilla plan unidad
Plantilla plan unidadPlantilla plan unidad
Plantilla plan unidad
 
Plantilla plan unidad_introduccion
Plantilla plan unidad_introduccionPlantilla plan unidad_introduccion
Plantilla plan unidad_introduccion
 
Plantilla plan unidad_introduccion
Plantilla plan unidad_introduccionPlantilla plan unidad_introduccion
Plantilla plan unidad_introduccion
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4
 
Opcion 5 Certificacion
Opcion 5 CertificacionOpcion 5 Certificacion
Opcion 5 Certificacion
 
Triptico mecanica
Triptico mecanicaTriptico mecanica
Triptico mecanica
 
01 3° electromagnetismo gestion
01 3° electromagnetismo   gestion01 3° electromagnetismo   gestion
01 3° electromagnetismo gestion
 
Gobierno - Benchmarking aplicaciones regulatorias
Gobierno - Benchmarking aplicaciones regulatoriasGobierno - Benchmarking aplicaciones regulatorias
Gobierno - Benchmarking aplicaciones regulatorias
 
Plan de clase
Plan de clasePlan de clase
Plan de clase
 
Introducción a la Dirección de Proyectos. Parte II
Introducción a la Dirección de Proyectos. Parte IIIntroducción a la Dirección de Proyectos. Parte II
Introducción a la Dirección de Proyectos. Parte II
 

Fundamentos programacion 2010_1

  • 1. Fundamentos de Programación REPORTE DE EVALUACIÓN  ACREDITACIÓN ABET  FUNDAMENTOS DE PROGRAMACIÓN  I Término – 2010  FIEC – ESPOL   Fundamentos de Programación es un curso tomado por estudiantes de Ingeniería en Ciencias Computacionales, Telemática, Telecomunicaciones y Automatización Industrial durante el segundo semestre para Computación y más adelante para las otras carreras. 1. Objetivos del curso 1. Resolver problemas básicos de ingeniería aplicando el conocimiento y correcta utilización de estructuras de control (a, b) 2. Reconocer la importancia de las funciones como herramienta para simplificar la estructura de un programa (c). 3. Implementar funciones que contengan estructuras de control aprendidas en este curso (c). 4. Utilizar archivos de texto para el almacenamiento de información (i). 5. Implementar proyectos que integren los conceptos aprendidos, expresados en un lenguaje de alto nivel con la ayuda de una herramienta de programación (c, i) 2. Objetivos del Curso / Resultados de Aprendizaje / Métodos de Evaluación Thre Objetivos shol del A-K Método de Evaluación d Curso Proyecto parcial, a,b, Habilidad para diseñar, implementar, y evaluar un Lección 2 del Primer Parcial 2 60% c sistema utilizando funciones Examen parcial, preguntas 1,2,3 Examen final preguntas 1,2,3 Practica Primer parcial a,b, Habilidad para diseñar, implementar, y evaluar un Lección 2 del Primer Parcial 1,3 60% c sistema utilizando estructuras de control Examen parcial Examen final Habilidad para usar archivos de texto para el Proyecto final 4 i 60% almacenamiento de información Practica Segundo parcial Habilidad para diseñar, implementar y evaluar un 1, 2, 5 c,i proyecto usando lenguaje C y el entorno de Proyecto parcial, Proyecto final 60% desarrollo Visual Studio ( compilar/depurar) Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 1 of 13 
  • 2. Fundamentos de Programación 3. Plan del curso     Objetivo Tareas, Prácticas, Tema Fecha de A-K Proyectos curso Politicas del Curso. Introduccion a las computadoras. Introduccion 1 17/05/2010 1 a,b a C. Elaboración del programa HelloWorld.c Introduccion a C.- Variables:Definición, uso, tipos de datos, uso de 2 21/05/2010 1 a,b Tarea Nº 1 printf y scanf. Operador de asignación Tarea1: Uso del IDE 3 FERIADO 24 DE MAYO - NO HUBO CLASES 24/05/2010 1 a,b 25/May/2010 Introduccion a C: Operadores aritméticos, relacionales, logicos. 4 28/05/2010 1 a,b Sentencia condicional if, sentencia if-else Leccion: Evaluación de Variables y sentencias condicionales if- Lección 1: 5 else. Clase: Sentencias condicionales if-else-if. Condicionales 31/05/2010 1 a,b Condicionales simples anidados. Ejercicios. Sentencia switch. Estructuras de control: Sentencias de repetición. Lazo for, lazo Practica01(en clase): 6 while, lazo do-while. Practica: Uso de lazos y condiciones dentro 04/06/2010 1 a,b Estructuras de control de lazos. Variables acumuladores y variables contadores. Leccion: Sentencias de repeticion que incluyen condicionales anidados. Lección 2: 7 07/06/2010 1 a,b Uso de lazo while para la división de un número en digitos: Uso de lazos resolucion de problemas. Reversar un número Practica02( en clase): 8 Lazos anidados. Practica 11/06/2010 1 a,b Lazos anidados Funciones: Uso de funciones definidas en librerias ( ej. math.h). 9 Funciones definidas por usuario: prototipo, implementacion, 14/06/2010 2, 3 c argumentos Numeros aleatorios. Funciones tipo predicado. Laboratorio: Uso y Practica 03 (en clase): 10 18/06/2010 2, 3 c definición de funciones. Funciones Arreglos: Definicion, inicialización, uso de constantes para el 11 21/06/2010 5 c,i Lección 3: Funciones tamanio, asignación de valores a un elemento Tarea No 2: 12 Ejercicios de examen usando arreglos 25/06/2010 1,2,3 a,b Avance del proyecto Arreglos: Uso de arreglos como contadores, generación de 13 28/06/2010 1 a,b posiciones aleatorias 14 Ejercicios de examen 02/07/2010 1,2,3 a,b Avance Proyecto EXAMEN PARCIAL 10/07/2010 Resolución de examen parcial. Arreglos de 2 dimensiones: Entrega de 15 definición, uso, lazo anidado para recorrer una matriz, recorrido de 12/07/2010 1,2,3 a,b Proyecto del Primer una fila, de una columna, de una diagonal. Parcial Paso de arreglos de 2 dimensiones a una función. Validar movimientos en un tablero representado por una matriz, actualizar 16 16/07/2010 3 c casillas de una matriz según reglas dadas en una función. Funciones recursivas, definición, uso. Resolución de ejercicios Punteros: definición, uso. Aritmética de punteros, paso de 17 19/07/2010 1 a,b parámetros por referencia Evaluación proyecto 18 Sustentación de proyecto del primer parcial 23/07/2010 5 i primer parcial Caracteres. Librería ctype. Arreglos de caracteres, definición de 19 26/07/2010 1 a,b Atrings, paso de cadenas como parámetros de funciones. 20 Cadenas de caracteres. Libreria string.h 30/07/2010 1 a,b 21 Cadenas de caracteres II 02/08/2010 1 a,b Leccion #1: Matrices y cadenas 22 Lección de Matrices y cadenas. Cadenas de caracteres, practica 06/08/2010 1 a,b Practica: Cadenas y matrices Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 2 of 13 
  • 3. Fundamentos de Programación Objetivo Tareas, Prácticas, Tema Fecha de A-K Proyectos curso Archivos: funciones para manejo de archivos: apertura, 23 09/08/2010 4 i lectura/escritura por caracteres, cerrar un archivo Feriado Nacional ( 10 de agosto se movió al 13 de agosto ) Se 24 asignó un conjunto de ejercicios a realizar sobre archivos y 13/08/2010 matrices y se tomara una evaluación en la semana siguiente. 25 Archivos: lectura de información con formato 16/08/2010 4 i Estructuras: definición, uso y actualización. Practica sobre Lección # 2: 26 20/08/2010 1 a,b archivos archivos y cadenas Arreglos de estructuras, ejercicios usando cadenas, estructuras y 27 23/08/2010 1 a,b archivos Tarea: Librerías: Ejercicio práctico sobre cómo crear la librería para el 28 27/08/2010 5 i Avance Proyecto Final: proyecto 28/Agos/2010 EXAMEN FINAL 04/09/2010 Proyecto Final: 8/Sep/2010       Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 3 of 13 
  • 4. Fundamentos de Programación 4. Resultados por evaluación   - 35 estudiantes se registraron en el curso - 34 estudiantes fueron evaluados en el Primer Parcial debido a que el Sr. Cristian Abarca dejó de asistir a clases pero no anuló el curso. - 33 estudiantes fueron evaluados en el Segundo Parcial debido a que la Srta Viviana Vacas dejó de asistir a clases después de la primera evaluación. 4.1. Prácticas Durante el semestre los estudiantes realizaron prácticas utilizando laptops del laboratorio móvil en las cuales está instalada la herramienta Visual Studio. Las prácticas fueron realizadas durante la sesión de clase con asistencia del profesor. Se explicó a los estudiantes que ciertas prácticas se seleccionarían como puntos extras en la nota del primero y del segundo parcial. Se asignó un máximo de 3 ptos extras por prácticas del primer parcial y 1 punto extra por prácticas del segundo parcial. Las prácticas se realizan en grupos de 2 personas, los estudiantes obtienen los puntos extras siempre y cuando se culmine la práctica durante la sesión de clase. PRACTICA#1 - PRIMER PARCIAL (ESTRUCTURAS DE DECISIÓN Y DE REPETICIÓN ) La primera práctica requería que el estudiante complete dos ejercicios propuestos: Escriba un programa que: 1.) Dado un número, imprima todos los divisores menores que el número Num: 24 Los divisores de 24 son: 1,2,3,4,6,8,12 2.) Dada la altura y el peso calcule el BMI ( Body Mass Index ) <18.5 underweight 18.5 – 24.9 normal 25 – 29.9 overweight >30 obese Muestre al usuario cuál es su condición actual. EJERCICIOS PROPUESTOS PARA TRABAJO EN CASA: 3.) Pida al usuario un valor mínimo y un valor máximo a. Muestre los múltiplos de 3 en ese rango b. Muestre la suma de los valores terminados en 7 en ese rango c. Muestre los números pares en ese rango Resultados: 29 de 34 estudiantes completaron la práctica satisfactoriamente. En la primera práctica realizada en clases los estudiantes tienen dificultades con los siguientes temas: • Detectar los errores en el programa usando la herramienta Visual Studio • Detectar errores de sintaxis no mostrados por el compilador como, por ejemplo, olvidar el uso del operador & en la sentencia scanf Durante la práctica se trabajó con la ayuda del proyector para mostrar cómo resolver las dificultades presentadas. En el anexo se incluyen algunas muestras de las prácticas desarrolladas por los estudiantes. LAZOS ANIDADOS La segunda práctica requería que el estudiante complete tres ejercicios de entre varios propuestos: 1.) Muestre sumas de números consecutivos, incrementando la cantidad de operandos hasta incluir al número ingresado por teclado. Ejemplo: Ingrese un número: 3 1 + = 1 1 + 2 = 3 1 + 2 +3 = 6 2.) Escriba un programa que genere un triángulo rectángulo solicitando la altura del triángulo y utilizando el carácter ASCII 1 ( como alternativa puede solicitar el código ASCII a usar ). 3.) Escriba un programa que solicitando la altura, genere un triángulo como el mostrado a continuación: Ingrese la altura: 5 * ** *** **** ***** **** *** ** * Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 4 of 13 
  • 5. Fundamentos de Programación 4.) Escriba un programa que solicite un número al usuario y genere un triángulo rectángulo en el que cada línea contiene números consecutivos que empiezan en 1. Ejemplo: Ingrese un entero: 4 1 1 2 1 2 3 1 2 3 4 PRACTICA #1– SEGUNDO PARCIAL La primera práctica requería que el estudiante complete dos ejercicios propuestos utilizando conceptos sobre Cadenas de caracteres y sobre Archivos: 1.) Modificar la función dada int extraerInformacion(FILE *in,FILE *out, char *sufijo) de tal manera que busque en el archivo apuntado por in el sufijo "ar" y lo cambie por el sufijo dado en la función, el resultado debe escribirse en el archivo apuntado por out. Puede hacer un test de su función usando el programa main que se provee. La función debe retornar el número de palabras que fueron corregidas #include . . . #define MAX 100 void main(){ FILE *f=fopen("original.txt","r"); FILE *g=fopen("corregido.txt","w"); int n; n = extraerInformacion(f,g,"aba"); printf("%d palabras fueron corregidas", n); } int extraerInformacion(FILE *in,FILE *out, char *sufijo){ char temporal[MAX]; int i=0; while((fscanf(in,"%s", temporal))!=EOF){ //AQUI SU CODIGO PARA MODIFICAR TEMPORAL fprintf(out,"%s ",temporal); } return i; } 2.) Modificar la función dada int extraerInformacion(FILE *in,FILE *out, char *sufijo) de tal manera que busque en el archivo apuntado por in el sufijo "y" y lo cambie por "es", el sufijo "s" y lo cambie "es" y si el sufijo es una vocal simplemente agregue "s", el resultado debe escribirse en el archivo apuntado por out. Nota: Para probar el resultado de esta práctica puede utilizar el archivo original.txt que se adjunta   4.2. Lección 2 del 1er Parcial ( 10 puntos ) La pregunta 1 solicitaba al estudiante escribir una función que, dado un número, determine si es o no un número primo. En la pregunta 2, se requería escribir un programa que utilice la función. Los resultados obtenidos se muestran a continuación:   Pregunta 1: Pregunta 2:  Calificado sobre: 4 ptos 6ptos Threshold: 2,4 ptos (60%) 3,6 ptos(60%) # estudiantes sobre el threshold: 23  15  % estudiantes sobre el threshold:  67,65%    44,12%  Promedio 2,9  3,04  Desviación estándar: 1,27  1,8  Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 5 of 13 
  • 6. Fundamentos de Programación F PREGUN NTA 1 PR REGUNTA 2 Min 0 4,5 7   4 Q1 2 6   3,5 Q1 Min 0 5 Q1 Median 3,25   3 2,5 Min Q1 1,3 3 4 Q3 4   Min 2 Max 4   1,5 Med dian Median 3 3 Median   1 Max x Q3 4,8 8 2 Max   0,5 Max M 6 1 Q3 Q3   0 0   1 1     El concep de funciones predicado se introdujo en la clase anterior a la fu pto o unción y alrededor del 68% de % estudiante demostraro habilidad p es on para escribir u función (O una Objetivo 3 de curso, c de ABET). Sin e el embargo, solamente el 44% de estudiantes de e e emuestran ha abilidad para u utilizar la funcción en un pro ograma. En dos claases posteriores (25-jun y 2-jul) se traba ajaron ejercic cios de exáme enes anteriores en los cua ales se revisó el m mecanismo pa llamar a u función desde un prog ara una grama. En el proy yecto parcial y final, los est tudiantes hicieron uso exte enso de funciones. 4.3. Exa amen parcial l Calificado s sobre: Threshold: 30 ptos (60 0%) # estudiant sobre el thr tes reshold: 21 % estudian   ntes sobre el threshold: 61. t .76% Exam men Par rcial   Estadística Examen P as  Parcial  50   Q1  24    40 Min  17    30 Median  33    20 Max  50    10 Q3  39,7 75    0   1 3 5 7 9 11 13 15 17 19 2 23 25 27 29 31 33 21           En el exa amen se evalú úan pregunta as que permit ten medir los criterios a, b, , c de ABET co omo sigue:  Pregunta Criterio ABE ET Objetivo del curso 1 (a) Habilidad para aplica conocimient de computa ar tos ación y matemá áticas apropiad a su dos 1,2,3 disciplina: uso de co ontadores, acum muladores, rea alización de opeeraciones mate emáticas usand variables de un programa. do e 2 (b) Habilidad para analiz un problem e identificar y definir los re zar ma, r equerimientos 1,2,3 compu utacionales apropiados para su solución. (c) Habilidad para diseñ implementa y evaluar un sistema utiliz ñar, ar, n zando concepto de os prograamación básica tales como estructuras de c a control ( lazos, condiciones) , funciones, y arreglos de una dime ensión 3 (c) Habilidad para diseñ implementa y evaluar un sistema utiliz ñar, ar, n zando concepto de os 1,2,3 prograamación básica tales como estructuras de c a control ( lazos, condiciones), f funciones, y arreglos de una dime ensión       Prof Ing Carm Vaca Ruiz men
  • 7. Fundamentos de Programación   Los resultados obtenidos por pregunta son los siguientes:    Pregunta 1: Pregunta 2: Pregunta 3:   Calificado sobre: 20 40 40   Threshold (60%): 12 ptos 27 ptos 27 ptos   # estudiantes sobre el threshold: 29 27 10     % estudiantes sobre el threshold: 85% 79% 29%   Promedio: 16.48 31.48 18.00   Desviación estándar: 4.64 12.55 11.22   PREGUNTA 1    Pregunta Nº 1 Min   4  25 Q1 Q1  14  20 Min Median  18  15 Q3  19.5  Media 10 Max  20  n 5   Max   0   29 de 34 estudiantes ( 85% ) demostraron habilidad en el uso de lazos, contadores y realización de  operaciones matemáticas utilizando el  lenguaje de programación C.    PREGUNTA 2  Pregunta Nº 2   45 Min  0.5    40 Q1  32    35 Q1 Median  37    30 Min   25 Median Q3  40  20   Max Max   40    15 10 Q3   5   0   27 de 34 estudiantes ( 85% ) demostraron para resolver un problema identificando los requerimientos  computacionales adecuados para la solución. La pregunta planteaba un algoritmo con reglas definidas y los  estudiantes en su gran mayoría pudieron traducirlo a un algoritmo en un lenguaje de programación.   PREGUNTA 3  Pregunta Nº 3   50 Min   0  Q1 Q1  9  40 Min Median  17  30 Median Q3  27  20 Max Max  30  10   Q3 0   10 de 40 estudiantes ( 29% ) resolvieron esta pregunta con un nivel de rendimiento mayor al 60%. Dado que  la pregunta 2 medía habilidades similares, y analizando las respuestas de los estudiantes se concluye que  muchos de ellos  no tuvieron tiempo suficiente para leer y desarrollar el tema final. En el proyecto parcial y en  Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 7 of 13 
  • 8. Fundamentos de Programación la sustentación del mismo se midieron habilidades para desarrollar un programa complejo a partir de  instrucciones dadas y se obtuvo un buen rendimiento.    4.4. Examen final   En el examen se evalúan preguntas que permiten medir los criterios a, b, c de ABET como sigue:  Pregunta Criterio ABET Objetivo del curso 2 (c) Habilidad para diseñar, implementar, y evaluar un sistema utilizando conceptos de 1,2,3 programación básica tales como arreglos de dos dimensiones, condicionales, lazos for 3 (a) Habilidad para diseñar, implementar, y evaluar un sistema utilizando conceptos de 1,2,3,4 programación básica tales como uso de archivos, cadenas de caracteres.   Los resultados obtenidos por pregunta son los siguientes:    Pregunta 2: Pregunta 3: Calificado sobre: 35  45  Threshold (60%): 21 ptos 27 ptos # estudiantes sobre el threshold: 26  19  % estudiantes sobre el threshold: 76%  56%  Promedio: 26.77  30.19  Desviación estándar:   9.55  13.08        PREGUNTA 2      Pregunta Nº 2 Min  0    40 Q1  27.75    35 Median  30.5    Q1 30 Q3  32    25 Min Max  35    20 Median   15 Max   10 Q3   5   0   26 de 34  estudiantes  (76%) mostraron habilidad para trabajar con arreglos de 2 dimensiones. En el proyecto  final los estudiantes utilizaron un arreglo de dos dimensiones para construir un tablero de Scrabble y esto les  permitió aplicar este concepto y contribuyó al aprendizaje del mismo.                        Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 8 of 13 
  • 9. Fundamentos de Programación PREGUNTA 3    Pregunta Nº 3 Min  0    50 Q1  22.875    45 Median  30.5    40 Q3  42.25    35 Q1   30 Min Max  45    25 Median   20 Max   15 Q3   10   5   0     19 de 34  estudiantes  (56%) mostraron habilidad para desarrollar un programa que requiere manejo de  archivos, estructuras de datos y cadenas de caracteres. Dado que el tema requería el manejo de varios  conceptos de programación de forma integrada, ciertos estudiantes  no completaron el desarrollo del mismo.       Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 9 of 13 
  • 10. Fundamentos de Programación                         ANEXOS      Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 10 of 13 
  • 11. Fundamentos de Programación Practica 01. Ejercico #1 RESPUESTAS A PRACTICA #1  #include <stdio.h> void main(){ int num, i, cnt=0; printf("DIVISORES DE UN NUMERO POSITIVOn"); printf("n==============================n"); printf("Ingrese un numeron positivo: "); scanf("%d",&num); for(i=1; i<=(num/2); i++){ if(num%i==0){ cnt++; printf("%d, ",i); } } printf("n Se encontraron %d divisoresn", cnt); } /* Autor: Carlos Zambrano Miño. Freddy Quimis Marcillo. Curso: Fundamentos de Programación Paralelo 2 Profesora: Carmen Vaca Descripcion: Programa que calcula los divisores de un determinado numero positivo */ Ejercicio #2 #include <stdio.h> void main(){ double bmi,w,h; printf("Ingrese su peso en libras: n"); scanf("%lf",&w); printf("Ingrese su altura en pulgadas: n"); scanf("%lf",&h); bmi=( (704.5) * (w/(h*h))); if(bmi<18.5) printf("under weightn"); else if((bmi>=18.5)||(bmi<=24.9)) printf("normaln"); else if((bmi>=25)||(bmi<=29.9)) printf("overweight"); else printf("obese"); } /* Autor: Carlos Zambrano Miño. Freddy Quimis Marcillo. Curso: Fundamentos de Programación Paralelo 2 Profesora: Carmen Vaca Descripcion: programa que indica en que estado se encuentra una persona de acuerdo a su índice de masa corporal */ /*Practica #01 Autores: Stella Andrade Roger Granda Curso: Fundamentos de Programacion Paralelo: 2 Profesora: Ing. Carmen Vaca Descripcion: Programa que imprima las divisiones de un numero*/ #include<stdio.h> void main () { int n, i,cont=0 ; printf("Calculo de los divisores de un numeron"); printf("=======================================nn"); printf("nIngrese un numero: "); printf("n==================================n"); scanf("%d",&n); printf("nLos divisores de %d son: n", n); for(i=1 ; i<=n/2 ; i++){ if((n%i)==0){ cont++; printf("%d, ",i); } } printf("n==================================n"); printf("n se encontraron %d divisoresnnn", cont); printf("n==================================n"); } //Descripcion: Programa que calcula el BMI de una persona, pidiendo su altura en pulgadas y su peso en libras #include <stdio.h> void main(){ float peso, altura; double bmi; printf("Calculo de el BMI"); printf("n==========================n"); printf("Ingrese su peso en libras: "); scanf("%f",&peso); printf("nIngrese su altura en pulgadas: "); scanf("%f",&altura); bmi=704.5*peso/(altura*altura); if(bmi<18.5){ printf("nUd. esta bajo de pesonn"); }else if(bmi<24.9) printf("Ud. esta con peso normalnn"); else if(bmi<29.9) printf("nUd. esta con sobrepesonn"); Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 11 of 13 
  • 12. Fundamentos de Programación else printf("nUd. esta obesonn"); } /*comentario Autor: Bryant Niola Jorge Aviles Curso: Fundamentos de programacion Paralelo: 1 RESPUESTAS A PRACTICA #1  Profesora: Carmen Vaca*/ //Comentario : Todo correcto!! #include<stdio.h> void main(){ int num,i,dato,cnt=0; printf("Ingrese Numero"); scanf("%d",&num); for(i=1;i<=num-1;i++){ if(num%i==0) { printf("%d,",i); cnt++; } } printf(" Se encontraron %d de divisores ",cnt); } #include<stdio.h> void main(){ float weigth,heigth,variable=704.5,bmi; printf("Ingrese su peso"); scanf("%f",&weigth); printf(" Ingrese su estatura"); scanf("%f",&heigth); bmi=variable*(weigth)/(heigth*heigth); if(bmi<18.5){ printf("underweigth"); } if(bmi>=18.5&&bmi<=24.9) printf(" normal"); if(bmi>=25&&bmi<=29.9); printf(" overweigth"); if(bmi>=30) printf(" obese "); } /* AUTOR: OMAR GUZHÑAY MARIO BARZOLA CURSO: FUNDAMENTOS DE PROGRAMACION PROFESORA: CARMEN VACA DESCRIPCION: ESTE PROGRAMA PRESENTAS TODOS LOS DIVISORES DE UNA CIERTA CANTIDAD INGRESADA POR EL USUARIO, ADEMAS MUESTRA CUANTOS DIVISORES SE ENCONTRARON */ #include <stdio.h> void main() { int num,i,cnt=0,b; printf("Ingrese un numero: "); scanf("%d",&num); if (num!=0) printf("Los numeros ingresados son: n"); for(i=1;i<=((num/2));i++) { if((num%i)==0) { cnt++; printf("%d,",i); } } printf("nSe encontraron %d divisoresn",cnt); getch(); return 0; } /* AUTOR: OMAR GUZHÑAY MARIO BARZOLA CURSO: FUNDAMENTOS DE PROGRAMACION PROFESORA: CARMEN VACA DESCRIPCION: ESTE PROGRAMA PRESENTAS LOS CUATRO ESTADOS POSIBLES DE UNA PERSONA FISICAMENTE LOS CUALES DEPENDERAN DE SU ALTURA Y PESO EN PULGADAS Y LIBRAS RESPECTIVAMENTE FORMULA GENERAL: bmi=(704.5*((peso)/(altura^2))); BMI < 18.5 CORRESPONDE A UNDER Weight 18.5 -BMI- 24.5 CORRESPONDE A NORMAL 25.0 -BMI- 29.9 CORRESPONDE A OVER Weight BMI >= 30.0 CORRESPONDE A OBESE Weight */ #include <stdio.h> void main() { Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 12 of 13 
  • 13. Fundamentos de Programación float peso,altura,bmi; printf("Ingrese su peso en libras: "); scanf("%f",&peso); printf("Ingrese su altura en pulgadas: "); scanf("%f",&altura); bmi=(704.5*((peso)/(altura*altura))); if (bmi<18.5) printf("Under Weightn"); else if (bmi<=24.9) printf("Normaln"); else if (bmi<=29.9) printf("Over Weightn"); else if (bmi>=30) printf("Obesen"); getch(); return 0; } /* Nota: Para elevar al cuadrado la altura se considero (altura * altura) aunque se debio de utilizar la sentencia pow(x,y) con su respectiva libreria #include <math.h> al inicio ejemplo: #include <math.h> bmi=(704.5*((peso)/(pow(altura,2)))); */ RESPUESTAS A PRACTICA #2  /* Autores: Alejandro Vinueza Estrella Montero Materia: Fund de Progamacion 2010 I Paralelo: 2 Profesor: Ing Carmen Vaca*/ #include<stdio.h> void main(){ int i, j, n, suma=0; /* do{ Autores: Alejandro Vinueza printf("Ingrese un Estrella Montero n%cmero: ",163); Materia: Fund de Progamacion 2010 I scanf("%d",&n); Paralelo: 2 }while(n<=0); Profesor: Ing Carmen Vaca*/ for(i=1; i<=n; i++){ for(j=1; j<=i; j++){ #include<stdio.h> printf("%d void main(){ ",j); int i, j, n; if(j!=i) do{ printf("Ingrese un n%cmero: ",163); printf("+ "); scanf("%d",&n); suma=suma+j; }while(n<0); } for(i=1; i<=n; i++){ printf("= %d",suma); for(j=1; j<=i; j++) suma=0; printf(" %c ",1); printf("n"); printf("n"); } } } } Prof. Ing. Carmen Vaca Ruiz Paralelo#2. - I Término 2010 Pág 13 of 13