SlideShare una empresa de Scribd logo
Libro de Algoritmos de “Abrirllave.com” 63 / 180
Capítulo 6 del libro “Diseño de Algoritmos en Pseudocódigo y Ordinogramas”
Todos los contenidos de este documento forman parte del Tutorial de Algoritmos de Abrirllave y
están bajo la Licencia Creative Commons Reconocimiento 4.0 Internacional (CC BY 4.0).
Capítulo 6. Instrucciones
primitivas
En programación, las instrucciones que se utilizan para diseñar algoritmos se pueden clasificar
en:
 Primitivas.
 De control.
 Llamadas a subalgoritmos (llamadas a subprogramas).
En este capítulo se van a explicar las instrucciones primitivas. El resto serán estudiadas más
adelante. Existen tres tipos de instrucciones primitivas:
 Asignación.
 Salida.
 Entrada.
6.1. Instrucción de asignación
Una instrucción de asignación –o simplemente asignación– consiste en asignar el resultado de
la evaluación de una expresión a una variable.
EJEMPLO A partir de la definición de las siguientes declaraciones de variables en
pseudocódigo:
cadena nombre
real nota_1, nota_2, nota_3, nota_media
Algunas instrucciones de asignación son:
Libro de Algoritmos de “Abrirllave.com” 64 / 180
nota_1  6.5
nota_2  8.3
nota_3  7.1
nota_media  ( nota_1 + nota_2 + nota_3 ) / 3
nombre  "Jorge"
En pseudocódigo, la sintaxis para escribir una asignación es:
<nombre_de_la_variable>  <expresión>
El valor –dato– que se obtiene al evaluar la <expresión> es almacenado en la variable que
se indique. De manera que, las variables nota_1, nota_2, nota_3, nota_media y
nombre almacenarán los valores: 6.5, 8.3, 7.1, 7.3 y "Jorge", respectivamente.
Recuérdese que, en la declaración de una variable, también se puede asignar un valor inicial a
la misma, y que, en la declaración de una constante es obligatorio asignárselo.
EJEMPLO Dadas las declaraciones:
PI = 3.141592
real area, longitud, radio = 5.78
Algunas instrucciones de asignación son:
area  PI * radio ** 2
longitud  2 * PI * radio
Por consiguiente, las variables area y longitud almacenarán los valores:
57.046290 (se obtiene de 3.141592 * 5.78 ** 2)
36.316804 (se obtiene de 2 * 3.141592 * 5.78)
En una asignación, la variable debe ser del mismo tipo que la expresión asignada.
EJEMPLO Por tanto, partiendo de:
cadena telefono
entero numero
Las siguientes instrucciones son incorrectas:
Libro de Algoritmos de “Abrirllave.com” 65 / 180
telefono  948347788
numero  "5"
Sin embargo, entre valores numéricos –enteros y reales– se puede realizar una conversión de
tipos.
EJEMPLO Habiendo declarado las variables:
real a = 6.4, b = 3.1, c, d
entero e = 5, f = 2, g, h, i
Después de las instrucciones:
c  e / f
d  a / f
g  e / f
h  a / f
i  b / a
Las variables c, d, g, h e i contendrán, respectivamente, los valores:
2.5 (se obtiene de 5 / 2)
3.2 (se obtiene de 6.4 / 2)
2 (se produce un truncamiento de la parte decimal del número 2.5)
3 (se produce un truncamiento de la parte decimal del número 3.2)
0 (se produce un truncamiento de la parte decimal del número 0.484375)
Una asignación permite cambiar el valor –dato– almacenado en una variable.
EJEMPLO Si se ha definido la variable:
entero numero = 6
Tras la instrucción:
numero  numero * -3
El valor –dato– almacenado en la variable numero ha pasado a ser el:
Libro de Algoritmos de “Abrirllave.com” 66 / 180
-18 (se obtiene de 6 * -3)
Como se puede observar, en esta ocasión, a la variable numero se le asigna el resultado de
evaluar una expresión, en donde la propia variable también aparece.
Un error frecuente que suelen cometer programadores principiantes, es incluir en una
expresión, una variable que no tenga ningún valor –dato– almacenado, es decir, una variable a
la que previamente no se le haya asignado ningún valor.
EJEMPLO A partir de la declaración:
real n1, n2
En la siguiente instrucción:
n1  n2 * 72
La expresión n2 * 72 no se puede evaluar, ya que, ¿cuál es valor de n2? Tiene un valor
indeterminado y, en consecuencia, la instrucción se ejecutará mal.
EJEMPLO Dadas las declaraciones:
entero n1 = -7, n2 = 8, n3
logico negativo
Las siguientes asignaciones también son incorrectas:
n1 + 1  n2 (ERROR de sintaxis)
negativo  n3 < 0 (¿cuál es el valor de n3?)
Ha aparecido el símbolo reservado flecha izquierda ().
 Separadora de la variable y de la expresión asignada en una instrucción
