Guía 1 - Teórica-Práctica - Encuentro 2
Guía 1 - Teórica-Práctica - Encuentro 2
LA PROGRAMACIÓN
CON PSEINT
P¡NUESTRA PRIMERA GUÍA!P
Esta es tu primera guía, en la que vamos a empezar a ver algunos conceptos teóricos del mundo
de la programación y el desarrollo web. Pero antes, queremos explicarte cómo debes leer las
guías y qué encontrarás de ahora en adelante.
1
Objetivos de la Guía
P¿QUÉ ES LA PROGRAMACIÓN?P
La programación es el acto de programar, es decir, organizar una secuencia de pasos
ordenados a seguir para hacer cierta cosa. Este término puede utilizarse en muchos
contextos. Por ejemplo, programar una salida con amigos, organizar unas vacaciones, etc.
Las partes que componen a nuestro programa son el lenguaje de programación y los
algoritmos.
EJERCICIO ALARMA
Ahora que sabemos que es programar, antes de ver en profundidad lenguajes de programación y
algoritmos, vamos a programar algo muy sencillo.
Vamos a programar una alarma en el celular. Deberás entrar a su celular y poner una
alarma para que suene a la hora en la que debes conectarte a tu clase, lo importante es que
vean como al celular le damos una serie de instrucciones para realizar una tarea, que sería, hacer
ruido a una hora que nosotros decidamos.
2
¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador
escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma,
resolver problemas.
Las instrucciones que sigue la computadora para la creación de programas están escritas en
un lenguaje de programación y luego son traducidas a un lenguaje de máquina que puede ser
interpretado y ejecutado por el hardware del equipo.
x Lenguajes de alto nivel: Tienen como objetivo facilitar el trabajo del programador, ya
que utilizan unas instrucciones más fáciles de entender.
Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas que conocemos
(español, inglés, etc.) y luego, para ser ejecutados, se traduce al lenguaje máquina mediante
traductores o compiladores.
P¿QUÉ ES UN ALGORITMO?P
En el apartado anterior vimos que los lenguajes de programación son nuestro puente para poder
comunicarnos con la máquina. Y de esa forma darle instrucciones claras, para poder
solucionar los problemas que puede presentar la creación de un programa.
Estas instrucciones que le vamos a dar a nuestro programa, se conocen como algoritmos. Un
algoritmo es un m étodo para darle instrucciones a nuestro programa y resolver un problema.
Este consiste en la realización de un conjunto de pasos lógicam ente ordenados tal que,
partiendo de la información que le demos, permite obtener ciertos resultados que conforman la
solución del problema.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en
un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo,
el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, una
receta de un plato de cocina se puede expresar en español, inglés o francés, pero cualquiera que
sea el lenguaje, los pasos para la elaboración del plato se realizan sin importar el idioma del
cocinero.
Los algoritmos son más importantes que los lenguajes de programación o las
computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo y
una computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de programación
como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute
y se efectúe el proceso correspondiente.
3
CARACTERÍSTICAS FUNDAMENTALES DE LOS ALGORITMOS
x Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
x Un algoritmo debe ser correcto: el resultado del algoritmo debe ser el resultado
esperado.
Vamos a ver cómo sería un diagrama de flujo, de los pasos para cocinar un huevo:
4
Como podemos ver, nos muestra paso a paso cómo cocinar un huevo y cada opción que tenemos
a la hora de cocinar un huevo.
PPROGRAMAP
En los apartados anteriores, explicamos qué es la programación y que está compuesta de dos
partes, los lenguajes de programación y los algoritmos. Pero, ¿dónde se van a ver reflejados
estos dos conceptos? Estos se van a ver reflejados en nuestro programa.
5
DISEÑO DEL PROGRAMA
Se puede utilizar algunas de las herramientas de representación de algoritmos, también
conocidos como lenguajes de programación, para definir la secuencia de pasos que se deben
llevar a cabo para conseguir el resultado que necesitamos.
ESPECIFICACIONES DE UN PROGRAMA
Tras la decisión de desarrollar un programa, el programador debe establecer el conjunto de
especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, que
incluirán las técnicas para obtener las salidas a partir de las entradas.
Un programa puede ser lineal (secuencial) o no lineal. Un programa es lineal si las instrucciones
(acciones) se ejecutan secuencialmente como los ejercicios propuestos en esta guía, es decir, sin
bifurcaciones, decisión ni comparaciones.
CODIFICACIÓN
Una vez que tenemos las especificaciones de un programa pasaremos a la codificación del
programa. La codificación es la operación de escribir la solución del problema (de acuerdo a la
lógica del pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por
la computadora. La serie de instrucciones detalladas se conoce como código fuente, el cual se
escribe en un lenguaje de programación o lenguaje de alto nivel.
6
P¿CÓMO DEBEN ESCRIBIRSE LOS ALGORITMOS/PROGRAMAS?P
Ya sabemos qué es un programa, el diseño de un programa, las especificaciones de un programa
y su codificación. Ahora vamos a ver cómo es la escritura de estos algoritmos / programas. Un
algoritmo consta de dos componentes: una cabecera de programa y un bloque algoritmo. La
cabecera de programa es una acción simple que comienza con la palabra algoritmo. Esta palabra
estará seguida por el nombre asignado al programa completo.
El bloque algoritmo es el resto del programa y consta de dos componentes o secciones: las
acciones de declaración y las acciones ejecutables .
Las declaraciones definen o declaran las variables que tengan nombres. Las acciones ejecutables
son las acciones que posteriormente deberá realizar la computación cuando el algoritmo
convertido en programa se ejecute.
algoritmo
cabecera del programa
sección de declaración
sección de acciones
Algoritmo sin_titulo
<Acciones>
FinAlgoritmo
Donde la palabra sin título debe ser reemplazada por el nombre del algoritmo. Esto se vería así
en PseInt.
7
¿No recuerdas cómo identificar al facilitador de tu equipo?
Ve a tu Aula Virtual. En la barra lateral podrás ver a tu equipo de
trabajo del día. Quien tiene una insignia es el/la facilitador/a del
equipo.
IDENTIFICADORES
Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para
identificar las entidades del programa (nombre del programa, nombres de variables, constantes,
subprogramas, etc.). En PseInt los identificadores deben constar sólo de letras, números y/o
guión_bajo(_), comenzando siempre con una letra y se suelen escribir siempre en
minúsculas. Estos tampoco pueden contar de tildes, ni de la letra Ñ, ya que generaría errores.
Otra cosa que es súper importante a la hora de pensar identificadores, es poner nombres
claros, por ejemplo, si queremos tener una frase, que el identificador sea frase o si queremos
una suma, le pondremos suma.
VARIABLES Y CONSTANTES
Los programas de computadora necesitan información para la resolución de problemas. Esta
información puede ser un número, un nombre, etc. Para nosotros poder guardar esta
información en algún lugar y que no esté “suelta”, para no perderla o poder acceder a ella
cuando lo necesitemos es crucial. Para solucionar esto, vamos a guardar la información en algo
llamado, variables y constantes. Las variables y constantes vendrían a ser como pequeñas
cajas, que guardan algo en su interior, en este caso información. Estas, van a contar como
previamente habíamos mencionado, con un identificador, un nombre que facilitará distinguir unas
de otras y nos ayudará a saber que variable o constante es la contiene la información que
necesitamos.
8
Dentro de toda la información que vamos a manejar, a veces, necesitaremos información que no
cambie. Tales valores son constantes. De igual forma, existen otros valores que necesitaremos
que cambien durante la ejecución del programa; esas van a ser nuestras variables.
Una variable es un objeto o tipo de datos cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del programa. Dependiendo del lenguaje, hay diferentes tipos de variables,
tales como enteras, reales, carácter, lógicas y de cadena. Una variable que es de un cierto tipo
puede tomar únicamente valores de ese tipo. Una variable de carácter, por ejemplo, puede tomar
como valor sólo caracteres, mientras que una variable entera puede tomar sólo valores enteros.
Ejemplo: una variable que guardará el resultado de un cálculo, este valor puede cambiar, en
alguna parte de nuestro programa.
Una constante es un dato, que al igual que la variable, puede ser de diferentes tipos como
enteras, reales, carácter, lógicas y de cadena. Estas, también guardan solo valores de ese tipo,
pero, permanecen sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del
programa. Ejemplo: el valor de Pi
Real: números con cifras decimales. Para separar decimales se utiliza el punto. Ejemplo:
3.14
Notas:
Cadena y Carácter son términos equivalentes, no genera error que las escribamos
indistintamente.
9
¿CÓMO CREO UNA VARIABLE?
A la hora de crear nuestra variable, vamos a tener que darle un identificador, por lo que
usaremos las reglas vistas en el apartado de identificadores, y el tipo de dato que
necesitamos que guarde. Para esto vamos a utilizar la palabra reservada Definir. La instrucción
definir permite explicitar el tipo de una o más variables.
Palabras Reservadas
Palabras que dentro del lenguaje significan la ejecución de una instrucción
determinada, por lo que no pueden ser utilizadas con otro fin. En
Pseudocódigo, las palabras reservas aparecen de color azul. Por ejemplo, la
palabra Algoritmo y FinAlgoritmo.
10
DETECCIÓN DE ERRORES
Copia y pega el código que está a continuación, ahí vas a ver que el código tiene mal escritas las
palabras reservadas, tu tarea es arreglar el código.
Para que pueda comprender mejor este tipo de ejercitación te dejamos el siguiente video:
Algoritmo Definicion_Variables
FinAlgoritmo
PTIPOS DE INSTRUCCIONESP
Las instrucciones —acciones— básicas que se pueden implementar de modo general en un
algoritmo y que esencialmente soportan todos los lenguajes son las siguientes:
INSTRUCCIONES DE INICIO/FIN
Son utilizadas para delimitar bloques de código. Por ejemplo, Algoritmo y FinAlgoritmo.
11
Se utilizan para escribir o mostrar mensajes o contenidos de las variables en un dispositivo de
salida. La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc.).
pEscritura o salidap
La instrucción Escribir permite mostrar información y valores de variables en la interfaz grafica o
ambiente.
Esta instrucción imprime en la interfaz grafica o ambiente (en este caso en la pantalla) los
valores obtenidos de evaluar N expresiones, el valor de un variable o de un mensaje. Dado que
puede incluir una o más expresiones, mostrará uno o más valores.
En este ejemplo de escribir, vemos que nuestro primer escribir muestra un mensaje o cadena,
que va entre comillas dobles, después nuestro segundo escribir muestra el resultado de una
suma de dos números y nuestro último escribir, muestra el valor de una variable de tipo entero a
la que se le asignó un valor previo.
Con el escribir también podemos mostrar variables o valores con un mensaje previo, para esto
vamos a concatenar nuestra variable, usando una coma o un espacio en blanco, con un mensaje
entre comillas.
12
EJERCICIO ESCRIBIR
Escribir un algoritmo en el cual se muestre nuestro nombre completo en la interfaz gráfica de
PseInt.
INSTRUCCIONES DE LECTURA
Los cálculos que realizan las computadoras requieren, para ser útiles la entrada de los datos
necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es
decir, salida.
Esta entrada se conoce como operación de lectura (leer). Los datos de entrada se introducen al
procesador mediante dispositivos de entrada (teclado, tarjetas perforadas, unidades de disco,
etc.).
pLectura o entradap
La instrucción Leer permite ingresar información por teclado al usuario a través de la interfaz
gráfica o ambiente de Pseint. Que se mostrará al correr nuestro algoritmo
En este ejemplo definimos una variable de tipo entero llamada num y le asignamos un valor a
través de la instrucción Leer.
13
EJERCICIO LECTURA Y ESCRITURA
Escribir un algoritmo en el cual el programa nos pida nuestro nombre completo, lo aloje en una
variable de tipo Cadena llamada nombreCompleto y después mostrarlo usando la instrucción
Escribir.
<variable> = <expresión>
En este ejemplo estamos definiendo una variable como entero y después asignándole un valor,
en este caso el número 4.
14
EJERCICIO DEFINIR
Escribe un algoritmo definiendo la variable nombre como cadena, asigna allí tu información y
luego muéstralo por pantalla escribiendo la variable.
POPERADORESP
Este pseudolenguaje dispone de un conjunto básico de operadores que pueden ser utilizados
para la construcción de expresiones más o menos complejas.
OPERADORES ALGEBRAICOS
Los operadores algebraicos o también conocidos como operadores aritméticos. Realizan
operaciones aritméticas básicas: suma, resta, multiplicación, división, potenciación y modulo para
datos de tipo numérico tanto enteros como reales. Estas operaciones son binarias porque
admiten dos operandos.
+ Suma suma = 2 + 2
- Resta resta = 10 - 4
* Multiplicación multiplicación = 10 * 2
/ División división = 9 / 3
^ Potenciación potencia = 10 ^ 2
Módulo (resto de la
% o MOD resto = 4 % 2
división entera)
Reglas de prioridad:
Las expresiones que tienen dos o más operadores requieren unas reglas matemáticas que
permitan determinar el orden de las operaciones, se denominan reglas de prioridad y son:
1. Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen
diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se
evalúan primero.
2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de
prioridad:
operador ( )
15
En caso de coincidir varios operadores de igual prioridad en una expresión o sub expresión
encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha, y a
esta propiedad se denomina asociatividad.
EJERCICIO VARIABLES
Define dos variables que guarden números enteros, defina una tercera variable donde aloje el
resultado se sumarán ambas variables. Comente su código indicando qué finalidad tiene cada
línea.
DETECCIÓN DE ERRORES
¿Puedes corregir esta porción de código para que cumpla el resultado esperado?
Algoritmo Prueba
letra
FinAlgoritmo
16