INTRODUCCION A LA PROGRAMACION

 

INTRODUCCIÓN A LA PROGRAMACIÓN
11 BACHILLERATO EN CIENCIAS Y HUMANIDADES
LIC. MARCO ANTONIO RAMOS 
II SEMESTRE

TEMAS A DESARROLLAR:
  • ALGORITMOS
  • LENGUAJES ALGORÍTMICOS
  • METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS MEDIANTE LA COMPUTADORA
  • TIPOS DE DATOS
  • OPERADORES
  • IDENTIFICADORES
  • TÉCNICAS PARA LA FORMACIÓN DE ALGORITMOS
  • ESTRUCTURAS ALGORÍTMICAS
  • SOLUCIÓN DE PROBLEMAS

Algoritmos

Se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números Y ecuaciones en el siglo IX.

 

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

 

Tipos de algoritmos:

  • Cualitativos: son aquellos en los que se describen los pasos utilizando palabras.
  • Cuantitativos: son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Lenguajes algorítmicos

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

 

Tipos de lenguajes algorítmicos:

1.   Gráficos: es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

2.   No gráficos: representa en forma descriptiva las operaciones que debe realizar un algoritmo(seudocódigo).

METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DE LA COMPUTADORA.

1.  DEFINICIÓN DEL PROBLEMA

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

2.  ANALISIS DEL PROBLEMA

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

·       Los datos de entrada

·       Cuál es la información que se desea producir(salida)

·       Los métodos y fórmulas que se necesitan para procesar los datos.

 

Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

 

3.  DISEÑO DEL ALGORITMO

Las características de un buen algoritmo son:

·       Debe tener un punto particular de inicio

·       Debe ser definido, no debe permitir dobles interpretaciones.

·       Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema

·       Debe ser finito en tamaño y tiempo de ejecución.

 

4.  CODIFICACIÓN.

Es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o seudocódigo), en una serie de instrucciones detalladas, es un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

5.  PRUEBA Y DEPURACIÓN

Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.

La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.

Resulta conveniente observar los siguientes principios al realizar la depuración, ya que de este trabajo depende el éxito de nuestra solución.

6.   Documentación

Es la guía o comunicación escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.

A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).

La documentación se divide en tres partes:

·       Documentación interna: son los comentarios o mensajes que se añaden al código fuente para hacer más claro el entendimiento de un proceso.

·       Documentación externa: se define en un documento escrito los siguientes puntos:

o  Descripción del problema

o  Nombre del autor

o  Algoritmo (diagrama de flujo o seudocódigo)

o  Diccionario de datos

o  Códigos fuente(programa)

·       Manual de usuario: describe paso a paso la manera cómo funciona el programa, con el fin de que el usuario obtenga el resultado deseado.

7.   Mantenimiento: se lleva a cabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.



-----------------------------------------08-08-2020-----------------------------------------

Los datos

Tipos de datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como “b”, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

Tipos de datos:

1.   Simples

a.   Numéricos

b.   Lógicos

c.    Alfanuméricos (string)

2.   Estructurados (definidos por el usuario)

a.   Arreglos (vectores, matrices)

b.   Registros

c.    Archivos

d.   Apuntadores

Tipos de datos simples

Datos numéricos: permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.

Datos lógicos: son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre dos datos (numéricos o alfanuméricos).

Datos alfanuméricos(string): es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.

Ejemplo

“universidad pedagógica nacional”,”2018”

.

----------04-09-2020----------

Expresiones:

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

Ejemplos

A+(b+3)/c

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:

·       Aritméticas

·       Relacionales

·       Lógicas

Operadores y operandos

Operadores: son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

Tipos de operadores.

·       Aritméticos

·       Relacionales

·       Lógicos

Operadores aritméticos: permiten la realización de operaciones matemáticas con los valores (variables y constantes)

Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales Si ambos son enteros, el resultado es entero, si alguno de ellos es real, el resultado es real

                            Operando (operador) operando

                                                         Valor

Operadores aritméticos

·       + suma

·       - resta

·       * Multiplicación

·       / división

·       Mod modulo (residuo de la división entera)

Ejemplo

         Expresión                            resultado

         7/2                                                  3.5

         12 mod 7                                      5

         4+2*5                                             14

Prioridad de los operadores aritméticos

ü Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero.

ü Dentro de una misma expresión los operadores se evalúan en el siguiente orden

o  ^ exponenciación

o  *, /, mod multiplication, division, modulo

o  +, - suma, resta

ü Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.

Operadores relacionales:

ü Se utilizan para establecer una relación entre dos valores.

ü Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).

ü Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas)

ü Tienen el mismo nivel de prioridad en su evaluación.

ü Los operadores relacionales tienen menor prioridad que los aritméticos.

Operadores relacionales

ü > mayor que

ü < menor que

ü >= mayor o igual que

ü <= menor o igual que

ü <> diferente

ü = igual

Ejemplos

Si a=10              b= 20                 c= 30

A+b >c               falso

a-b<c                  verdadero

a-b=c                  falso

a*b<>c              verdadero

----------11-19-2020----------

Operadores Lógicos

estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.

ü And

ü Or

ü Not

Ejemplos

                   (a<b) and (b<c)

              (10<20) and (20<30)

                   T       AND          T

                               T

PRIORIDAD DE LOS OPERADORES LOGICOS

1.   NOT

2.   AND

3.   OR

PRIORIDAD DE LOS OPERADORES EN GENERAL

1.   ()

2.   ^

3.   *, /, MOD, NOT

4.   -, +, -, AND

5.   >, <,>=, <=, <>, =, OR

