Algoritmos y lenguaje C Autor: abraham sopla

mailxmail - Cursos para compartir lo que sabes Algoritmos y lenguaje C Autor: abraham sopla 1 mailxmail - Cursos para compartir lo que sabes Presentación del curso Este curso pretende dar a conocer las explicaciones más simples del trabajo de los ordenadores. Puedes descubrir cada paso que realizan, cómo lo realizan, qué es lo qué utilizan y en qué orden lo utilizan. 2 mailxmail - Cursos para compartir lo que sabes 1. Introducción En educación superior quien lleve un curso de Lenguajes de Programación, técnicas de programación, algoritmos, estructuras de datos, sistemas operativos, etc, se habrá dado cuenta lo complicados que resultan estos cursos cuando no entendemos, como es que la computadora maneja internamente las líneas de código escritas en los programas para realizar una actividad. ¿Quien sabe como se ordenan los datos en una hoja de calculo Excel?, de manera que, luego de seleccionar datos, pulsamos el botón ordenar de la barra de herramientas y listo. ¿Quién sabe como calcula el término n de una sucesión de números?, etc, sinceramente una serie de problemas. Todos intentamos manejar las computadoras -usarlas- para resolver problemas, sin antes hacer por lo menos un pequeño plan acerca de la solución o tantear el camino a seguir para llegar a la solución de una situación problema dado. Aspectos que nos obligan a llevar largas horas, sentados frente a las computadoras. Hay quienes creen que para ser buenos programadores hay que tener una computadora, talvez no sea tan cierto; pero mas seguro es primero saber resolver los problemas usando algoritmos para luego llevarlos a las computadoras. En estos casos queda claro que el uso de la computadora pasa a segundo plano. En consecuencia para resolver un problema en computadora primero hay que hacer un plan, en otras palabras un algoritmo. Los algoritmos que desarrollaremos serán usando pseudocódigo e implementados en lenguaje C, tratando de no llegar a complicaciones en el uso del lenguaje. En los primeros capítulos del libro, encontramos teoría suficiente para desarrollar e implementar los algoritmos en lenguaje C. Tenga en cuenta que este documento no tiene prioridad en el estudio del lenguaje C si no más bien en el uso del mismo en la resolución de problemas comunes. Según el avance se trata ejercicios combinados con los diferentes tipos de sentencias y grado de dificultad. Algunos de los ejercicios solucionados se encuentran propuestas por otros autores, sin embargo lo que a nosotros nos interesa es como solucionarlos, para así cumplir con nuestro objetivo. Este trabajo está orientado a estudiantes que se inician en educación superior en carreras de Ingeniería de Sistemas, computación e informática, electrónica, industrial, etc., a quienes se les sugiere estudiar detenidamente los casos que presentamos. Claro está que nos es la idea que se los copien o se los aprendan de memoria las soluciones, si no más bien tengan en sus manos un material de ayuda. 3 mailxmail - Cursos para compartir lo que sabes 2. Indicaciones para principiantes 1.1 PSEUDOCÓDIGO El pseudocódigo es un lenguaje general, de especificación de la solución del problema mediante un algoritmo. Se considera como el paso anterior a la codificación. La ventaja es que, este lenguaje puede ser traducido indistintamente y sin problemas a cualquier lenguaje de programación de computadora. Un algoritmo es una secuencia de pasos lógicos que nos conducen hacia la solución de un determinado problema. Nosotros haremos los algoritmos usando un lenguaje común, el más sencillo para todos. Indicamos que no nos distraeremos preocupados por terminismos. La idea en fin, será solucionar los problemas y así lo haremos, sabiendo que lo más importante antes de empezar a escribir un programa es necesario hacer el algoritmo. Lógicamente, si ya tiene el programa que soluciona un problema, ya no necesita hacerle un algoritmo; pero si de situaciones académicas se trata, hacer el algoritmo, teniendo el programa no necesita de ningún esfuerzo, solamente pegarse a algunas reglas y términos de pseudocódigo, como inicio, fin asignar, etc. 1.2 ESTRATEGIA PARA RESOLVER PROBLEMAS CON ALGORITMOS Cuando usted está resolviendo un examen va donde el profesor cada rato y pregunta y pregunta acerca de un problema, hasta se olvida que esta rindiendo un examen, después dice, esta mal planteada la pregunta, y raja, se molesta, tira la silla y sale del examen y comenta con sus compañeros e insiste que el problema estaba mal planteado, lógicamente que eso puede suceder; si para usted es todas las veces así, quizás resulte que en el examen que acaba de desaprobar y después que el profesor resolvió el problema usted diga ¡claro la pregunta era esa!, ¡verdad esa era la respuesta!. En el pregrado también lo hacíamos. ¡La experiencia enseña!, habemos personas que intentamos dar respuestas a los problemas, sin haber entendido de lo que se trata, algo así como que al leer o escuchar, leemos o escuchamos a medias y si en esta situación nos encontramos pues lo que estamos haciendo es aumentar la dificultad del problema, que se supone vamos a solucionar. Ante un problema, hay que leer o escuchar cuantas veces sean necesarias, hasta comprender o memorizar el enunciado si fuera posible. Cuantas veces hemos fracasado por no escuchar o saber leer bien, lo que implica entender. Saber escuchar o leer es saber comprender. ¡Si no entiende un problema no se atreva a resolverlo, mejor quédese intentado comprenderlo! A continuación planteamos 3 pasos indispensables en el desarrollo de problemas usando algoritmos. 1.2.1 PASOS PARA DEFINIR PROBLEMAS 1. COMPRENDER EL PROBLEMA: Lea o escuche atentamente el problema. Haga un bosquejo, tantee una posible solución. Si no entiende el problema no continúe al paso 2. 2. IDENTIFICAR LAS ENTRADAS, PROCESOS Y SALIDAS Entradas: Identifique los datos de ingreso al algoritmo. Procesos: Son las operaciones, cálculos matemáticos o procesos que se realizan con los datos de entrada, a veces dependen del conocimiento de algún tema especifico, puede ser matemáticas, estadística, química, biología, investigación de operaciones, contabilidad, etc. 4 mailxmail - Cursos para compartir lo que sabes Salidas: Son los resultados a imprimirse o mostrarse. Es la solución al problema. Son las respuestas. 3. COMPROBAR: Consiste en simular para verificar si el algoritmo resuelve el problema realmente, se hacen con los datos posibles de entrada, puede realizarse en papel y a mano. Generalmente los problemas con estructuras secuénciales y selectivas son más complicados de comprender y fáciles de identificar las entradas, procesos y salidas, ya que las soluciones tratan de al menos de operaciones matemáticas u procesos sencillos. Por otro lado los problemas donde se usan bucles o repeticiones, son sencillos de comprender y difíciles de identificar las entradas, procesos y salidas. EJEMPLO 1: Escribir un algoritmo para un programa que calcule el área de un trapecio. 1. Comprendiendo el problema: Luego de saber que el problema se trata de geometría y es un tema que todo estudiante de educación superior conoce, el problema ya estaría comprendido de antemano, específicamente se trata del cálculo del área de un trapecio. 2. Identificando las entradas, procesos y salidas Entradas: Para calcular el área de un trapecio, necesitamos saber el valor numérico de: la base mayor, base menor y su altura. Procesos: El proceso general a realizarse sería: Salidas: La única salida sería el , en ambos casos 3. Comprobando. Algoritmo Inicio Declare area, basemayor, basemenor, altura Area: ((basemayor+basemenor)/2)* altura Imprimir area Fin EJEMPLO 2: Escriba un programa que calcule la suma de: 1/10+1/11+1/12+1/13+...+1/50 Usemos los pasos para definir el problema. 1. El problema trata de la suma de una serie de fracciones cuyo numerador es 1 y los denominadores están en sucesión aritmética empezando del 10 y van 5 mailxmail - Cursos para compartir lo que sabes aumentado de 1 en 1 hasta 50. 2. El proceso consiste en una simple suma, sucesiva. 3. La salida es la suma. Algoritmo Inicio Declare suma, a Suma:0 Desde a=10 hasta a=18) na18=na18+1; } printf("hay aprobados: %d y aprobados con mas de 18 %d:\n",naa,na18); } Ejercicio 24 Escriba el algoritmo para un programa que calcule la suma de n de términos ingr