de asignación.
6.2. Instrucción de salida
Una instrucción de salida –o simplemente salida– consiste en llevar hacia el exterior los
valores –datos– obtenidos de la evaluación de una lista de expresiones. Normalmente, los
datos son enviados a la salida estándar –la pantalla–, pero, también existen otros dispositivos
de salida (la impresora, el plotter...).
Libro de Algoritmos de “Abrirllave.com” 67 / 180
En pseudocódigo, la sintaxis de una instrucción de salida es:
escribir( <expresión_1>, <expresión_2>, ..., <expresión_n> )
También se puede escribir como:
escribir( <lista_de_expresiones> )
EJEMPLO Partiendo de las variables:
cadena nombre = "Timoteo"
entero edad = 27, hijos = 2
Al escribir:
escribir( nombre, " tiene ", edad, " años." )
escribir( nombre, " tiene ", hijos, " hijos." )
Por pantalla aparecerá:
EJEMPLO Obsérvese la diferencia de escribir:
escribir( nombre, "tiene", edad, "años." )
escribir( "nombre tiene hijos hijos." )
En este caso, por pantalla se verá:
De modo que, se debe ser muy cuidadoso a la hora de escribir la lista de expresiones de una
salida.
Libro de Algoritmos de “Abrirllave.com” 68 / 180
EJEMPLO Si se han definido:
real altura, area_triangulo, base
Al escribir:
base  1.1
altura  2.2
area_triangulo  base * altura / 2
escribir( "El área del triángulo es: ", area_triangulo )
Por pantalla se mostrará:
EJEMPLO El mismo resultado se puede obtener escribiendo:
base  1.1
altura  2.2
escribir( "El área del triángulo es: ", base * altura / 2 )
En este caso, se ha prescindido de la variable area_triangulo, reduciéndose así el número
de instrucciones.
6.3. Instrucción de entrada
Una instrucción de entrada –o simplemente entrada– consiste en asignar a una o más
variables, uno o más valores –datos– recibidos desde el exterior. Normalmente, los datos son
recogidos desde la entrada estándar –el teclado–, pero, también existen otros dispositivos de
entrada (el ratón, el escáner...).
En pseudocódigo, la sintaxis de una instrucción de entrada es:
leer( <nombre_de_la_variable_1>,
<nombre_de_la_variable_2>,
...,
<nombre_de_la_variable_n> )
Libro de Algoritmos de “Abrirllave.com” 69 / 180
También se puede escribir como:
leer( <lista_de_variables> )
EJEMPLO Partiendo de las variables:
cadena nombre, apellidos
entero edad
Para cada una de ellas se puede recoger un valor –dato– desde el teclado, escribiendo:
leer( nombre )
leer( apellidos )
leer( edad )
Otra posibilidad es:
leer( nombre, apellidos, edad )
EJEMPLO Si se han declarado:
cadena nombre
real numero
Al escribir:
escribir( "Introduzca su nombre: " )
leer( nombre )
escribir( "Introduzca un número real: " )
leer( numero )
escribir( nombre, ", el doble de ", numero, " es: ", numero * 2 )
Por pantalla se verá algo parecido a:
Libro de Algoritmos de “Abrirllave.com” 70 / 180
Juan y 31.4 son valores –datos– leídos desde el teclado, es decir, introducidos por el usuario, y
almacenados en las variables nombre y numero, respectivamente.
Han aparecido dos nuevas palabras reservadas: escribir y leer.
Además, han vuelto a aparecer los símbolos reservados abrir paréntesis “(” y cerrar paréntesis
“)”, con un significado distinto.
Símbolos reservados
Símbolo Descripción
() Albergan las expresiones de una instrucción de salida.
() Albergan las variables de una instrucción de entrada.
Y el símbolo coma (,).
, Separadora de las expresiones de una instrucción de salida.
, Separadora de las variables de una instrucción de entrada.
Ejercicios resueltos
 Valores almacenados en la memoria después de asignaciones
 Salida por pantalla
 Instrucciones necesarias