EJEMPLOS

A=10         B=12         C=13         D=10

((A>B)OR(A<C))AND ((A=C)OR(A>=B))

    F               T                      F                 F

             T                                        F

                                      F

((A>=B) OR (A<D)) AND ((A>=D) AND (C>D))

         F                 F                          T                 T

                   F                                             T

                                               F

NOT (A=C) AND (C>B)

NOT     F                      T

             T                      T

                         T

IDENTIFICADORES

Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que permite identificar una posición en la memoria de la computadora, que nos permite acceder a su contenido.

Ejemplo:

         Nombre

         Num_horas

         Calif2

Reglas para formar un identificador

·       Debe comenzar con una letra (A a Z, Mayúsculas o minúsculas) y no deben contener espacios en blanco.

·       Letras, dígitos y caracteres como la subraya (_) están permitidos después del primer carácter.

·       La longitud de identificadores puede ser de hasta 8 caracteres.

Constantes y variables

Constantes: una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Ejemplo:

                   Pi= 3.1416

Variable: es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.

Ejemplo:

                   Área=pi*radio^2

Las variables son: el radio, el área y la constante es pi

Clasificación de las variables

1.   Por su contenido

a.   Numérica

b.   Lógicas

c.    Alfanuméricas (string)

2.   Por su uso

a.   De trabajo

b.   Contadores

c.    Acumuladores

Por su contenido:

 

Variables numéricas: son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números de 0 al 9, signos (+ y -) y el punto decimal.

Ejemplo:

Impuesto = 0.12                pi = 3.1416                costo = 2500

Variables lógicas: son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una operación entre datos.

 

Variables: alfanuméricas: está formada por caracteres alfanuméricos (letras, números y caracteres especiales).

Ejemplo:

Letra = “a”       apellidos = “López”          dirección = “av. Libertad # 190”

---------------18-09-2020---------------

Por su uso

Variables de trabajo: variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.

Ejemplo:

                   Suma: a + b / c

Contadores: se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.

 

Acumuladores: forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.

 

 

 

Técnicas para la formación de algoritmos

1.   Diagramas de flujo

2.   Seudocódigo

3.   Diagrama estructurado (nassi - schneiderman)

Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:

·       Diagramas de flujo

·       Seudocódigo

Diagrama de flujo

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.

Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).



Recomendaciones para el diseño de diagramas de flujo

ü Se deben de usar solamente líneas de flujo horizontales y/o verticales

ü Se debe evitar el cruce de líneas utilizando los conectores

ü Se deben usar conectores solo cuando sea necesario

ü No deben quedar líneas de flujo sin conectar

ü Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha

ü Todo texto escrito dentro de un símbolo deberá ser escrito claramente evitando el uso de muchas palabras.

Seudocódigo

Mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma). Que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. Es esencial, el seudocódigo se puede definir como un lenguaje de especificaciones de algoritmos.

Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El seudocódigo utiliza palabras que indican el proceso a realizar.

Ventajas de utilizar un seudocódigo a un diagrama de flujo

ü Ocupa menos espacio en una hoja de papel

ü Permite representar en forma fácil operaciones repetitivas complejas.

ü Es muy fácil pasar de seudocódigo a un programa en algún lenguaje de programación.

ü Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

Diagramas estructurados(nassi-schneiderman)

El diagrama estructurado N –S también conocido como diagrama de chapín es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se representa de la siguiente forma

ESTRUCTURAS ALGORITMICAS

Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo a su complejidad en:

1.   Secuenciales

a.   Asignación

b.   Entrada

c.    Salida

2.   Condicionales

a.   Simples

b.   Múltiples

3.   Cíclicas

a.   Hacer para

b.   Hacer mientas

c.    Repetir hasta

Estructuras secuenciales

Es aquella en la que la acción(instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencias se representa de la siguiente forma:


 

------16-10-2020------

II PARCIAL II SEMESTRE 

Asignación

Consiste en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma.

ü Simples: consiste en pasar un valor constante a una variable (a = 15)

ü Contador: consiste en usarla como un verificador del número de veces que realiza un proceso (a=a+1)

ü Acumulador: consiste en usarla como un sumador de un proceso (a=a+b)

ü De trabajo: donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4)

ü Lectura: consiste en recibir desde un dispositivo de entrada (ej. El teclado) un valor. Esta operación se representa en un seudocódigo como sigue:

Leer a, b

Donde “a” y” b” son las variables que recibirán los valores

ü Escritura: consiste en mandar por un dispositivo de salida (ej. El monitor o impresora) un resultado o mensaje. Este proceso se representa en un seudocódigo como sigue:

Escribe “el resultado es:”, R

Donde “el resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.

 

SUPONGA QUE SE TIENE UN CONJUNTO DE CALIFICACIONES DE UN GRUPO DE 6 ALUMNOS. REALIZAR UN ALGORITMO PARA CALCULAR LA CALIFICACION MEDIA Y LA CALIFICACION MAS BAJA DE TODO EL GRUPO.

INICIO

                        Sum = 0

                        Baja = 9999

                        Hacer para a = 1 a 6

                                 Leer calif

                                 Sum = sum + calif

                                 Si calif < baja entonces

                                          Baja = calif

                                 Finsi

                        Fin – para

                        Media = sum /2

                        Imprimir media, baja

     fin

 

 


ü  

ESTRUCTURAS CONDICIONALES

Comparan una variable contra otro(s) calor(es), para que, en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite.

·       SIMPLES: las estructuras condicionales simples se les conoce como “tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:

SI < CONDICION > ENTONCES

         Acción(es)

Fin – si

Comentarios