33 downloads 145 Views 625KB Size

Story Transcript

mailxmail - Cursos para compartir lo que sabes

Algoritmos y lenguaje C Autor: abraham sopla

1

mailxmail - Cursos para compartir lo que sabes

Presentación del curso Este curso pretende dar a conocer las explicaciones más simples del trabajo de los ordenadores. Puedes descubrir cada paso que realizan, cómo lo realizan, qué es lo qué utilizan y en qué orden lo utilizan.

2

mailxmail - Cursos para compartir lo que sabes

1. Introducción En educación superior quien lleve un curso de Lenguajes de Programación, técnicas de programación, algoritmos, estructuras de datos, sistemas operativos, etc, se habrá dado cuenta lo complicados que resultan estos cursos cuando no entendemos, como es que la computadora maneja internamente las líneas de código escritas en los programas para realizar una actividad. ¿Quien sabe como se ordenan los datos en una hoja de calculo Excel?, de manera que, luego de seleccionar datos, pulsamos el botón ordenar de la barra de herramientas y listo. ¿Quién sabe como calcula el término n de una sucesión de números?, etc, sinceramente una serie de problemas. Todos intentamos manejar las computadoras -usarlas- para resolver problemas, sin antes hacer por lo menos un pequeño plan acerca de la solución o tantear el camino a seguir para llegar a la solución de una situación problema dado. Aspectos que nos obligan a llevar largas horas, sentados frente a las computadoras. Hay quienes creen que para ser buenos programadores hay que tener una computadora, talvez no sea tan cierto; pero mas seguro es primero saber resolver los problemas usando algoritmos para luego llevarlos a las computadoras. En estos casos queda claro que el uso de la computadora pasa a segundo plano. En consecuencia para resolver un problema en computadora primero hay que hacer un plan, en otras palabras un algoritmo. Los algoritmos que desarrollaremos serán usando pseudocódigo e implementados en lenguaje C, tratando de no llegar a complicaciones en el uso del lenguaje. En los primeros capítulos del libro, encontramos teoría suficiente para desarrollar e implementar los algoritmos en lenguaje C. Tenga en cuenta que este documento no tiene prioridad en el estudio del lenguaje C si no más bien en el uso del mismo en la resolución de problemas comunes. Según el avance se trata ejercicios combinados con los diferentes tipos de sentencias y grado de dificultad. Algunos de los ejercicios solucionados se encuentran propuestas por otros autores, sin embargo lo que a nosotros nos interesa es como solucionarlos, para así cumplir con nuestro objetivo. Este trabajo está orientado a estudiantes que se inician en educación superior en carreras de Ingeniería de Sistemas, computación e informática, electrónica, industrial, etc., a quienes se les sugiere estudiar detenidamente los casos que presentamos. Claro está que nos es la idea que se los copien o se los aprendan de memoria las soluciones, si no más bien tengan en sus manos un material de ayuda.