Más contenido relacionado

La actualidad más candente

Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
Facultad de Ciencias y Sistemas
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
Johnny Paucar
 
Semana 6 Módulos Clases y Objetos
Semana 6   Módulos Clases y ObjetosSemana 6   Módulos Clases y Objetos
Semana 6 Módulos Clases y Objetos
Richard Eliseo Mendoza Gafaro
 
Ejercicios áLgebra Relacional
Ejercicios áLgebra RelacionalEjercicios áLgebra Relacional
Ejercicios áLgebra Relacionalnegriz
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
Cesar Oswaldo Osorio Agualongo
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
Andreina Trejo
 
Importancia de la integral definida
Importancia de la integral definidaImportancia de la integral definida
Importancia de la integral definida
manuel macea
 
Comandos debug
Comandos debugComandos debug
Comandos debug
Pedro Miranda
 
Sintesis electronica
Sintesis electronicaSintesis electronica
Sintesis electronica
hugmary
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
Fredy Olaya
 
Bucles compuestos ejercicios en código java
Bucles compuestos ejercicios en código javaBucles compuestos ejercicios en código java
Bucles compuestos ejercicios en código java
Fanny Lorenzo Quilla
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
Mariela Bussi Pimentel
 
Recursividad
RecursividadRecursividad
Ejercicios de diagramas de flujo en raptor
Ejercicios de diagramas de flujo en raptorEjercicios de diagramas de flujo en raptor
Ejercicios de diagramas de flujo en raptor
MaryRomero77
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
Definición de punteros en C++ en Introducción a la Programación
Definición de punteros en C++ en Introducción a la ProgramaciónDefinición de punteros en C++ en Introducción a la Programación
Definición de punteros en C++ en Introducción a la Programación
Facultad de Ciencias y Sistemas
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instruccionesrcarrerah
 
Taller Algebra Relacional
Taller Algebra RelacionalTaller Algebra Relacional
Taller Algebra Relacional
AndresSuarez
 

La actualidad más candente (20)

Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Demostracion condicional
Demostracion condicionalDemostracion condicional
Demostracion condicional
 
Semana 6 Módulos Clases y Objetos
Semana 6   Módulos Clases y ObjetosSemana 6   Módulos Clases y Objetos
Semana 6 Módulos Clases y Objetos
 
Ejercicios áLgebra Relacional
Ejercicios áLgebra RelacionalEjercicios áLgebra Relacional
Ejercicios áLgebra Relacional
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Importancia de la integral definida
Importancia de la integral definidaImportancia de la integral definida
Importancia de la integral definida
 
Comandos debug
Comandos debugComandos debug
Comandos debug
 
Sintesis electronica
Sintesis electronicaSintesis electronica
Sintesis electronica
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Bucles compuestos ejercicios en código java
Bucles compuestos ejercicios en código javaBucles compuestos ejercicios en código java
Bucles compuestos ejercicios en código java
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Recursividad
RecursividadRecursividad
Recursividad
 
Ejercicios de diagramas de flujo en raptor
Ejercicios de diagramas de flujo en raptorEjercicios de diagramas de flujo en raptor
Ejercicios de diagramas de flujo en raptor
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
Definición de punteros en C++ en Introducción a la Programación
Definición de punteros en C++ en Introducción a la ProgramaciónDefinición de punteros en C++ en Introducción a la Programación
Definición de punteros en C++ en Introducción a la Programación
 
