Presentación de conceptos básicos de Programación que se desarrollarán a lo largo de la carrera de Tecnicatura en Programación de la EEST N° 7 de Avellaneda.
Presentación de conceptos básicos de Programación que se desarrollarán a lo largo de la carrera de Tecnicatura en Programación de la EEST N° 7 de Avellaneda.
Presentación de conceptos básicos de Programación que se desarrollarán a lo largo de la carrera de Tecnicatura en Programación de la EEST N° 7 de Avellaneda.
Presentación de conceptos básicos de Programación que se desarrollarán a lo largo de la carrera de Tecnicatura en Programación de la EEST N° 7 de Avellaneda.
2. TEMAS
1.- ALGORITMOS
2.- LENGUAJE DE PROGRAMACION
3.- ESTRUCTURAS SECUENCIALES
4.- ESTRUCTURAS CONDICIONALES
5.- ESTRUCTURAS REPETITIVAS
6.- ARREGLOS
3. TEMA #1 - ALGORITMOS
1.- DEFINICION DE ALGORITMO
• En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto
de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar
un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.Dado un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los
algoritmos son el objeto de estudio de la algoritmia.
• En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas determinados. Algunos
ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que
recibe un trabajador de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para
calcular el producto, el algoritmo de la división para calcular el cociente de dos números, o el método de
Gauss para resolver un sistema de ecuaciones lineales.
• En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un
problema. En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo.
Muchos autores los señalan como listas de instrucciones para resolver un cálculo o un problema abstracto,
es decir, que un número finito de pasos convierten los datos de un problema (entrada), en una solución
(salida).
4. Un algoritmo de programación en informática esta formado por una serie de instrucciones que realizan una
serie de procesos con el objetivo de resolver un problema. A través de algoritmos los programadores
pueden dar respuesta a cualquier problema antes de modificarlo en lenguaje elegido.
Un algoritmo tiene tres partes definidas :
• Input : La entrada o input es donde se aportan todos los datos necesarios para realizar los procesos de
resolución del problema.
• Procesamiento: Son todas las acciones que se deben realizar para resolver el problema utilizando los
inputs obtenidos.
• Output: El output o salida muestra los resultados de resolución del problema obtenidos.
2.- TIPOS DE ALGORITMOS DE PROGRAMACION
Debido a la importancia de los algoritmos en la informática , se han podido desarrollar millones de ellos.
Por eso para poder entender la capacidades o formas en que funcionan los algoritmos, es mas sencillo
agruparlos primero de acuerdo a su tipo. Los tipos de algoritmos computacionales mas convencionales son:
5. • Algoritmos cualitativos: Son sencillos algoritmos muy detallados y escritos en lenguaje convencional
(como el castellano o en ingles), los cuales sirven como arboles de proceso para organizar la información
sobre algún tema especifico. Pueden ser utilizados como método de planificación y diseño de algoritmos
mucho mas complejos, tales como los computacionales o los cuantitativos.
• Algoritmos cuantitativos: Este tipo de algoritmos utiliza solamente lenguaje matemático para expresar
los procesos y cuestiones dentro del algoritmo. Normalmente es utilizado para ordenar procesos
matemáticos de calculo como ecuaciones largas o de resultado diverso.
• Algoritmos computacionales: se puede diferenciar estos algoritmos de los cuantitativos pues se usan el
pseudocódigo como lenguaje. Debido a esto, aprovechan tanto cálculos matemáticos como escritura de
programación para obtener el máximo detalle del significado de cada parte del algoritmo, y es debido a su
misma complejidad que es necesario el uso de un computador para su creación o entendimiento.
• Algoritmos no computacionales: Este tipo de algoritmos son de escritura bastante sencilla y fluida, por
lo que no necesita del uso de computadores para su escritura o lectura, que solo requiere de herramientas
menos avanzadas como calculadoras convencionales.
6. 3.-CARACTERISTICAS DE UN ALGORITMO
Los algoritmos presentas las siguientes características:
• Secuenciales: Los algoritmos operan en secuencia, debe procesarse uno a la vez.
• Precisos: Los algoritmos han de ser precisos en su abordaje del tema, es decir no puede ser ambiguos
o subjetivos.
• Ordenados: los algoritmos se deben establecer en la secuencia precisa y exacta para que su lectura
tenga sentido y se resuelva el problema.
• Finitos: Toda secuencia de algoritmos ha de tener un fin determinado, no se puede prologarse hasta el
finito.
• Concretos: Todo algoritmo debe ofrecer un resultado en base a las funciones que cumple.
• Definidos: Un mismo algoritmo ante los mismo elementos de entrada (input) debe dar siempre los
mismos resultados.
7.
8.
9. 4.- DIAGRAMA DE FLUJO
Es un esquema para representar gráficamente un algoritmo. Se
basan en la utilización de diversos símbolos para representar
operaciones específicas, es decir, es la representación grafica de
las distintas operaciones que se tienen que realizar para resolver
un problema, con indicación expresa el orden lógico en que
deben realizarse.
Se les llama diagramas de flujo porque los símbolos utilizados
se conectan por medio de flechas para indicar la secuencia de
operación. Para hacer comprensibles los diagramas a todas las
personas, los símbolos se someten a una normalización; es
decir, se hicieron símbolos casi universales, ya que, en un
principio cada usuario podría tener sus propios símbolos para
representar sus procesos en forma de Diagrama de flujo. Esto
trajo como consecuencia que sólo aquel que conocía sus
símbolos, los podía interpretar
10. 5.-PSEUDOCÓDIGO
El pseudocódigo es una forma de expresar los distintos pasos que se va a realizar un
programa, de la forma mas parecida a un lenguaje de programación. Su principal
funciones la de representar por pasos la solución a un problema o algoritmo, de la
forma mas detallada posible, utilizando un lenguaje cercano al de programación. El
pseudocódigo no puede ejecutarse en un ordenador ya que entonces dejaría de ser
pseudocódigo, como su propio nombre indica, se trata de un código falso (Pseudo –
falso), es un código escrito para que lo entienda el ser humano y no la maquina.
Aprender a escribir pseudocódigo para la resolución de un problema permite hacer
mucho más sencilla su programación en un lenguaje convencional.
6.-ESTRUCTURAS BASICAS DE LA PROGRAMACION
El teorema del programa estructurado es la base teórica sobre la que se construyó
esta nueva forma de programar, ya que nos da la característica fundamental de la
programación estructurada. Postula que, simplemente con la combinación de tres
estructuras básicas, es suficiente para expresar cualquier función computable.
• Secuencia. La estructura secuencial es la que se da de forma natural en el
lenguaje, porque las sentencias se ejecutan en el orden en el que aparecen en el
programa, es decir, una detrás de la otra.
11. • Selección o condicional. La estructura condicional se basa en que una sentencia se ejecuta según
el valor que se le atribuye a una variable booleana. ¡Un pequeño inciso! Una variable booleana es
aquella que tiene dos valores posibles. Por tanto, esta estructura se puede ejecutar de dos formas
distintas, dependiendo del valor que tenga su variable.
• Iteración (ciclo o bucle). La estructura de repetición ejecuta una o un conjunto de sentencias
siempre que una variable booleana sea verdadera.
12. EJEMPLOS DE ALGORITMOS
Algoritmo para elegir unos zapatos de fiesta:
1. INICIO
2. Entrar a la tienda y buscar la sección de zapatos de
caballero.
3. Tomar un par de zapatos.
4. ¿Son zapatos de fiesta?
SI: (ir al paso 5) – NO: (volver al paso 3)
5. ¿Hay de la talla adecuada?
SI: (ir al paso 6) – NO: (volver al paso 3)
6. ¿El precio es pagable?
SI: (ir al paso 7) – NO: (volver al paso 3)
7. Comprar el par de zapatos elegido.
8. FIN
13. TEMA #2 LENGUAJES DE PROGRAMACIÓN
1.- INTRODUCCION AL LENGUAJE DE PROGRAMACION
Un lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje con
reglas gramaticales bien definidas) que le proporciona a una persona, en este caso el
programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de
órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico de un
sistema informático, de manera que se puedan obtener diversas clases de datos o ejecutar
determinadas tareas. A todo este conjunto de órdenes escritas mediante un lenguaje de
programación se le denomina programa informático. Los lenguajes de programación están
formados por un conjunto de símbolos (llamado alfabeto), reglas gramaticales
(léxico/morfológicas y sintácticas) y semánticas, que en conjunto definen las estructuras válidas
del lenguaje y su significado.
14. 2.- COMANDOS PRINCIPALES
Se define comando al mensaje enviado al ordenador, por parte del usuario, y que va a provocar una
respuesta en este. Los comandos son en realidad órdenes, pues indican al dispositivo informático
que debe hacer o ejecutar a continuación, según el comando que se le envíe. Cada sistema
operativo incorpora un determinado número de comandos básicos, que permiten ejecutar las tareas
más simples con órdenes directas. Para interpretar estos comandos y permitir que el usuario los
escriba y los envié, cada sistema operativo trae un intérprete de comandos o consola de comandos,
que actúa de intermediario entre el ordenador y el usuario, dotando a este último de un medio para
usar los comandos disponibles.
Una característica típica de los comandos es que siempre funcionan con el esquema de un comando =
una acción. Así, cada comando usado va a dar lugar a una acción concreta, necesitando usar varios si
queremos realizar una orden compleja. Usualmente para dar una orden se debe seguir un esquema y el
comando debe ser modificado mediante parámetros, que le transmiten indicaciones adicionales sobre
como ejecutarse.
15. 3.- LIBRERIAS DE USO GENERAL Y ESPECIFICO
• En programación, una librería es un archivo o conjunto de archivos que se utilizan para facilitar
la programación. Las librerías, también llamadas "frameworks“. Un framework se podría definir
como un entorno de trabajo predispuesto, que posee ciertas herramientas y características
útiles que agilizan el desarrollo de un proyecto de programación. Básicamente, el
framework facilita la labor del programador. Al trabajar con una base de datos ya conocida
puede ahorrar tiempo en desarrollo.
• Esto permite que los errores a la hora de desarrollar disminuyan considerablemente, ya que un
framework es como una acumulación de bibliotecas. Es decir, no se trabaja con base en
comandos de un mismo proyecto, sino en una acumulación de ellos.
• Esto, a su vez, promueve un mejor trabajo en equipo en caso de tratarse de empresas de
desarrollo. Pero lo más importante, es que el framework sirve para obtener proyectos de
desarrollo de mayor calidad al trabajar en una base bien constituida.
16. LIBRERIAS DE USO GENERAL
• El concepto de librería externa es el mismo pero ampliado. Una librería externa es un archivo (o a
veces varios) que está fabricado por expertos programadores, y que no sólo vale para un caso
concreto, sino que podemos utilizar de forma general. La utilización de nuevos objetos, métodos, y
propiedades puede variar la forma de programar el resto del código, ya que éstos afectan a la mayoría
de las acciones que pueden realizarse en la programación.
• Debemos, por tanto, aprender a programar utilizando estas librerías. En algunas de ellas es casi como
aprender otro código de programación. Sin embargo, una vez aprendido vemos cómo el trabajo se
hace mucho mas fácil, y además podemos realizar acciones que de otro modo nos resultarían muy
complicadas utilizando sólo el código de programación
COMANDOS
Un comando es una instrucción específica dada a una aplicación informática para realizar algún tipo de
tarea o función. los comandos siempre se deben ingresar de manera exacta en un intérprete de línea de
comando. Ingresar un comando incorrectamente, es decir, con una sintaxis incorrecta, errores
ortográficos, etc., podría hacer que el comando fallara o empeorara, podría ejecutar el comando
incorrecto o el comando correcto de la manera incorrecta, creando serios problemas.
17. 4.- PROGRAMACION ESTRUCTURADA
• La programación estructurada es una técnica que utiliza la metodología de desarrollo de programas,
esta orientada a mejorar la calidad, claridad y tiempo de desarrollo de los programas, y que sean
mucho más fáciles de comprender. La característica principal de esta técnica de programación es que
está compuesto por segmentos de códigos, los cuales pueden estar constituidos desde una
instrucción hasta varias páginas de estas, y cada uno de estos segmentos debe tener únicamente un
punto entrada y un punto de salida de datos; esto hará que puedan ser leídos secuencialmente de
inicio a fin, sin que se pierda la continuidad.
• programación estructurada se puede presentar programas más confiables y eficientes, y para ello cada
programa puede escribirse usando solamente 3 tipos de estructuras de control:
Secuencia - Instrucción Condicional o Selección - Iteración
18. 5.- PROGRAMACION ORIENTEDA A OBJETOS
La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir, un
modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa
en el concepto de clases y objetos. ¿Cómo se crean los programas orientados a objetos?
Resumiendo mucho, consistiría en hacer clases y crear objetos a partir de estas clases. Las clases
forman el modelo a partir del que se estructuran los datos y los comportamientos. Un ejemplo
sencillo de un objeto, como decíamos antes, podría ser un animal. Un animal tiene una edad,
por lo que creamos un nuevo atributo de ‘edad’ y, además, puede envejecer, por lo que
definimos un nuevo método. Datos y lógica. Esto es lo que se define en muchos programas
como la definición de una clase, que es la definición global y genérica de muchos objetos.
19. 6.- PRINCIPIOS DE LA PROGRAMACION ORIENTADA A OBJETOS
La encapsulación : La encapsulación contiene toda la información importante de un objeto dentro
del mismo y solo expone la información seleccionada al mundo exterior.
Esta propiedad permite asegurar que la información de un objeto esté oculta para el mundo exterior,
agrupando en una Clase las características o atributos que cuentan con un acceso privado, y los
comportamientos o métodos que presentan un acceso público.
La abstracción: La abstracción es cuando el usuario interactúa solo con los atributos y métodos
seleccionados de un objeto, utilizando herramientas simplificadas de alto nivel para acceder a un objeto
complejo.
En la programación orientada a objetos, los programas suelen ser muy grandes y los objetos se
comunican mucho entre sí. El concepto de abstracción facilita el mantenimiento de un código de gran
tamaño, donde a lo largo del tiempo pueden surgir diferentes cambios
20. La herencia: La herencia define relaciones jerárquicas entre clases, de forma que atributos y
métodos comunes puedan ser reutilizados. Las clases principales extienden atributos y comportamientos
a las clases secundarias. A través de la definición en una clase de los atributos y comportamientos
básicos, se pueden crear clases secundarias, ampliando así la funcionalidad de la clase principal y
agregando atributos y comportamientos adicionales.
El polimorfismo: El polimorfismo consiste en diseñar objetos para compartir comportamientos, lo
que nos permite procesar objetos de diferentes maneras. Es la capacidad de presentar la misma interfaz
para diferentes formas subyacentes o tipos de datos. Al utilizar la herencia, los objetos pueden anular los
comportamientos principales compartidos, con comportamientos secundarios específicos. El
polimorfismo permite que el mismo método ejecute diferentes comportamientos de dos formas:
anulación de método y sobrecarga de método.
21. TEMA#3 ESTRUCTURAS SECUENCIALES
En el mundo de la programación se consideran aquellas acciones donde se
convierten en instrucciones, seguidas de otra secuencia. Las situaciones se presentan
en forma de tareas que van consecutivas una después de otra: se puede decir
entonces que dependen una de otra y se suceden de forma inmediata.
En este sentido, la salida de una secuencia se convierte en la entrada de otra,
originando la acción a través de sentencias, las cuales se suceden inmediatamente
después y generan una operación o acción dentro de los recursos en los sistemas
operativos.
Las estructuras secuenciales se ejecutan en cada acción y lleva un orden
respectivo, permitiendo a cada proceso generarse después de la culminación de otro,
casi de forma inmediata
Clasificación de una estructura secuencia: Toda estructura secuencial
mantiene su organización básica de operación y se clasifican de la siguiente manera:
por asignación, por cálculo y por sumarización, pero también tenemos que
mencionar a una tipología que está vinculada con el mecanismo que utilizamos para
realizar un esquema de este tipo, el cual puede ser manual o automatizado. En ambos
casos, los pseudocódigos cumplen una función esencial.
22. Todo algoritmo o programa consta de 5 fases, las cuáles son:
• Declaración o definición de variables. Se enlistan al principio del algoritmo todas las
variables que se usarán, colocando el nombre y el tipo.
• Inicialización de variables. Significa que se les debe asignar algún valor, puede ser numérico,
lógico o de otro tipo.
• Lectura o entrada de datos. El valor o dato se recibe desde un dispositivo de entrada y se
almacena en la variable que aparece después de la instrucción.
• Cálculos. De acuerdo con los valores de entrada se realizan las operaciones para indicar la
salida.
• Escritura o salida de datos. El resultado o mensaje se envía a través de un dispositivo de
salida y la instrucción se escribe entre comillas.
23. TEMA# 4 ESTRUCTURAS CONDICIONALES
Las estructuras condicionales comparan una variable contra otro(s)valor (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.
Existen tres tipos básicos, las simples, las dobles y las múltiples.
SIMPLES: Las estructuras condicionales simples se les conoce como “
Tomas de decisión”
.Estas
tomas de decisión tienen la siguiente forma:
Pseudocódigo Diagrama de flujo:
24. DOBLES: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una determinada condición. Se representa de la
siguiente forma:
Pseudocódigo Diagrama de flujo
Donde:
Si: Indica el comando de comparación
Condición : Indica la condición a evaluar
Entonces : Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición
si no :Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.
25. MULTIPLES: Las estructuras de comparación múltiples, son tomas de decisión especializadas
que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada
caso una serie de instrucciones especificas. La forma común es la siguiente:
Pseudocódigo Diagrama de flujo
26. TEMA# 5 ESTRUCTURAS REPETITIVAS
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un
cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un
objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de
veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un
pseudocódigo o un programa y las estructuras repetitivas nos permiten hacerlo de forma sencilla.
PARA O DESDE ( FOR)
Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces, y de modo
automático controla el número de iteraciones o pasos.
27. MIENTRAS ( WHILE)
Repite el cuerpo del bucle mientras se cumpla una determinada
condición.
HACER MIENTRAS (DO WHILE)
La estructura HACER MIENTRAS cumple la misma función
que la estructura MIENTRAS. La diferencia está en que la
estructura MIENTRAS comprueba la condición al inicio y
repetir lo hace al final. Es por ello que la estructura HACER
MIENTRAS se ejecuta por lo menos una vez.