3

mailxmail - Cursos para compartir lo que sabes

2. Indicaciones para principiantes 1.1 PSEUDOCÓDIGO El pseudocódigo es un lenguaje general, de especificación de la solución del problema mediante un algoritmo. Se considera como el paso anterior a la codificación. La ventaja es que, este lenguaje puede ser traducido indistintamente y sin problemas a cualquier lenguaje de programación de computadora. Un algoritmo es una secuencia de pasos lógicos que nos conducen hacia la solución de un determinado problema. Nosotros haremos los algoritmos usando un lenguaje común, el más sencillo para todos. Indicamos que no nos distraeremos preocupados por terminismos. La idea en fin, será solucionar los problemas y así lo haremos, sabiendo que lo más importante antes de empezar a escribir un programa es necesario hacer el algoritmo. Lógicamente, si ya tiene el programa que soluciona un problema, ya no necesita hacerle un algoritmo; pero si de situaciones académicas se trata, hacer el algoritmo, teniendo el programa no necesita de ningún esfuerzo, solamente pegarse a algunas reglas y términos de pseudocódigo, como inicio, fin asignar, etc. 1.2 ESTRATEGIA PARA RESOLVER PROBLEMAS CON ALGORITMOS Cuando usted está resolviendo un examen va donde el profesor cada rato y pregunta y pregunta acerca de un problema, hasta se olvida que esta rindiendo un examen, después dice, esta mal planteada la pregunta, y raja, se molesta, tira la silla y sale del examen y comenta con sus compañeros e insiste que el problema estaba mal planteado, lógicamente que eso puede suceder; si para usted es todas las veces así, quizás resulte que en el examen que acaba de desaprobar y después que el profesor resolvió el problema usted diga ¡claro la pregunta era esa!, ¡verdad esa era la respuesta!. En el pregrado también lo hacíamos. ¡La experiencia enseña!, habemos personas que intentamos dar respuestas a los problemas, sin haber entendido de lo que se trata, algo así como que al leer o escuchar, leemos o escuchamos a medias y si en esta situación nos encontramos pues lo que estamos haciendo es aumentar la dificultad del problema, que se supone vamos a solucionar. Ante un problema, hay que leer o escuchar cuantas veces sean necesarias, hasta comprender o memorizar el enunciado si fuera posible. Cuantas veces hemos fracasado por no escuchar o saber leer bien, lo que implica entender. Saber escuchar o leer es saber comprender. ¡Si no entiende un problema no se atreva a resolverlo, mejor quédese intentado comprenderlo! A continuación planteamos 3 pasos indispensables en el desarrollo de problemas usando algoritmos. 1.2.1 PASOS PARA DEFINIR PROBLEMAS 1. COMPRENDER EL PROBLEMA: Lea o escuche atentamente el problema. Haga un bosquejo, tantee una posible solución. Si no entiende el problema no continúe al paso 2. 2. IDENTIFICAR LAS ENTRADAS, PROCESOS Y SALIDAS Entradas: Identifique los datos de ingreso al algoritmo. Procesos: Son las operaciones, cálculos matemáticos o procesos que se realizan con los datos de entrada, a veces dependen del conocimiento de algún tema especifico, puede ser matemáticas, estadística, química, biología, investigación de operaciones, contabilidad, etc.