Resumen polimorfismo
Resumen polimorfismoResumen polimorfismo
Resumen polimorfismo
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Taller Algebra Relacional
Taller Algebra RelacionalTaller Algebra Relacional
Taller Algebra Relacional
 

Similar a Instrucciones primitivas en pseudocódigo

Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigo
Abrirllave
 
Informe compilador divisor
Informe compilador divisorInforme compilador divisor
Informe compilador divisor
Soraya Lara
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdjvtoro
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
Pablo Chiesa
 
Instrucciones de control alternativas
Instrucciones de control alternativasInstrucciones de control alternativas
Instrucciones de control alternativas
Abrirllave
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
Guillermo Viaje
 
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Ximena Huechacona
 
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Victor Ochoa
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
guest567878
 
Programacion C#
Programacion C#Programacion C#
Programacion C#
Andrew King
 
Aa javaaa intro
Aa javaaa introAa javaaa intro
Aa javaaa intro
MickeT
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
Videoconferencias UTPL
 
Lenguaje de simulacion
Lenguaje de simulacionLenguaje de simulacion
Lenguaje de simulacion
lilijessica
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujoElizabeth Reyna
 
Tutorial sencillo manejo de PSEINT y free DFD.pdf
Tutorial sencillo manejo de PSEINT y free DFD.pdfTutorial sencillo manejo de PSEINT y free DFD.pdf
Tutorial sencillo manejo de PSEINT y free DFD.pdf
PentiuMMegaTechnolog
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodos
Lao Tobon
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
sandra gutierrez
 

Similar a Instrucciones primitivas en pseudocódigo (20)

Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigo
 
Informe compilador divisor
Informe compilador divisorInforme compilador divisor
Informe compilador divisor
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfd
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
 
Instrucciones de control alternativas
Instrucciones de control alternativasInstrucciones de control alternativas
Instrucciones de control alternativas
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Manual.es
Manual.esManual.es
Manual.es
 
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_
 
Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_Tutorial sencillo manejo_de_pseint_y_dfd_1_
Tutorial sencillo manejo_de_pseint_y_dfd_1_
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
 
Programacion C#
Programacion C#Programacion C#
Programacion C#
 
Aa javaaa intro
Aa javaaa introAa javaaa intro
Aa javaaa intro
 
Sophia leonzio tarea4
Sophia leonzio tarea4Sophia leonzio tarea4
Sophia leonzio tarea4
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
 
Lenguaje de simulacion
Lenguaje de simulacionLenguaje de simulacion
Lenguaje de simulacion
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujo
 
Tutorial sencillo manejo de PSEINT y free DFD.pdf
Tutorial sencillo manejo de PSEINT y free DFD.pdfTutorial sencillo manejo de PSEINT y free DFD.pdf
Tutorial sencillo manejo de PSEINT y free DFD.pdf
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodos
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
 

Más de Abrirllave

Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
Abrirllave
 
Taller de iniciación al SEO y Desarrollo Web
Taller de iniciación al SEO y Desarrollo WebTaller de iniciación al SEO y Desarrollo Web
Taller de iniciación al SEO y Desarrollo Web
Abrirllave
 
Libro de Algoritmos
Libro de AlgoritmosLibro de Algoritmos
Libro de Algoritmos
Abrirllave
 
Llamadas a subalgoritmos
Llamadas a subalgoritmosLlamadas a subalgoritmos
Llamadas a subalgoritmos
Abrirllave
 
Instrucciones de control de salto
Instrucciones de control de saltoInstrucciones de control de salto
Instrucciones de control de salto
Abrirllave
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
Abrirllave
 
Apuntes de SEO
Apuntes de SEOApuntes de SEO
Apuntes de SEO
Abrirllave
 
Ordinogramas
OrdinogramasOrdinogramas
Ordinogramas
Abrirllave
 
Ejercicio - Intercambio de los valores de dos variables
Ejercicio - Intercambio de los valores de dos variablesEjercicio - Intercambio de los valores de dos variables
Ejercicio - Intercambio de los valores de dos variables
Abrirllave
 
