La programación se trata de resolver un problema particular a través de códigos computarizados. Ya sea un problema de gestión de inventario en cualquier centro comercial, evaluación de marcas de hojas OMR, funcionamiento de un automóvil remoto o incluso funcionamiento de un misil. Por lo tanto, el alcance de la programación varía desde tareas muy simples hasta tareas extremadamente complicadas. Pero detrás de todos los códigos, un parámetro es común, es decir, manejar y resolver el problema de manera eficiente. Como uno no puede aprender a volar un avión simplemente viéndolo volar, uno tiene que aprenderlo realmente. De manera similar, para convertirse en un codificador competente, uno tiene que hacer los códigos. Y, la tarea de codificar es extremadamente fácil una vez que uno aprende cómo aplicar la lógica para resolver problemas.
La programación informática se compone de las entidades fundamentales que son escribir, probar, solucionar problemas, depurar y mantener un programa informático.
- Escribir implica escribir en un papel cuál es el resultado deseado del código. Esto se puede hacer fácilmente dibujando un diagrama de flujo que represente todos los pasos involucrados de principio a fin. Luego, escribir también implica escribir la primera copia del curso en el software correspondiente. Entonces el código escrito tiene que ser probado.
- Una vez probado, si hay algunos errores, entonces esos errores deben eliminarse. Este proceso se denomina solución de problemas.
- Para determinar la ubicación exacta del error en el código se ejecuta mediante un proceso llamado depuración.
- Después de completar con éxito todos estos pasos, el programa se ejecuta para obtener el resultado deseado. A esto se le llama ejecutar el programa.
Un programa se llama programa eficiente solo si da una salida correcta correspondiente a cada entrada, incluida la entrada incorrecta. El enfoque sistemático para escribir un artículo tan eficiente implica dos pasos:
a) Estructura del programa yb) Representación del programa. Mientras que el primero se implementa utilizando un enfoque de abajo hacia arriba o de arriba hacia abajo y se denomina «enfoque popular»; este último se utiliza para hacer que el código sea más legible y comprensible.
¿Qué es un programa eficiente o bueno?
Un buen programa es aquel que produce resultados más rápidos y precisos y debe ocupar menos espacio en la memoria de la computadora. Esta restricción en el espacio de memoria a menudo se denomina restricciones de memoria. Los eminentes programadores del mundo han acordado una lista de hábitos que se consideran buenos para programar.
Esta lista contiene:
- Claridad y Simplicidad de Expresión: Operadores, Operandos y Constantes constituyen para formar una expresión. Para garantizar la claridad y la simplicidad de una expresión, se deben tener en cuenta los siguientes puntos:
- Utilice las funciones de la biblioteca para hacer que los programas sean más potentes
Por ejemplo:
Find Output = x4 Output = x*x*x*x We can use output = power (x, 6)
- Siga la simplicidad para mantener la claridad de expresión.
Por ejemplo:
X = (A + B) / (A - B) - (U + VY) / (X + Y)
Podemos simplificarlo y escribirlo como:
X1 = (A + B) / (A - B) X2 = (U + VY) / (X + Y) X = X1 - X2
- Evite el uso de trucos de programa, cuyo significado es difícil de comprender para el usuario.
- Utilice las funciones de la biblioteca para hacer que los programas sean más potentes
- Uso de nombres propios para identificadores: Los nombres definidos por el usuario que se usan para nombrar cosas se denominan Identificadores. Un nombre asociado con cualquier función, constante o variable se usa para referirse a ese objeto en particular. Solo las letras (AZ, az) , el carácter de subrayado (_) y los dígitos (0-9) pueden formar un identificador válido. Sin embargo, no se pueden usar dígitos para comenzar el nombre de ningún identificador.
- Se debe usar un nombre significativo para un objeto de datos (variable) y una función.
To find area of a rectangle Use the variable names as length and breadth Area = length * breadth
- Deben elegirse nombres significativos de las constantes.
E = 2.71 Use instead euler_constant = 2.71
- Deben evitarse nombres similares como libro, tenedor de libros o biblioteca, bibliotecario.
- Deben evitarse los identificadores de una letra como a, b, c. En su lugar, use nombres más relevantes como edad, nombre, nombre, etc.
- Se debe usar un nombre significativo para un objeto de datos (variable) y una función.
- Comentarios:Para mejorar la legibilidad de un programa, se utilizan comentarios. Estos se utilizan para incrustar anotaciones legibles por el programador en el código fuente o original de un programa. Estos comentarios son profundamente importantes para el programador, pero los compiladores e intérpretes simplemente los pasan por alto. Los comentarios deben agregarse en el programa en un idioma inglés simple donde indiquen por qué se ha utilizado una función en particular en el programa o para especificar la razón para usar cualquier objeto de datos o función en particular en el código. Los comentarios generalmente se clasifican en dos categorías, a saber, «Comentarios de bloque» y «Comentarios de línea». Los comentarios de línea son comentarios de una sola línea, mientras que los comentarios de bloque suelen ser comentarios de varias líneas. Los símbolos para denotar comentarios de bloque y comentarios de línea son diferentes en diferentes idiomas. Sin embargo, el símbolo para comentarios de bloque también se puede utilizar para comentarios de línea. En Python, por ejemplo, los comentarios de bloque se implementan con «»» y «»», mientras que los comentarios de línea se implementan con #. Tomemos un ejemplo:
“Escriba un programa usando el bucle while en python para imprimir una secuencia de números del 1 al 50.
mientras (n < 50); # Mientras bucle
imprimir m
norte = norte + 1
- Sangría: La sangría se define como el proceso de colocar espacios en blanco (tabuladores y espacios) al comienzo de cada declaración. Se utiliza para determinar el grupo de una declaración. Tomemos un ejemplo:
# Que Anshul y Vivek denoten la edad de dos hermanos
Si Anshul > Vivek
imprimir ‘Anshul es mayor’ # Bloque 1
más:
imprimir ‘Vivek es mayor’ # Bloque 2
En este ejemplo, el bloque ‘if’ que se usa es un tipo de bloque de código. Si la condición ‘si’ se evalúa como verdadera, se ejecuta el Bloque 1; de lo contrario, se ejecuta el Bloque 2. Sin embargo, los bloques individuales pueden tener varias líneas, pero es evidente que una sangría adecuada hace que la visibilidad de un bloque en particular sea más fácil y simple.
Características de una buena programación
Que pasa, si enterramos una semilla de mango debajo de la tierra. Después de muchos años crecerá un árbol de mango en ese lugar. Bueno, es una cosa muy fundamental. El concepto de la idea es que ‘la entrada determina la salida’. Y este concepto se aplica incluso en la programación. Para producir/proporcionar la salida correcta y deseada, necesitamos alimentar/proporcionar a la computadora un conjunto de instrucciones adecuado y correcto. Las características de un buen programa son las siguientes:
- Flexibilidad: Debería ser posible acomodar modificaciones en el programa sin tener el requisito de escribir todo el código nuevamente. El programa debe ser capaz de servir a múltiples propósitos. Por ejemplo, el software CAD (diseño asistido por computadora) se puede usar de manera eficiente para servir en diversos campos, como dibujo de ingeniería, arte industrial, diseño de telas, diseño y diseño de circuitos de impresión, dibujo arquitectónico, etc. La mayoría de los softwares se desarrollan para un período particular y se requieren actualizaciones. hacer que el software sea adaptable para servir también a nuevos propósitos.
- Fácil de usar: los programas fáciles de usar son aquellos programas que un principiante puede entender fácilmente. La interacción entre el usuario y el programa debe ser fácil de entender. Los comandos en el programa como ingresar datos, imprimir resultados, etc. deben ser fácilmente comprensibles para el usuario ingenuo.
- Portabilidad: la capacidad de un programa para ejecutarse en diferentes sistemas operativos sin cambios mínimos se denomina portabilidad del programa o aplicación. Con el surgimiento de numerosas plataformas que tienen diferentes sistemas operativos integrados, y con la disponibilidad de varios hardware y software, la portabilidad es algo de lo que todos los desarrolladores de aplicaciones se ocupan en estos días. Sin portabilidad, un programa muy útil para uno plataforma se vuelve obsoleta para otra. Los programas desarrollados en lenguajes de alto nivel son generalmente más portátiles que los programas desarrollados en lenguajes de nivel ensamblador.
- Confiabilidad: la confiabilidad de un programa se refiere a su capacidad para realizar la función prevista con precisión junto con ciertas modificaciones. La capacidad de un programa para manejar excepciones de entrada incorrecta o ausencia de entrada es uno de los comportamientos fundamentales que definen la confiabilidad. Aunque no se espera que el programa produzca un resultado correcto en estas excepciones, debería ser capaz de proporcionar un mensaje de error. Un programa equipado con tal característica se denomina programa confiable.
- Código autodocumentado: un código autodocumentado es el código fuente, en el que se utilizan nombres adecuados para los identificadores. Los nombres propios de los identificadores facilitan al usuario la comprensión de la funcionalidad de una variable o consonante particular (identificador). Por lo tanto, es recomendable que todo buen programa tenga un código autodocumentado.
Enfoque modular de la programación
A menudo hay códigos muy largos en el mundo práctico. Estos códigos están escritos para realizar varias funciones o tareas. Ahora, un programa o código eficiente es aquel en el que el código extenso se divide en diferentes secciones/módulos. Este proceso de dividir un código largo en diferentes subcódigos se denomina enfoque modular de la programación. Estos diferentes módulos a menudo se denominan funciones en un programa.
Tomemos como ejemplo:
Deje que el siguiente código represente un programa para evaluar el porcentaje de un estudiante en el examen de décima clase.
Input marks of first subject Input marks of second subject Input marks of third subject Input marks of fourth subject Input marks of fifth subject Add marks of all subject Multiply the total marks by 100 Divide the above result by 5 Output the result as percentage of the student.
Ahora, el programa anterior es una breve ilustración de cómo un programa largo puede ser aún más difícil de operar. Ahora, según el enfoque modular, el programa anterior se ve así:
Input marks Get total marks Evaluate percentage Output result
Input Marks # Module 1 { Input marks of first subject Input marks of second subject Input marks of third subject Input marks of fourth subject Input marks of fifth subject } Get total marks # Module 2 { Add marks of all subject } Evaluate Percentage # Module 3 { Multiply the total marks by 100 Divide the above result by 5 } Output result # Module 4 { Output the result as percentage of the student. }
Esto se denomina enfoque modular de la programación y debe seguirse con programas largos.
Documentación y Mantenimiento de Programas
En el enfoque modular de la programación vimos que diferentes módulos ayudan a manejar el programa de manera eficiente. En el mundo pragmático, donde los códigos son más largos de lo habitual, diferentes departamentos de la organización desarrollan diferentes módulos de un mismo programa. Por lo tanto, se requiere que estos módulos estén debidamente documentados y mantenidos para que cada departamento pueda usarlos de manera eficiente. Este procedimiento se denomina documentación y mantenimiento de un programa.
Las pautas para un buen documento son las siguientes:
- La documentación debe hacerse desde la perspectiva del lector.
- No debe ser ambiguo.
- Debe evitarse la repetición de documentos.
- Al preparar el documento, se deben seguir los estándares industriales.
- Se debe hacer una actualización periódica de los documentos.
- Los documentos obsoletos deben eliminarse o actualizarse.
- Méritos de la Documentación
- Ayuda a realizar un seguimiento del programa completo de forma modular.
- Mantenimiento más fácil
- Mejora la calidad del software.
- El código se vuelve comprensible para el desarrollador y otros también.
- Hace que el entrenamiento del usuario sea más fácil
- Si el primer desarrollador deja el trabajo en el medio, entonces el nuevo desarrollador puede familiarizarse fácilmente con el trabajo en curso.
- Tipos de Documentos
- Manual de usuario: Es como una guía de ‘Cómo usar’ para los usuarios finales.
- Manual Operativo: Contiene todas las operaciones y sus interdependencias que están siendo utilizadas en el programa.
- Documento de diseño: incluye todos los aspectos de diseño del programa y contiene diagramas como el flujo de datos, las relaciones entre entidades, etc.
- Documento de requisitos: enumera los requisitos para ejecutar el software de manera eficiente.
- Documento técnico: En este documento se enumeran componentes como códigos de programa, algoritmos, módulos funcionales, etc.
- Documento de lista de errores conocidos: en este documento se enumeran los errores o errores que se descubrieron más tarde y, por lo tanto, no se pudieron eliminar del software.
Errores y sus tipos.
Los errores son aberraciones no deseadas que ocurren en un programa debido a una operación ilegal realizada por el desarrollador o el usuario del programa. Los errores también se denominan «errores» en el lenguaje de programación. No se detectan hasta que se compila o ejecuta el programa. Los tipos o errores comunes son los siguientes:
- Errores de sintaxis: Los errores de sintaxis o errores de tiempo de compilación son errores que ocurren cuando no se siguen las reglas de escritura adecuadas de un idioma en particular. Cada idioma tiene un conjunto de instrucciones que deben seguirse al escribir un código en ese idioma en particular. Estos errores se denominan errores de sintaxis. Dado que estos errores son detectados por el compilador en el momento de la compilación, también se denominan errores de tiempo de compilación.
Ejemplo:
a = int(input('Enter a number: ')) whille a%3 == 0: print('The number is divisible by 3.') else: print ('The number is not divisible by 3.')
Tenga en cuenta que la palabra clave «while» en el código anterior no está escrita correctamente. Este tipo de errores se denominan errores de sintaxis.
- Errores de tiempo de ejecución: estos son errores que ocurren mientras se ejecuta el programa, por lo que también se denominan errores de tiempo de ejecución. Estos errores dan como resultado la finalización abrupta del programa o el programa también puede entrar en un ciclo sin fin.
Ejemplo:
a = int(input('Enter a number: ')) b = 0 whille a%b == 0: print('The first number is a multiple of second number.') else: print ('The first number is not a multiple of second number.')
Tenga en cuenta que el segundo número se establece de forma predeterminada en cero. Ahora, un número dividido por cero da como resultado un infinito que no se conoce. Estos errores se denominan errores de tiempo de ejecución.
- Errores Lógicos: Estos errores como se explican por sí mismos por su nombre, ocurren debido a la implementación de una lógica incorrecta por parte del desarrollador del programa. Estos errores no se detectan al compilar o ejecutar el programa.
Ejemplo:
x = float(input('Enter a number: ')) y = float(input('Enter a number: ')) z = x + y / 2 print ('The average of the two numbers you have entered is:', z)
Ahora, según el objetivo deseado, se espera que el programa anterior proporcione el promedio de dos números x e y. Pero no produce el resultado deseado. Porque en primer lugar, se divide y por 2 y luego se suma el resultado a x. Por lo tanto, la lógica incorrecta está ahí. Según la lógica correcta, el desarrollador debería haber escrito:
z = ( x + y ) / 2
Este tipo de errores se denominan errores lógicos o errores semánticos .