4

mailxmail - Cursos para compartir lo que sabes Salidas: Son los resultados a imprimirse o mostrarse. Es la solución al problema. Son las respuestas. 3. COMPROBAR: Consiste en simular para verificar si el algoritmo resuelve el problema realmente, se hacen con los datos posibles de entrada, puede realizarse en papel y a mano. Generalmente los problemas con estructuras secuénciales y selectivas son más complicados de comprender y fáciles de identificar las entradas, procesos y salidas, ya que las soluciones tratan de al menos de operaciones matemáticas u procesos sencillos. Por otro lado los problemas donde se usan bucles o repeticiones, son sencillos de comprender y difíciles de identificar las entradas, procesos y salidas. EJEMPLO 1: Escribir un algoritmo para un programa que calcule el área de un trapecio. 1. Comprendiendo el problema: Luego de saber que el problema se trata de geometría y es un tema que todo estudiante de educación superior conoce, el problema ya estaría comprendido de antemano, específicamente se trata del cálculo del área de un trapecio. 2. Identificando las entradas, procesos y salidas Entradas: Para calcular el área de un trapecio, necesitamos saber el valor numérico de: la base mayor, base menor y su altura. Procesos: El proceso general a realizarse sería:

Salidas: La única salida sería el , en ambos casos 3. Comprobando.

Algoritmo Inicio Declare area, basemayor, basemenor, altura Area: ((basemayor+basemenor)/2)* altura Imprimir area Fin

EJEMPLO 2: Escriba un programa que calcule la suma de: 1/10+1/11+1/12+1/13+...+1/50 Usemos los pasos para definir el problema. 1. El problema trata de la suma de una serie de fracciones cuyo numerador es 1 y los denominadores están en sucesión aritmética empezando del 10 y van

5

mailxmail - Cursos para compartir lo que sabes aumentado de 1 en 1 hasta 50. 2. El proceso consiste en una simple suma, sucesiva. 3. La salida es la suma. Algoritmo Inicio Declare suma, a Suma:0 Desde a=10 hasta a=18) na18=na18+1; } printf("hay aprobados: %d y aprobados con mas de 18 %d:\n",naa,na18); } Ejercicio 24 Escriba el algoritmo para un programa que calcule la suma de n de términos ingresado por el teclado de la serie 5/6,11/12,23/14,..... Algoritmo Inicio Declare i, n, num, suma Leer n Suma:0; Num:2; Desde i=1 hasta i

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.