Ejercicio - Nota media de tres exámenes
Ejercicio - Nota media de tres exámenesEjercicio - Nota media de tres exámenes
Ejercicio - Nota media de tres exámenes
Abrirllave
 
Ejercicio - Suma y multiplicación de dos números
Ejercicio - Suma y multiplicación de dos númerosEjercicio - Suma y multiplicación de dos números
Ejercicio - Suma y multiplicación de dos números
Abrirllave
 
Ejercicio - Volumen de un cubo
Ejercicio - Volumen de un cuboEjercicio - Volumen de un cubo
Ejercicio - Volumen de un cubo
Abrirllave
 
Ejercicio - De pesetas a euros
Ejercicio - De pesetas a eurosEjercicio - De pesetas a euros
Ejercicio - De pesetas a euros
Abrirllave
 
Ejercicio - Saludo
Ejercicio - SaludoEjercicio - Saludo
Ejercicio - Saludo
Abrirllave
 
Tipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigoTipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigo
Abrirllave
 
Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigo
Abrirllave
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigo
Abrirllave
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
Abrirllave
 
Tutorial de Google Drive en PDF
Tutorial de Google Drive en PDFTutorial de Google Drive en PDF
Tutorial de Google Drive en PDF
Abrirllave
 
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDFLibro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
Abrirllave
 

Más de Abrirllave (20)

Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
 
Taller de iniciación al SEO y Desarrollo Web
Taller de iniciación al SEO y Desarrollo WebTaller de iniciación al SEO y Desarrollo Web
Taller de iniciación al SEO y Desarrollo Web
 
Libro de Algoritmos
Libro de AlgoritmosLibro de Algoritmos
Libro de Algoritmos
 
Llamadas a subalgoritmos
Llamadas a subalgoritmosLlamadas a subalgoritmos
Llamadas a subalgoritmos
 
Instrucciones de control de salto
Instrucciones de control de saltoInstrucciones de control de salto
Instrucciones de control de salto
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Apuntes de SEO
Apuntes de SEOApuntes de SEO
Apuntes de SEO
 
Ordinogramas
OrdinogramasOrdinogramas
Ordinogramas
 
Ejercicio - Intercambio de los valores de dos variables
Ejercicio - Intercambio de los valores de dos variablesEjercicio - Intercambio de los valores de dos variables
Ejercicio - Intercambio de los valores de dos variables
 
Ejercicio - Nota media de tres exámenes
Ejercicio - Nota media de tres exámenesEjercicio - Nota media de tres exámenes
Ejercicio - Nota media de tres exámenes
 
Ejercicio - Suma y multiplicación de dos números
Ejercicio - Suma y multiplicación de dos númerosEjercicio - Suma y multiplicación de dos números
Ejercicio - Suma y multiplicación de dos números
 
Ejercicio - Volumen de un cubo
Ejercicio - Volumen de un cuboEjercicio - Volumen de un cubo
Ejercicio - Volumen de un cubo
 
Ejercicio - De pesetas a euros
Ejercicio - De pesetas a eurosEjercicio - De pesetas a euros
Ejercicio - De pesetas a euros
 
Ejercicio - Saludo
Ejercicio - SaludoEjercicio - Saludo
Ejercicio - Saludo
 
Tipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigoTipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigo
 
Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigo
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigo
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
 
Tutorial de Google Drive en PDF
Tutorial de Google Drive en PDFTutorial de Google Drive en PDF
Tutorial de Google Drive en PDF
 
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDFLibro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
Libro de Lenguajes de Marcas y Sistemas de Gestión de Información en PDF
 

Último

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 

Último (20)

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 

