lunes, 26 de septiembre de 2016

Suma en Lenguajes Diferentes

Autor: Constanza Couselo

   
Competencia: Desarrollo de Software(Nivel 1) 
Asignatura: Programacion II
Palabras clave: Python, C,Algoritmo

Introducción:

    La actividad desarrollada consistía en escribir un pequeño software basado en un algoritmo corto que ejecutara la suma de numeros ingresados por la entrada estandar como parametros en dos lenguajes distintos.

Solución:

    Dada la sencillez del algoritmo no se desarrollaron diagramas de flujo ni análisis extensivos mas allá del hecho de solo investigar por cuenta propia el mecanismo de funcionamiento de los ciclos en los diferentes lenguajes (C,Python), para este trabajo en particular, el ciclo for y while.

    Como se manifestó en la introducción, el programa recibe una serie de numeros que guarda en las variable "argv" que es utilizada por algunos lenguajes para tomar sucesivos parametros por medio de la entrada estandar, esto quiere decir que cuando se invoca el programa se le pasan los parametros directamente, por ejemplo: "%suma 1 2 3 4 5".

    Los dos programas muestran al usuario el mismo resultado y cumplen la misma función sin embargo cada uno tiene su propia implementación con ligeras diferencias que pueden ser observadas con detenimiento al analizar los dos diferentes codigos presentados:

Codigo en C 
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    unsigned long int suma=0;
    int i;

    for(i=0;i<argc;i++)
    {
        suma+=atoi(argv[i]);
    }

    fprintf(stderr,"total de suma = %d\n", suma);

    return 0;
}
Codigo en lenguaje Python
#! /usr/bin/python

import sys
suma = 0
i=1
while i < len(sys.argv):
    valor = sys.argv[i]
    suma = suma + int(valor)
    i+=1
print 'el resultado de la suma es: ' + str(suma)

 

Reflexión:
  
    Como actividad introductoria y a pesar de la sencillez se puede concluir que nos sirve como estudiantes para adquirir destreza en el razonamiento relativo a que las cosas se pueden hacer de muchas formas, no obstante, para algunos casos se requieren de soluciones que brinden optimización de tiempo respecto del desarrollo e implementación hecho que puede ser comprobado en relación a la cantidad de lineas de código requeridas por los distintos lenguajes para la escritura de un programa lo que implica para un caso de la vida laboral un tiempo menor de desarrollo con la consecuente entrega oportuna de los trabajos encomendados.

No hay comentarios.:

Publicar un comentario