introduccion a la programacion
DESCRIPTION
ProgramacionTRANSCRIPT
1
1 Fundamentos de programación
� CONCEPTOS BÁSICOS:� Instrucción : Es un conjunto de símbolos
que representa una orden de operación o tratamiento para el ordenador.
� Programa : Conjunto ordenado de instrucciones que indican las tareas u operaciones que el ordenador debe realizar.
�Es la representación de un algoritmo, escrito en algún lenguaje de programación.
2
1 Fundamentos de programación
� CONCEPTOS BÁSICOS:� Lenguaje de programación (DEF1) :
�Es una notación para escribir programas. �Permite comunicarnos con el hardware y
dar así las órdenes adecuadas para la realización de un determinado proceso. Viene definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.
3
1 Fundamentos de programación
� CONCEPTOS BÁSICOS:� Lenguaje de programación (DEF2) : Es
el conjunto de símbolos y el conjunto de reglas para combinar dichos símbolos que se utilizan para realizar programas.
�Léxico (cjto. de símbolos permitidos). �Sintaxis (reglas para realizar las
construcciones del lenguaje).�Semántica (reglas para determinar el
significado de dichas construcciones).
4
1 Fundamentos de programación
� CONCEPTOS BÁSICOS:� INSTRUCCIONES BÁSICAS:
�Instrucciones de asignación .�Instrucciones selectivas (o bifurcaciones
o condicionales)�Instrucciones repetitivas (o iterativas o
bucles)�Instrucciones de entrada y salida (o de
transferencia de datos entre periféricos y memoria central).
5
1 Fundamentos de programación
� CONCEPTOS BÁSICOS:
� ALGORITMO :Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema (Diccionario RAE).
� Un algoritmo puede ser utilizado para codificar programas en distintos lenguajes
2 Algoritmo
� Los algoritmos son independientes de loslenguajes de programación. Un lenguaje deprogramación permite expresar un algoritmopara que sea ejecutado por un ordenador.
� Un algoritmo debe ser claro y preciso, debe especificar las acciones a realizar y el orden de realización
� Un algoritmo debe tener un número finito de pasos y, cada vez que se realice con los mismos datos de entrada, debe dar el mismo resultado
2 Algoritmo� Un algoritmo describe los datos de entrada, el
proceso y los datos de salida: �1. Entrada: Datos que utiliza el algoritmo para su
ejecución�2. Proceso: Reglas y operaciones del algoritmo
para resolver un problema�3. Salida: Resultados del proceso.
8
2 Algoritmo
� CONCEPTOS BÁSICOS:� Ejemplo de ALGORITMO : Determinar si
un número es par:1. Leer N2. Si N=2 � Escribe: “es par”3. Si N=1 � Escribe: “es impar”4. Si N=1 o N=2 ir a 75. N=N-26. Ir a 27. Fin del procedimiento
9
2 Algoritmo
� ALGORITMOS :Conjunto ordenado de pasos a seguir para resolver un problema concreto, en un tiempo finito y sin ambigüedad.�Acciones bien definidas�Secuencia finita y ordenada�Tiempo finito
10
2 Organización de los programas
� ALGORITMOS :
Para resolver un mismo problema se pueden definir varios algoritmos.Factores para decidir que algoritmo usar:�Tiempo que tarda en hallar la solución�Recursos utilizados para implantar el
algoritmo.
Las fases de desarrollo de un programa
� 1. Análisis . Consiste en entender el problema que se quiere resolver ¿Qué debemos hacer?
� 2. Diseño . Plan para resolver el problema ¿Cómo hacer?
� 3. Programación . Traducción de un algoritmo en un programa Java o de cualquier otro lenguaje
� 4. Validación del programa . Evaluación de los resultados del programa
12
Algoritmos
� DISEÑO DE ALGORITMOS :� Herramientas para el diseño de algoritmos:
�Pseudocódigo o lenguaje de descripción de algoritmos
�Organigramas o diagramas de flujoSon una herramienta útil en las fases de análisis
y diseño de software
13
Algoritmos. Pseudocódigo
� REPRESENTACIÓN DE ALGORITMOS :� Pseudocódigo o lenguaje de descripción de
algoritmos:�El pseudocódigo es un lenguaje que describe
algoritmos con una sintaxis similar a un lenguaje de programación. Normalmente se escribe en inglés o en español. La traducción de pseudocódigo a un lenguaje de programación es muy sencilla.
� Reglas:�Cada identificador (variable, constante...) debe tener un
nombre significativo�Cada sentencia debe ir en una línea
�Los nombres de las sentencias son únicos.
14
Algoritmos. Pseudocódigo
� REPRESENTACIÓN DE ALGORITMOS :�Pseudocódigo
�Ejemplo: Suma de dos números introducidos por el usuario.
algoritmo Sumarinicioleer( a )leer( b )c ← a + bescribir( “La suma es“ , c )
fin
15
Algoritmos. Pseudocódigo
� REPRESENTACIÓN DE ALGORITMOS :�Pseudocódigo�Ventajas sobre las representaciones gráficas
�Es más compacto
�Más fácil de escribir
�Más fácil de traducir a un lenguaje de programación concreto.
16
Algoritmos
� REPRESENTACIÓN DE ALGORITMOS :�Organigramas o diagramas de flujo
Herramienta gráfica de descripción de algoritmos fácil y extendida.
�Los símbolos representan acciones�Las flechas representan el orden de
ejecución.
17
Algoritmos.Diagramas de flujo
� REPRESENTACIÓN DE ALGORITMOS :�Organigramas o diagramas de flujo
Símbolos:Procesos: Por ejemplo la asignación:
Terminal:
M = 3
Inicio Fin
18
� REPRESENTACIÓN DE ALGORITMOS :�Organigramas o diagramas de flujo
Símbolos:Selección:
Entrada/Salida:
Algoritmos.Diagramas de flujo
SiN<>0
No
Leer Dato
19
Ejemplo: Suma de un numero variable de datos:
Algoritmos.Diagramas de flujo
Inicio
Leer b
Escribir “La suma es” c
Fin
Leer a
C� a+b
3. Pseudocódigo.Datos y Tipos de Datos
Los algoritmos operan sobre datos.Tipos de datos simples: Un dato simple es indivisible (atómico), es decir,
no se puede descomponer.� Entero . Valores { ..., -3, -2, -1, 0, 1, 2, 3, ... }� Real. Números racionales-irracionales. Ej (17,8)� Carácter (también llamados alfanuméricos) ‘c’� Lógico , dos valores: verdadero o falso.Datos compuestos: Cadena o String “Castelar”
Compuesto por varios caracteres
Tipo carácter o alfanuméricos
Los datos de tipo carácter o alfanuméricos estáncompuestos por el conjunto finito y ordenado decaracteres que la computadora reconoce:caracteres alfabéticos : A,B,C,.......Z; a,b,c,.......zcaracteres numéricos : 0,1,2,...9 (que no son
números)caracteres especiales : +, /, *, ?,%,$, #, !,
,ä,¦,{},~,etc.
Cadena o string
� Es una sucesión de caracteres que se encuentran delimitados por comillas ( " " ).
� La longitud de la cadena es la cantidad de caracteres que la forma, incluyendo los espacios que son un carácter más.
"Asunción, Paraguay" es una cadena de longitud 18.
"123456" es una cadena de longitud 6, no es el número 123.456 no se puede realizar ninguna operación aritmética como sumar,
restar, etc,
Variables y constantes� Una variable y constante representa una zona o
posición de memoria donde se almacena información.� Las variables almacenan los datos utilizados por los
programas. El valor de una variable puede cambiar durante la ejecución de un programa
� El valor de una constante no cambia durante la ejecución de un programa. Por ejemplo pi = 3,1416
� El nombre que se utiliza para hacer referencia a una constante o una variable se denomina identificador.
A = 50; Variable tipo numérica A cuyo valor es 50.Ciudad = "Asunción"; Variable alfanumérica o de tipo carácter Ciudad, cuyo valor es "Asunción“.
Operaciones
� Las variables se pueden procesar utilizando operaciones apropiadas para su tipo.
Los operadores son de 4 clases:Relacionales.Aritméticos.Alfanumérico.Lógicos.
Operadores relacionalesOperadores relacionales:Los operadores relacionales evalúan una expresión
y devuelven un valor falso o verdadero� < menor que� > mayor que� <= menor o igual que� >= mayor o igual que� <> diferente de, distinto de (en java !=)� == igual que
Ejemplos. Operadores relacionales
Ejemplo Resultado
25 <= 25 Verdadero
25 <> 25 Falso
25 <> 4 Verdadero
50 <= 100 Verdadero
500 >= 1 Verdadero
1 = 6 Falso
Operadores aritméticos.
Signo Significado
+ Suma
- Resta
* Multiplicación
/ División
^ Potenciación
MOD %
Resto de la división enteraResto de la división (en java)
Operadores Alfanuméricos
El único operador alfanumérico (tipo carácter) se utiliza para unir o concatenar datos de este tipo:
Ejemplos:
Signo Significado
+ Concatenación
Expresión Resultado
"Pseudo" + "código" "Pseudocódigo"
"3" + "4567" "34567"
"Hola " + "que tal ?" "Hola que tal ?"
Operadores lógicos.
Los operadores lógicos evalúan una expresión lógica devuelven un valor falso o verdadero.
Signo Significado
OR(en java || ) Suma lógica (O). A OR B es verdadero si A o B son
verdaderosAND(en java && ) Producto lógico (Y) A AND B es
verdadero si A y B son verdaderos
NOT(en java ! ) Negación (NO). negación del operando A, es decir, verdadero si A es falso, falso si A es verdadero
Ejemplos. Operadores lógicos
Expresión Resultado
Verdad AND Falso Falso
NOT Falso Verdad
Verdad OR Falso Verdad
Expresión Resultado
Verdad AND Falso Falso
NOT Falso Verdad
Por ejemplo, la expresión: (12 + 5) OR (7 + 3) = 10 es verdadera (se cumple una y Verdad OR Falso es Verdad).La expresión (12 * 5) AND (3 + 2) = 60 es falsa (verdad AND falso = Falso).
Pseudocódigo. Asignaciones
La operación de dar valor a una variable se llama asignación. La asignación vamos a representarla con el símbolo ����nombre de la variable ���� expresión
La flecha se sustituye en los lenguajes de programación por = (basic); : = (pascal). Pero para evitar ambigüedades en el pseudocódigo utilizaremos la flecha para la asignación y el símbolo = para indicar igualdad.
A ���� 100 ; significa que a la variable A se le ha asignado el valor 100, ahora A vale 100.
Pseudocódigo. Entrada y Salida de Información
Los datos que vamos a obtener del usuario para procesarlos también deben ser asignados a variables, la operación de lectura, lee un dato y lo asigna a una variable. La instrucción para la lectura de un dato es leer leer numeroEsta instrucción pide al usuario un valor que será asignado a la variable numero, es decir, en numero se almacena el valor ingresado por el usuario.
leer Edad, Peso, Sexo
Pseudocódigo. Entrada y Salida de Información
Cuando queramos mostrar el resultado del algoritmo, un mensaje, un valor, etc, vamos a utilizar el comando escribir o imprimir .
escribir "Hola" ; muestra en la pantalla el mensaje Hola, Hola va entre comillas porque es una cadena.
escribir A; muestra en la pantalla el valor que está almacenado en la variable A.
Pseudocódigo. Resumen
Ya conocemos dos comandos que vamos a utilizar en nuestros pseudocódigos: leer e imprimir.En resumen: Las instrucciones disponibles para escribir un programa dependen del lenguaje de programación utilizado. Existen instrucciones -o acciones- básicas que se pueden implementar de modo general en cualquier algoritmo y que soportan todos los lenguajes de programación.1- Instrucciones de inicio/fin2- Instrucciones de asignación3- Instrucciones de lectura4- Instrucciones de escritura
Pseudocódigo. ResumenTipo de Instrucción PseudocódigoComienzo de proceso inicioFin de proceso finEntrada (Lectura) leerSalida (Escritura) escribirAsignación ����
Instrucciones de control. Instrucciones alternativa simple-doble
Se ejecuta condicionalmente , es decir, si una cierta condición es verdadera se ejecuta un bloque de instrucciones, si es falsa se ejecuta un bloque diferente de instrucciones
si (condición) entoncesinstrucción 1...................instrucción n
si noinstrucción ainstrucción b...................instrucción z
fin si
Instrucción de control. Alternativa múltiple
Cuando necesitemos hacer numerosas comparaciones.
Segun sea <expresión><lista_valores1>: instrucción o instrucciones1<lista_valores2>: instrucción o instrucciones2<lista_valores2>: instrucción o instrucciones3si no:
instrucción o instruccionesfin-segun
Instrucción de control. Alternativa múltiplealgoritmo Dia_de_la_semana
inicioescribir( "Introduzca día de la semana: " )leer( dia )segun_sea ( dia )
1 : escribir( "Lunes" )2 : escribir( "Martes" )3 : escribir( "Miércoles" )4 : escribir( "Jueves" )5 : escribir( "Viernes" )6 : escribir( "Sábado" )7 : escribir( "Domingo" )
sino : escribir( "ERROR: Día incorrecto." )fin_segun_sea
fin
Instrucciones de control repetitivasUna instrucción repetitiva mientras permite ejecutar, repetidamente, (cero o más veces) un bloque de instrucciones, mientras que, una determinada condición sea verdadera.
mientras (condición)instrucción 1instrucción 2.....instrucción n
fin_mientras
Instrucciones de control repetitivas
Estructura RepetirLa diferencia es que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Permite ejecutar repetidamente (una o más veces) un bloque de instrucciones, mientras que, una determinada condición sea verdadera
hacerintrucción 1instrucción 2instrucción 3......
mientras (condición)instrución X
Instrucciones de control repetitivasEstructura repetitiva Para o Desde , se tiene establecido el número
de veces que un conjunto de instrucciones se va a ejecutar (20, 5, 2 veces…)Para contador� Vi hasta Vf [incremento] hacer
Instrucción 1Instrucción 2……Instrucción n
Fin_para
Vi: valor inicial de la variable contadorVf: valor final de la variable contador[incremento]: el número que se incrementa (o decrementa) a la variable
contador en cada iteración del bucle, si se omite es 1.
¿Cuándo usar un bucle u otro?A la hora de elegir un bucle u otro, debemos hacernos la siguiente pregunta:¿Se conoce, de antemano, el número de veces (iteraciones) que tiene que ejecutarse un determina do bloque de instrucciones?Si la respuesta es afirmativa , habitualmente se usa un bucle para. En caso contrario, nos plantearemos la siguiente pregunta:¿El bloque de instrucciones debe ejecutarse al meno s una vez?En este caso, si la respuesta es afirmativa , generalmente haremos uso de un bucle hacer...mientras, y si la respuesta es negativa, usaremos un bucle mientras.
Estructura de un AlgoritmoTres secciones: cabecera, declaraciones y cuerpoalgoritmo Sumar (Cabecera)
variables (Declaraciones)
entero a, b, c
inicio (Cuerpo)
escribir( "Introduzca el primer número (entero): " )leer( a )escribir( "Introduzca el segundo número (entero): " )leer( b )c ← a + bescribir( "La suma es: ", c )
fin