Instrucciones primitivas en pseudocódigo

  • 1. Libro de Algoritmos de “Abrirllave.com” 63 / 180 Capítulo 6 del libro “Diseño de Algoritmos en Pseudocódigo y Ordinogramas” Todos los contenidos de este documento forman parte del Tutorial de Algoritmos de Abrirllave y están bajo la Licencia Creative Commons Reconocimiento 4.0 Internacional (CC BY 4.0). Capítulo 6. Instrucciones primitivas En programación, las instrucciones que se utilizan para diseñar algoritmos se pueden clasificar en:  Primitivas.  De control.  Llamadas a subalgoritmos (llamadas a subprogramas). En este capítulo se van a explicar las instrucciones primitivas. El resto serán estudiadas más adelante. Existen tres tipos de instrucciones primitivas:  Asignación.  Salida.  Entrada. 6.1. Instrucción de asignación Una instrucción de asignación –o simplemente asignación– consiste en asignar el resultado de la evaluación de una expresión a una variable. EJEMPLO A partir de la definición de las siguientes declaraciones de variables en pseudocódigo: cadena nombre real nota_1, nota_2, nota_3, nota_media Algunas instrucciones de asignación son:
  • 2. Libro de Algoritmos de “Abrirllave.com” 64 / 180 nota_1  6.5 nota_2  8.3 nota_3  7.1 nota_media  ( nota_1 + nota_2 + nota_3 ) / 3 nombre  "Jorge" En pseudocódigo, la sintaxis para escribir una asignación es: <nombre_de_la_variable>  <expresión> El valor –dato– que se obtiene al evaluar la <expresión> es almacenado en la variable que se indique. De manera que, las variables nota_1, nota_2, nota_3, nota_media y nombre almacenarán los valores: 6.5, 8.3, 7.1, 7.3 y "Jorge", respectivamente. Recuérdese que, en la declaración de una variable, también se puede asignar un valor inicial a la misma, y que, en la declaración de una constante es obligatorio asignárselo. EJEMPLO Dadas las declaraciones: PI = 3.141592 real area, longitud, radio = 5.78 Algunas instrucciones de asignación son: area  PI * radio ** 2 longitud  2 * PI * radio Por consiguiente, las variables area y longitud almacenarán los valores: 57.046290 (se obtiene de 3.141592 * 5.78 ** 2) 36.316804 (se obtiene de 2 * 3.141592 * 5.78) En una asignación, la variable debe ser del mismo tipo que la expresión asignada. EJEMPLO Por tanto, partiendo de: cadena telefono entero numero Las siguientes instrucciones son incorrectas:
  • 3. Libro de Algoritmos de “Abrirllave.com” 65 / 180 telefono  948347788 numero  "5" Sin embargo, entre valores numéricos –enteros y reales– se puede realizar una conversión de tipos. EJEMPLO Habiendo declarado las variables: real a = 6.4, b = 3.1, c, d entero e = 5, f = 2, g, h, i Después de las instrucciones: c  e / f d  a / f g  e / f h  a / f i  b / a Las variables c, d, g, h e i contendrán, respectivamente, los valores: 2.5 (se obtiene de 5 / 2) 3.2 (se obtiene de 6.4 / 2) 2 (se produce un truncamiento de la parte decimal del número 2.5) 3 (se produce un truncamiento de la parte decimal del número 3.2) 0 (se produce un truncamiento de la parte decimal del número 0.484375) Una asignación permite cambiar el valor –dato– almacenado en una variable. EJEMPLO Si se ha definido la variable: entero numero = 6 Tras la instrucción: numero  numero * -3 El valor –dato– almacenado en la variable numero ha pasado a ser el:
  • 4. Libro de Algoritmos de “Abrirllave.com” 66 / 180 -18 (se obtiene de 6 * -3) Como se puede observar, en esta ocasión, a la variable numero se le asigna el resultado de evaluar una expresión, en donde la propia variable también aparece. Un error frecuente que suelen cometer programadores principiantes, es incluir en una expresión, una variable que no tenga ningún valor –dato– almacenado, es decir, una variable a la que previamente no se le haya asignado ningún valor. EJEMPLO A partir de la declaración: real n1, n2 En la siguiente instrucción: n1  n2 * 72 La expresión n2 * 72 no se puede evaluar, ya que, ¿cuál es valor de n2? Tiene un valor indeterminado y, en consecuencia, la instrucción se ejecutará mal. EJEMPLO Dadas las declaraciones: entero n1 = -7, n2 = 8, n3 logico negativo Las siguientes asignaciones también son incorrectas: n1 + 1  n2 (ERROR de sintaxis) negativo  n3 < 0 (¿cuál es el valor de n3?) Ha aparecido el símbolo reservado flecha izquierda ().  Separadora de la variable y de la expresión asignada en una instrucción de asignación. 6.2. Instrucción de salida Una instrucción de salida –o simplemente salida– consiste en llevar hacia el exterior los valores –datos– obtenidos de la evaluación de una lista de expresiones. Normalmente, los datos son enviados a la salida estándar –la pantalla–, pero, también existen otros dispositivos de salida (la impresora, el plotter...).
  • 5. Libro de Algoritmos de “Abrirllave.com” 67 / 180 En pseudocódigo, la sintaxis de una instrucción de salida es: escribir( <expresión_1>, <expresión_2>, ..., <expresión_n> ) También se puede escribir como: escribir( <lista_de_expresiones> ) EJEMPLO Partiendo de las variables: cadena nombre = "Timoteo" entero edad = 27, hijos = 2 Al escribir: escribir( nombre, " tiene ", edad, " años." ) escribir( nombre, " tiene ", hijos, " hijos." ) Por pantalla aparecerá: EJEMPLO Obsérvese la diferencia de escribir: escribir( nombre, "tiene", edad, "años." ) escribir( "nombre tiene hijos hijos." ) En este caso, por pantalla se verá: De modo que, se debe ser muy cuidadoso a la hora de escribir la lista de expresiones de una salida.
  • 6. Libro de Algoritmos de “Abrirllave.com” 68 / 180 EJEMPLO Si se han definido: real altura, area_triangulo, base Al escribir: base  1.1 altura  2.2 area_triangulo  base * altura / 2 escribir( "El área del triángulo es: ", area_triangulo ) Por pantalla se mostrará: EJEMPLO El mismo resultado se puede obtener escribiendo: base  1.1 altura  2.2 escribir( "El área del triángulo es: ", base * altura / 2 ) En este caso, se ha prescindido de la variable area_triangulo, reduciéndose así el número de instrucciones. 6.3. Instrucción de entrada Una instrucción de entrada –o simplemente entrada– consiste en asignar a una o más variables, uno o más valores –datos– recibidos desde el exterior. Normalmente, los datos son recogidos desde la entrada estándar –el teclado–, pero, también existen otros dispositivos de entrada (el ratón, el escáner...). En pseudocódigo, la sintaxis de una instrucción de entrada es: leer( <nombre_de_la_variable_1>, <nombre_de_la_variable_2>, ..., <nombre_de_la_variable_n> )
  • 7. Libro de Algoritmos de “Abrirllave.com” 69 / 180 También se puede escribir como: leer( <lista_de_variables> ) EJEMPLO Partiendo de las variables: cadena nombre, apellidos entero edad Para cada una de ellas se puede recoger un valor –dato– desde el teclado, escribiendo: leer( nombre ) leer( apellidos ) leer( edad ) Otra posibilidad es: leer( nombre, apellidos, edad ) EJEMPLO Si se han declarado: cadena nombre real numero Al escribir: escribir( "Introduzca su nombre: " ) leer( nombre ) escribir( "Introduzca un número real: " ) leer( numero ) escribir( nombre, ", el doble de ", numero, " es: ", numero * 2 ) Por pantalla se verá algo parecido a:
  • 8. Libro de Algoritmos de “Abrirllave.com” 70 / 180 Juan y 31.4 son valores –datos– leídos desde el teclado, es decir, introducidos por el usuario, y almacenados en las variables nombre y numero, respectivamente. Han aparecido dos nuevas palabras reservadas: escribir y leer. Además, han vuelto a aparecer los símbolos reservados abrir paréntesis “(” y cerrar paréntesis “)”, con un significado distinto. Símbolos reservados Símbolo Descripción () Albergan las expresiones de una instrucción de salida. () Albergan las variables de una instrucción de entrada. Y el símbolo coma (,). , Separadora de las expresiones de una instrucción de salida. , Separadora de las variables de una instrucción de entrada. Ejercicios resueltos  Valores almacenados en la memoria después de asignaciones  Salida por pantalla  Instrucciones necesarias