SlideShare une entreprise Scribd logo
Sintaxis de PSeInt
Tutorial
Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof)
Introducción a la Computación (T.U.R. - T.U.W.)
Fundamentos de la Informática (Ing. en Minas - Ing. Electr.)
Área de Servicios
Departamento de Informática
Universidad Nacional de San Luis
PSeInt
Índice
1. Sintaxis general 2
1.1. Formalización de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Declaración de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Nombre de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Expresiones 3
2.1. Expresiones relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Expresiones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3. Expresiones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Entrada Salida 3
3.1. Entrada - Lectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Salida - Escritura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Estructuras de Control 4
4.1. Secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1.1. Asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2. Condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3. Repeticion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3.1. Mientras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3.2. Para . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Arreglos 5
5.0.1. Definición de Arreglo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Subalgoritmos 7
6.1. Definición de Subalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.2. Invocación de Subalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.2.1. Lenguaje de Diseño: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2.2. PSeInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3. Funciones primitivas o predefinidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7. Resumen 10
7.1. Tabla Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 1
PSeInt
INTRODUCCION
PSeInt es un software que interpreta pseudocódigo. Pseudocódigo es un tipo de lenguaje de diseño que permite expre-
sar algoritmos acercándose a los lenguajes de programación con elementos del lenguaje de problema.
El objetivo de este manual es brindar al alumno una guı́a rápida de diferencias y similitudes entre la sintaxis de
Lenguaje de Diseño vista en clase y la sintaxis usada por el software PSeInt.
Entre las caracterı́sticas generales del pseudocódigo se encuentra una sintaxis sencilla y un manejo de estructuras
básicas de control, entre ellas: secuencial, condicional y repetición.
1. Sintaxis general
1.1. Formalización de Algoritmos
Lenguaje de Diseño PSeInt
ALGORITMO ”Nombre de Algoritmo” PROCESO SinTitulo
COMENZAR Acción 1;
Declaraciones de variables ...
Acciones Acción n
FIN FINPROCESO
1.2. Tipos de datos
Lenguaje de Diseño PSeInt
Numéricos: enteros y reales. Numéricos: enteros y reales, los reales se
separan con un punto.
Lógico: solo puede tomar dos valores Ver-
dadero o Falso.
Lógico: solo puede tomar dos valores Ver-
dadero o Falso.
Caracter Un carácter es una letra, un
número o un signo de puntuación, encerra-
do entre comillas simples.
Caracter Un carácter es una letra, un
número o un signo de puntuación, encerra-
do entre comillas simples o dobles.
1.3. Declaración de variable
Lenguaje de Diseño PSeInt
<variable>: [Real/Entero/Logico/Caracter] DEFINIR <variable >COMO
[Real/Entero/Logico/Caracter];
Ejemplo: Ejemplo:
Contador : Entero DEFINIR Contador COMO Entero;
X, Y : Real DEFINIR X, Y COMO Real;
Importante: En PseInt los tipos de datos simples pueden determinarse automáticamente no solo en el momento de
creación de la variable sino en el momento en que se referencia dicha variable. A pesar de esta particularidad que ofrece
PseInt, los ejercicios deben realizarse definiendo el tipo de dato simple en el momento de creación de la variable.
1.4. Nombre de una variable
Para definir una variable:
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 2
PSeInt
1. Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco ni opera-
dores.
2. Después del primer caracter se permiten: letras, dı́gitos y el guión bajo ( ).
3. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8
caracteres.
4. El nombre de la variable debe dar una idea del valor que contiene.
2. Expresiones
2.1. Expresiones relacionales
Expresión Lenguaje de Diseño PSeInt
Mayor > >
Menor < <
Igual = =
Menor o Igual <= <=
Mayor o Igual >= >=
Distinto >< ><
2.2. Expresiones lógicas
Expresión Lenguaje de Diseño PSeInt
Conjunción (y) ∧ & ó Y
Disyunción (o) ∨ | ó O
Negación (no) ¬ ∼ ó NO
2.3. Expresiones aritméticas
Expresión Lenguaje de Diseño PSeInt
Suma + +
Resta - -
Multiplicación * *
División / /
Potenciación ↑ ˆ
Módulo (Resto de la división entera) // % ó MOD
3. Entrada Salida
3.1. Entrada - Lectura
Lenguaje de Diseño PSeInt
LEER <variable > LEER <variable >;
LEER <vble1 >, ..., <vbleN > LEER <vble1 >, ..., <vbleN >;
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 3
PSeInt
3.2. Salida - Escritura
Lenguaje de Diseño PSeInt
ESCRIBIR ”Mensaje” ESCRIBIR ”Mensaje”;
ESCRIBIR <vble1 >, ..., <vbleN > ESCRIBIR <vble1 >, ..., <vbleN >;
ESCRIBIR”El valor de la variable es:”,<variable> ESCRIBIR”El valor de la variable es:”<variable>;
4. Estructuras de Control
4.1. Secuencial
En PseInt, igual que en lenguaje de diseño las acciones se escriben una debajo de otra, y pueden ir separadas o no por
un punto y coma.
4.1.1. Asignación
Lenguaje de Diseño PSeInt
<variable><- <expresión > <variable><- <expresión >;
Ejemplo: Ejemplo:
A <- 156; A <- 156;
B<- ’X’; B<- ’X’;
C<- 157- A; C<- 157- A;
4.2. Condicional
Lenguaje de Diseño PSeInt
SI <condición >ENTONCES SI <condición >ENTONCES
<instrucciones > <instrucciones >
SINO SINO
<instrucciones > <instrucciones >
FINSI FINSI
Ejemplo: Ejemplo:
SI X >Y ENTONCES SI X >Y ENTONCES
Escribir X Escribir X;
SINO SINO
Escribir Z Escribir Z;
FINSI FINSI
4.3. Repeticion
4.3.1. Mientras
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 4
PSeInt
Lenguaje de Diseño PSeInt
MIENTRAS <condición >HACER MIENTRAS <condición >HACER
<instrucciones > <instrucciones >
FINMIENTRAS FINMIENTRAS
Ejemplo: Ejemplo:
MIENTRAS X >1 HACER MIENTRAS X >1 HACER
X <- X-1; X <- X-1;
ESCRIBIR X; ESCRIBIR X;
FINMIENTRAS FINMIENTRAS
4.3.2. Para
Lenguaje de Diseño PSeInt
PARA <variable >DESDE <inicial >HASTA
<final >CON PASO <paso >HACER
PARA <variable ><- <inicial >HASTA <final
>CON PASO <paso >HACER
<instrucciones > <instrucciones >
FINPARA FINPARA
Ejemplo: Ejemplo:
PARA i DESDE 1 HASTA 5 CON PASO 1 HA-
CER
PARA i<- 1 HASTA 5 CON PASO 1 HACER
ESCRIBIR i; ESCRIBIR i;
FINPARA FINPARA
5. Arreglos
5.0.1. Definición de Arreglo
Lenguaje de Diseño PSeInt
<identificador >: arreglo [1 ... <máximo >] de
<tipo >
Definir <identificador >Como <tipo;
>Dimension <identificador >[<max1 >, ... ,
<maxN >];
Ejemplo: Ejemplo:
A: arreglo [1...10] de Real Definir A Como Real;
Dimension A [10];
Se pueden declarar mas de un arreglo en una misma instrucción separándolos con una coma.
Para declarar el tipo de elemento del arreglo, se puede definir una variable de tipo especı́fico y luego utilizarla para
asignale valores. O se puede asignarle directamente por medio de la instrucción Leer, y el tipo del arreglo va a depender
de lo ingresado.
Ejemplo:
Definir A como Entero;
Definir B como Caracter;
Dimension A[5];
Dimension B[5];
Definir x como Caracter;
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 5
PSeInt
Leer A[1]; // Suponer que se ingresa un 8
Escribir A[1];// Muestra por pantalla 8
x <- ’p’;
B[1] <- x; //B[1] tiene el caracter ’p’
B[2] <- 58; // ERROR DE TIPO porque tenı́a asignado un valor de tipo caracter y 58 es un valor entero
Para acceder a un elemento del arreglo se utiliza el siguiente comando:
<identificador >[posición];
Ejemplo:
Escribir A[3]; //Muestra por pantalla el contenido del arreglo A en la posición 3
i <- 3;
Escribir A[i]; //Muestra por pantalla el contenido del arreglo A en la posición 3
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 6
PSeInt
6. Subalgoritmos
6.1. Definición de Subalgoritmo
Lenguaje de Diseño PSeInt
SUBALGORITMO ”Nombre”(<clase parámetro> SUBPROCESO <variable tipo Out><-
<Nombre parámetro>:<Tipo>,...) <Nombre función>(<Nombre parámetro 1>,
COMENZAR <Nombre parámetro 2>,...)
<Secuencia de acciones> acción 1;
FIN ...
acción N;
FINSUBPROCESO
En PseInt un Subalgoritmo comienza con la palabra clave Subproceso, seguida de la Variable de tipo Out, el signo de
asignación, el Nombre del Subproceso, y finalmente, la Lista de argumentos (o Parámetros).
Existen variantes para esta estructura, si el Subproceso no devuelve ningún valor, pueden omitirse el identificador <va-
riable tipo Out> y el signo de asignación, es decir, colocar directamente el nombre y los parámetros a continuación de
la palabra clave Subproceso. Si el Subproceso no recibe ningún valor pueden colocarse los parétesis vacı́os u omitirse,
finalmente la primer lı́nea con el nombre del Subproceso.
Además, opcionalmente pueden agregarse las palabras claves Por Valor o Por Referencia para indicar el tipo de pasaje en
cada argumento, en donde un argumento Por Valor es equivalente a un argumento de tipo In en lenguaje de diseño y un
argumento Por Referencia es equivalente a un argumento de tipo In Out en lenguaje de diseño. Si no se indica, los arreglos
se pasan Por Referencia (In Out),y el resto de los argumentos Por Valor (In).
6.2. Invocación de Subalgoritmo
Igual que en lenguaje de diseño, para invocar a un Subproceso se debe utilizar su Nombre (Parámetros). Debe res-
petarse la cantidad de Parámetros formales, que debe coincidir con la cantidad de parámetros actuales. Además, deben
coincidir los tipos utilizados en la invocación con los tipos declarados en la definición de Subproceso.
Cada vez que un Subproceso es invocado desde un Algortimo o Subalgoritmo (Proceso o Subproceso) se establece, au-
tomáticamente una correspondencia entre los parámetros formales y los actuales. Esta correspondencia está definida por
la posición que los parámetros ocupan dentro de la lista de parámetros.
Para los parámetros formales que fueron definidos como:
In/ Por Valor los parámetros actuales pueden ser constantes, variables (definidas en el ambiente del Algoritmo invocante),
expresiones o valores de funciones.
Out o In Out/ Por Referencia, los parámetros actuales deben ser variables definidas en el ambiente del algoritmo invocan-
te, pues allı́ el subalgoritmo devuelve sus resultados.
Ejemplo: El siguiente programa calcula el promedio de una lista de N datos utilizando un SubProceso o Subalgoritmo.
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 7
PSeInt
6.2.1. Lenguaje de Diseño:
SUBALGORTIMO ”Ingresar”( IN OUT arr : entero, IN tam: entero, OUT cant: entero)
COMENZAR
i ,n, a: entero
Escribir ”Ingrese la cantidad de datos:”
LEER n
MIENTRAS (n < 0 v n > tam) HACER
ESCRIBIR ”Ingrese nuevamente la cantidad de datos”
LEER n
FINMIENTRAS
PARA i DESDE 1 HASTA n CON PASO 1 HACER
ESCRIBIR ”Ingrese el dato ”
LEER a
arr[i] <- a
FINPARA
cant<-n
FIN
SUBALGORITMO ”Promedio” ( IN arreglo: entero , IN cantidad: entero, OUT prom: real )
suma: entero
suma <- 0
PARA i DESDE 1 HASTA cantidad CON PASO 1 HACER
suma <- suma + arreglo[i]
FINPARA
prom <- suma/cantidad
FIN
ALGORITMO ”Principal”
datos: arreglo [1..100] de entero
num :entero
prom: real
Ingresar(datos,100, num)
ESCRIBIR ” La cantidad de datos ingresados es”: num
ESCRIBIR ”El promedio es: ”, Promedio(datos ,num, prom)
FIN
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 8
PSeInt
6.2.2. PSeInt
SubProceso cant <-Ingresar( arr ,tam)
Definir i, n, a como entero
Escribir ”Ingrese la cantidad de datos:”
Leer n
Mientras (n < 0|n > tam)
Escribir ”Ingrese nuevamente la cantidad de datos”
Leer n
FinMientras
Para i<-1 Hasta n con paso 1 Hacer
Escribir ”Ingrese el dato ”
Leer a
arr[i]<- a
Finpara
cant <- n
FinSubProceso
SubProceso prom <- Promedio ( arreglo , cantidad )
Definir suma como entero
suma <- 0
Para i<-1 Hasta cantidad con paso 1 Hacer
suma <- suma + arreglo[i]
FinPara
prom <- suma/cantidad
FinSubProceso
Proceso Principal
Definir datos como entero
Dimension datos[100]
Definir num como entero
num <-Ingresar(datos,100)
Escribir ”La cantidad de datos ingresados es ”: num
Escribir ”El promedio es: ”, Promedio(datos,num)
FinProceso
6.3. Funciones primitivas o predefinidas
Lenguaje de Diseño PSeInt
ABS(X) Valor Absoluto ABS(X) Valor Absoluto
RC(X) Raı́z Cuadrada de X RC(X) o RAIZ(X) Raı́z Cuadrada de X
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 9
PSeInt
7. Resumen
7.1. Tabla Comparativa
Operación Lenguaje de Diseño PSeInt
Declaración <variable>: [Real/Entero/Logico/Caracter] DEFINIR<variable>COMO
[Real/Entero/Logico/Caracter] ;
Asignación <variable><- <expresión > <variable><- <expresión >;
Expresión Relacional
Mayor > >
Menor < <
Igual = =
Menor o Igual <= <=
Mayor o Igual >= >=
Distinto >< ><
Expresión Lógica
Conjunción (y) ∧ & ó Y
Disyunción (o) ∨ | ó O
Negación (no) ¬ ∼ ó NO
Expresión aritmética
Suma + +
Resta - -
Multiplicación * *
División / /
Potenciación ↑ ˆ
Módulo (Resto de la di-
visión entera)
// % ó MOD
Entrada-Lectura
LEER <variable > LEER <variable >;
LEER <vble1 >, ..., <vbleN > LEER <vble1 >, ..., <vbleN >;
Salida-Escritura
ESCRIBIR ”Mensaje” ESCRIBIR ”Mensaje”;
ESCRIBIR <vble1 >, ..., <vbleN > ESCRIBIR <vble1 >, ..., <vbleN >;
ESCRIBIR”El valor de la variable
es:”,<variable>
ESCRIBIR”El valor de la variable
es:”<variable>;
Arreglo <identificador >: arreglo [1 ... <máximo >] de
<tipo >
Definir <identificador >Como <tipo; >Dimen-
sion <identificador >[<max1>, ... ,<maxN >];
Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 10

Contenu connexe

Tendances

Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Francisco Medina
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
StreamNative
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
jcbenitezp
 
Configuring Wired 802.1x Authentication on Windows Server 2012.pdf
Configuring Wired 802.1x Authentication on Windows Server 2012.pdfConfiguring Wired 802.1x Authentication on Windows Server 2012.pdf
Configuring Wired 802.1x Authentication on Windows Server 2012.pdf
djameleddine2015
 
Session Hijacking
Session HijackingSession Hijacking
IEEE 802.1x
IEEE 802.1xIEEE 802.1x
SSRF exploit the trust relationship
SSRF exploit the trust relationshipSSRF exploit the trust relationship
SSRF exploit the trust relationship
n|u - The Open Security Community
 
Wireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsWireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance tools
Sachidananda Sahu
 
SSRF workshop
SSRF workshop SSRF workshop
SSRF workshop
Ivan Novikov
 
Terminologia basica del sistema operativo
Terminologia basica del sistema operativoTerminologia basica del sistema operativo
Terminologia basica del sistema operativo
__nancie
 
Network scanning
Network scanningNetwork scanning
Network scanning
MD SAQUIB KHAN
 
Presentacion http y https
Presentacion http y httpsPresentacion http y https
Presentacion http y https
Victor Sevillano
 
Ejercicios vlsm
Ejercicios vlsmEjercicios vlsm
Ejercicios vlsm
91070807586
 
Presentacion Ftp
Presentacion FtpPresentacion Ftp
Presentacion Ftp
alexmerono
 
Flink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at AlibabaFlink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at Alibaba
DataWorks Summit
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal Security
Mediacurrent
 
Event-sourced architectures with Akka
Event-sourced architectures with AkkaEvent-sourced architectures with Akka
Event-sourced architectures with Akka
Sander Mak (@Sander_Mak)
 
Webmin: Administrador de Sistemas Via Web
Webmin: Administrador de Sistemas Via WebWebmin: Administrador de Sistemas Via Web
Webmin: Administrador de Sistemas Via Web
HIPOLITO GRULLON
 

Tendances (18)

Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
Configuring Wired 802.1x Authentication on Windows Server 2012.pdf
Configuring Wired 802.1x Authentication on Windows Server 2012.pdfConfiguring Wired 802.1x Authentication on Windows Server 2012.pdf
Configuring Wired 802.1x Authentication on Windows Server 2012.pdf
 
Session Hijacking
Session HijackingSession Hijacking
Session Hijacking
 
IEEE 802.1x
IEEE 802.1xIEEE 802.1x
IEEE 802.1x
 
SSRF exploit the trust relationship
SSRF exploit the trust relationshipSSRF exploit the trust relationship
SSRF exploit the trust relationship
 
Wireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsWireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance tools
 
SSRF workshop
SSRF workshop SSRF workshop
SSRF workshop
 
Terminologia basica del sistema operativo
Terminologia basica del sistema operativoTerminologia basica del sistema operativo
Terminologia basica del sistema operativo
 
Network scanning
Network scanningNetwork scanning
Network scanning
 
Presentacion http y https
Presentacion http y httpsPresentacion http y https
Presentacion http y https
 
Ejercicios vlsm
Ejercicios vlsmEjercicios vlsm
Ejercicios vlsm
 
Presentacion Ftp
Presentacion FtpPresentacion Ftp
Presentacion Ftp
 
Flink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at AlibabaFlink SQL & TableAPI in Large Scale Production at Alibaba
Flink SQL & TableAPI in Large Scale Production at Alibaba
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal Security
 
Event-sourced architectures with Akka
Event-sourced architectures with AkkaEvent-sourced architectures with Akka
Event-sourced architectures with Akka
 
Webmin: Administrador de Sistemas Via Web
Webmin: Administrador de Sistemas Via WebWebmin: Administrador de Sistemas Via Web
Webmin: Administrador de Sistemas Via Web
 

Similaire à Sintaxis de PSeInt el da a entender todos los comandos del programa tambien a a conocer el orden de programacion

Manual r 1
Manual r 1Manual r 1
Manual r 1
Ramón Ruiz
 
Iniciación a python
Iniciación a pythonIniciación a python
Iniciación a python
Fernando Salamero
 
MANUAL DE LENGUAJE C
MANUAL DE LENGUAJE CMANUAL DE LENGUAJE C
MANUAL DE LENGUAJE C
claudiocj7
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
Jorge Hernán Soto Osorio
 
Latexx
LatexxLatexx
Latexx
iverd
 
Introduccion a la programacion en c prev
Introduccion a la programacion en c prevIntroduccion a la programacion en c prev
Introduccion a la programacion en c prev
jtk1
 
ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdf
bilgrado01
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
juandabaronaac
 
Estructuras Básicas
Estructuras Básicas Estructuras Básicas
Estructuras Básicas
ValentinaMosquera8
 
Practicas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmosPracticas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmos
Chucho E. Peña
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
NilsonVallecillo
 
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas EmbebidosPFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
azubi
 
Estructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docxEstructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docx
RazeThefox
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
Chucho E. Peña
 
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docxestructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
EmmanuelEcheverry1
 
Estructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docxEstructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docx
EmmanuelEcheverry1
 
CONCEPTOS DE PROGRAMACIÓN 11-2.pdf
CONCEPTOS DE PROGRAMACIÓN 11-2.pdfCONCEPTOS DE PROGRAMACIÓN 11-2.pdf
CONCEPTOS DE PROGRAMACIÓN 11-2.pdf
JuanChaparro32
 
Curso basico de R
Curso basico de RCurso basico de R
Curso basico de R
Mateo Martínez
 
Octave calculo numerico
Octave calculo numericoOctave calculo numerico
Octave calculo numerico
LUIS COAQUIRA
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrente
ismaelrubino
 

Similaire à Sintaxis de PSeInt el da a entender todos los comandos del programa tambien a a conocer el orden de programacion (20)

Manual r 1
Manual r 1Manual r 1
Manual r 1
 
Iniciación a python
Iniciación a pythonIniciación a python
Iniciación a python
 
MANUAL DE LENGUAJE C
MANUAL DE LENGUAJE CMANUAL DE LENGUAJE C
MANUAL DE LENGUAJE C
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Latexx
LatexxLatexx
Latexx
 
Introduccion a la programacion en c prev
Introduccion a la programacion en c prevIntroduccion a la programacion en c prev
Introduccion a la programacion en c prev
 
ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdf
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
 
Estructuras Básicas
Estructuras Básicas Estructuras Básicas
Estructuras Básicas
 
Practicas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmosPracticas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmos
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
 
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas EmbebidosPFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
PFC: Análisis de Lenguajes Específicos de Dominio para Sistemas Embebidos
 
Estructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docxEstructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docx
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docxestructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
estructurasbsicasconceptosbsicosdeprogramacin-230805033845-319f938f.docx
 
Estructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docxEstructuras básicas_ conceptos básicos de programación.docx
Estructuras básicas_ conceptos básicos de programación.docx
 
CONCEPTOS DE PROGRAMACIÓN 11-2.pdf
CONCEPTOS DE PROGRAMACIÓN 11-2.pdfCONCEPTOS DE PROGRAMACIÓN 11-2.pdf
CONCEPTOS DE PROGRAMACIÓN 11-2.pdf
 
Curso basico de R
Curso basico de RCurso basico de R
Curso basico de R
 
Octave calculo numerico
Octave calculo numericoOctave calculo numerico
Octave calculo numerico
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrente
 

Plus de BerlyMachaca

S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
BerlyMachaca
 
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdfS01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
BerlyMachaca
 
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdfTESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
BerlyMachaca
 
UPS-CT007817.pdf
UPS-CT007817.pdfUPS-CT007817.pdf
UPS-CT007817.pdf
BerlyMachaca
 
Urdiales_Ruiz_RE.pdf
Urdiales_Ruiz_RE.pdfUrdiales_Ruiz_RE.pdf
Urdiales_Ruiz_RE.pdf
BerlyMachaca
 
Semana 02
Semana 02Semana 02
Semana 02
BerlyMachaca
 
Historia de las turbomaquinas
Historia de las turbomaquinasHistoria de las turbomaquinas
Historia de las turbomaquinas
BerlyMachaca
 
S01 s1-procesos manufactura-2
S01 s1-procesos manufactura-2S01 s1-procesos manufactura-2
S01 s1-procesos manufactura-2
BerlyMachaca
 

Plus de BerlyMachaca (8)

S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
S13.s1 - ANALISIS DE COSTOS INDIRECTOS DISTRIBUCIÓN Y REDISTRIBUCIÓN - COSTOS...
 
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdfS01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
S01.s1- CONCEPTOS Y DEFINICIONES GENERALES.pdf
 
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdfTESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
TESIS_DISEO_PUENTE_GRUA_5_Tn.pdf
 
UPS-CT007817.pdf
UPS-CT007817.pdfUPS-CT007817.pdf
UPS-CT007817.pdf
 
Urdiales_Ruiz_RE.pdf
Urdiales_Ruiz_RE.pdfUrdiales_Ruiz_RE.pdf
Urdiales_Ruiz_RE.pdf
 
Semana 02
Semana 02Semana 02
Semana 02
 
Historia de las turbomaquinas
Historia de las turbomaquinasHistoria de las turbomaquinas
Historia de las turbomaquinas
 
S01 s1-procesos manufactura-2
S01 s1-procesos manufactura-2S01 s1-procesos manufactura-2
S01 s1-procesos manufactura-2
 

Dernier

Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdfFICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
jesus869159
 
UNIDAD I_libro de presentaciones - ALGEBRA.pptx
UNIDAD I_libro de presentaciones - ALGEBRA.pptxUNIDAD I_libro de presentaciones - ALGEBRA.pptx
UNIDAD I_libro de presentaciones - ALGEBRA.pptx
luistroya0002
 
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptxPPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
panchoplazav
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granularesMECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
Fernando878837
 
Comunicación del Protocolo de investigación..pdf
Comunicación del Protocolo de investigación..pdfComunicación del Protocolo de investigación..pdf
Comunicación del Protocolo de investigación..pdf
211k0304
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
KarinToledo2
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
lawjose243
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
pipex55
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
IVANBRIANCHOQUEHUANC
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdfGRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
Jose Calderas
 
Flujo vehicular en análisis de trafico vial
Flujo vehicular en análisis de trafico vialFlujo vehicular en análisis de trafico vial
Flujo vehicular en análisis de trafico vial
SamuelMendozaS
 

Dernier (20)

Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdfFICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
 
UNIDAD I_libro de presentaciones - ALGEBRA.pptx
UNIDAD I_libro de presentaciones - ALGEBRA.pptxUNIDAD I_libro de presentaciones - ALGEBRA.pptx
UNIDAD I_libro de presentaciones - ALGEBRA.pptx
 
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptxPPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
PPT EL GIGANTE_EGOISTA_ JAVIERA_PLAZA.pptx
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granularesMECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
 
Comunicación del Protocolo de investigación..pdf
Comunicación del Protocolo de investigación..pdfComunicación del Protocolo de investigación..pdf
Comunicación del Protocolo de investigación..pdf
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
ABR-FUNDAMENTOS DEL CALCULO uc 2024 ........
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdfGRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
 
Flujo vehicular en análisis de trafico vial
Flujo vehicular en análisis de trafico vialFlujo vehicular en análisis de trafico vial
Flujo vehicular en análisis de trafico vial
 

Sintaxis de PSeInt el da a entender todos los comandos del programa tambien a a conocer el orden de programacion

  • 1. Sintaxis de PSeInt Tutorial Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof) Introducción a la Computación (T.U.R. - T.U.W.) Fundamentos de la Informática (Ing. en Minas - Ing. Electr.) Área de Servicios Departamento de Informática Universidad Nacional de San Luis
  • 2. PSeInt Índice 1. Sintaxis general 2 1.1. Formalización de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Declaración de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4. Nombre de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Expresiones 3 2.1. Expresiones relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Expresiones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3. Expresiones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Entrada Salida 3 3.1. Entrada - Lectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. Salida - Escritura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Estructuras de Control 4 4.1. Secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1.1. Asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.2. Condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.3. Repeticion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.3.1. Mientras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.3.2. Para . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Arreglos 5 5.0.1. Definición de Arreglo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Subalgoritmos 7 6.1. Definición de Subalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2. Invocación de Subalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2.1. Lenguaje de Diseño: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2.2. PSeInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.3. Funciones primitivas o predefinidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7. Resumen 10 7.1. Tabla Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 1
  • 3. PSeInt INTRODUCCION PSeInt es un software que interpreta pseudocódigo. Pseudocódigo es un tipo de lenguaje de diseño que permite expre- sar algoritmos acercándose a los lenguajes de programación con elementos del lenguaje de problema. El objetivo de este manual es brindar al alumno una guı́a rápida de diferencias y similitudes entre la sintaxis de Lenguaje de Diseño vista en clase y la sintaxis usada por el software PSeInt. Entre las caracterı́sticas generales del pseudocódigo se encuentra una sintaxis sencilla y un manejo de estructuras básicas de control, entre ellas: secuencial, condicional y repetición. 1. Sintaxis general 1.1. Formalización de Algoritmos Lenguaje de Diseño PSeInt ALGORITMO ”Nombre de Algoritmo” PROCESO SinTitulo COMENZAR Acción 1; Declaraciones de variables ... Acciones Acción n FIN FINPROCESO 1.2. Tipos de datos Lenguaje de Diseño PSeInt Numéricos: enteros y reales. Numéricos: enteros y reales, los reales se separan con un punto. Lógico: solo puede tomar dos valores Ver- dadero o Falso. Lógico: solo puede tomar dos valores Ver- dadero o Falso. Caracter Un carácter es una letra, un número o un signo de puntuación, encerra- do entre comillas simples. Caracter Un carácter es una letra, un número o un signo de puntuación, encerra- do entre comillas simples o dobles. 1.3. Declaración de variable Lenguaje de Diseño PSeInt <variable>: [Real/Entero/Logico/Caracter] DEFINIR <variable >COMO [Real/Entero/Logico/Caracter]; Ejemplo: Ejemplo: Contador : Entero DEFINIR Contador COMO Entero; X, Y : Real DEFINIR X, Y COMO Real; Importante: En PseInt los tipos de datos simples pueden determinarse automáticamente no solo en el momento de creación de la variable sino en el momento en que se referencia dicha variable. A pesar de esta particularidad que ofrece PseInt, los ejercicios deben realizarse definiendo el tipo de dato simple en el momento de creación de la variable. 1.4. Nombre de una variable Para definir una variable: Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 2
  • 4. PSeInt 1. Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco ni opera- dores. 2. Después del primer caracter se permiten: letras, dı́gitos y el guión bajo ( ). 3. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres. 4. El nombre de la variable debe dar una idea del valor que contiene. 2. Expresiones 2.1. Expresiones relacionales Expresión Lenguaje de Diseño PSeInt Mayor > > Menor < < Igual = = Menor o Igual <= <= Mayor o Igual >= >= Distinto >< >< 2.2. Expresiones lógicas Expresión Lenguaje de Diseño PSeInt Conjunción (y) ∧ & ó Y Disyunción (o) ∨ | ó O Negación (no) ¬ ∼ ó NO 2.3. Expresiones aritméticas Expresión Lenguaje de Diseño PSeInt Suma + + Resta - - Multiplicación * * División / / Potenciación ↑ ˆ Módulo (Resto de la división entera) // % ó MOD 3. Entrada Salida 3.1. Entrada - Lectura Lenguaje de Diseño PSeInt LEER <variable > LEER <variable >; LEER <vble1 >, ..., <vbleN > LEER <vble1 >, ..., <vbleN >; Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 3
  • 5. PSeInt 3.2. Salida - Escritura Lenguaje de Diseño PSeInt ESCRIBIR ”Mensaje” ESCRIBIR ”Mensaje”; ESCRIBIR <vble1 >, ..., <vbleN > ESCRIBIR <vble1 >, ..., <vbleN >; ESCRIBIR”El valor de la variable es:”,<variable> ESCRIBIR”El valor de la variable es:”<variable>; 4. Estructuras de Control 4.1. Secuencial En PseInt, igual que en lenguaje de diseño las acciones se escriben una debajo de otra, y pueden ir separadas o no por un punto y coma. 4.1.1. Asignación Lenguaje de Diseño PSeInt <variable><- <expresión > <variable><- <expresión >; Ejemplo: Ejemplo: A <- 156; A <- 156; B<- ’X’; B<- ’X’; C<- 157- A; C<- 157- A; 4.2. Condicional Lenguaje de Diseño PSeInt SI <condición >ENTONCES SI <condición >ENTONCES <instrucciones > <instrucciones > SINO SINO <instrucciones > <instrucciones > FINSI FINSI Ejemplo: Ejemplo: SI X >Y ENTONCES SI X >Y ENTONCES Escribir X Escribir X; SINO SINO Escribir Z Escribir Z; FINSI FINSI 4.3. Repeticion 4.3.1. Mientras Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 4
  • 6. PSeInt Lenguaje de Diseño PSeInt MIENTRAS <condición >HACER MIENTRAS <condición >HACER <instrucciones > <instrucciones > FINMIENTRAS FINMIENTRAS Ejemplo: Ejemplo: MIENTRAS X >1 HACER MIENTRAS X >1 HACER X <- X-1; X <- X-1; ESCRIBIR X; ESCRIBIR X; FINMIENTRAS FINMIENTRAS 4.3.2. Para Lenguaje de Diseño PSeInt PARA <variable >DESDE <inicial >HASTA <final >CON PASO <paso >HACER PARA <variable ><- <inicial >HASTA <final >CON PASO <paso >HACER <instrucciones > <instrucciones > FINPARA FINPARA Ejemplo: Ejemplo: PARA i DESDE 1 HASTA 5 CON PASO 1 HA- CER PARA i<- 1 HASTA 5 CON PASO 1 HACER ESCRIBIR i; ESCRIBIR i; FINPARA FINPARA 5. Arreglos 5.0.1. Definición de Arreglo Lenguaje de Diseño PSeInt <identificador >: arreglo [1 ... <máximo >] de <tipo > Definir <identificador >Como <tipo; >Dimension <identificador >[<max1 >, ... , <maxN >]; Ejemplo: Ejemplo: A: arreglo [1...10] de Real Definir A Como Real; Dimension A [10]; Se pueden declarar mas de un arreglo en una misma instrucción separándolos con una coma. Para declarar el tipo de elemento del arreglo, se puede definir una variable de tipo especı́fico y luego utilizarla para asignale valores. O se puede asignarle directamente por medio de la instrucción Leer, y el tipo del arreglo va a depender de lo ingresado. Ejemplo: Definir A como Entero; Definir B como Caracter; Dimension A[5]; Dimension B[5]; Definir x como Caracter; Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 5
  • 7. PSeInt Leer A[1]; // Suponer que se ingresa un 8 Escribir A[1];// Muestra por pantalla 8 x <- ’p’; B[1] <- x; //B[1] tiene el caracter ’p’ B[2] <- 58; // ERROR DE TIPO porque tenı́a asignado un valor de tipo caracter y 58 es un valor entero Para acceder a un elemento del arreglo se utiliza el siguiente comando: <identificador >[posición]; Ejemplo: Escribir A[3]; //Muestra por pantalla el contenido del arreglo A en la posición 3 i <- 3; Escribir A[i]; //Muestra por pantalla el contenido del arreglo A en la posición 3 Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 6
  • 8. PSeInt 6. Subalgoritmos 6.1. Definición de Subalgoritmo Lenguaje de Diseño PSeInt SUBALGORITMO ”Nombre”(<clase parámetro> SUBPROCESO <variable tipo Out><- <Nombre parámetro>:<Tipo>,...) <Nombre función>(<Nombre parámetro 1>, COMENZAR <Nombre parámetro 2>,...) <Secuencia de acciones> acción 1; FIN ... acción N; FINSUBPROCESO En PseInt un Subalgoritmo comienza con la palabra clave Subproceso, seguida de la Variable de tipo Out, el signo de asignación, el Nombre del Subproceso, y finalmente, la Lista de argumentos (o Parámetros). Existen variantes para esta estructura, si el Subproceso no devuelve ningún valor, pueden omitirse el identificador <va- riable tipo Out> y el signo de asignación, es decir, colocar directamente el nombre y los parámetros a continuación de la palabra clave Subproceso. Si el Subproceso no recibe ningún valor pueden colocarse los parétesis vacı́os u omitirse, finalmente la primer lı́nea con el nombre del Subproceso. Además, opcionalmente pueden agregarse las palabras claves Por Valor o Por Referencia para indicar el tipo de pasaje en cada argumento, en donde un argumento Por Valor es equivalente a un argumento de tipo In en lenguaje de diseño y un argumento Por Referencia es equivalente a un argumento de tipo In Out en lenguaje de diseño. Si no se indica, los arreglos se pasan Por Referencia (In Out),y el resto de los argumentos Por Valor (In). 6.2. Invocación de Subalgoritmo Igual que en lenguaje de diseño, para invocar a un Subproceso se debe utilizar su Nombre (Parámetros). Debe res- petarse la cantidad de Parámetros formales, que debe coincidir con la cantidad de parámetros actuales. Además, deben coincidir los tipos utilizados en la invocación con los tipos declarados en la definición de Subproceso. Cada vez que un Subproceso es invocado desde un Algortimo o Subalgoritmo (Proceso o Subproceso) se establece, au- tomáticamente una correspondencia entre los parámetros formales y los actuales. Esta correspondencia está definida por la posición que los parámetros ocupan dentro de la lista de parámetros. Para los parámetros formales que fueron definidos como: In/ Por Valor los parámetros actuales pueden ser constantes, variables (definidas en el ambiente del Algoritmo invocante), expresiones o valores de funciones. Out o In Out/ Por Referencia, los parámetros actuales deben ser variables definidas en el ambiente del algoritmo invocan- te, pues allı́ el subalgoritmo devuelve sus resultados. Ejemplo: El siguiente programa calcula el promedio de una lista de N datos utilizando un SubProceso o Subalgoritmo. Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 7
  • 9. PSeInt 6.2.1. Lenguaje de Diseño: SUBALGORTIMO ”Ingresar”( IN OUT arr : entero, IN tam: entero, OUT cant: entero) COMENZAR i ,n, a: entero Escribir ”Ingrese la cantidad de datos:” LEER n MIENTRAS (n < 0 v n > tam) HACER ESCRIBIR ”Ingrese nuevamente la cantidad de datos” LEER n FINMIENTRAS PARA i DESDE 1 HASTA n CON PASO 1 HACER ESCRIBIR ”Ingrese el dato ” LEER a arr[i] <- a FINPARA cant<-n FIN SUBALGORITMO ”Promedio” ( IN arreglo: entero , IN cantidad: entero, OUT prom: real ) suma: entero suma <- 0 PARA i DESDE 1 HASTA cantidad CON PASO 1 HACER suma <- suma + arreglo[i] FINPARA prom <- suma/cantidad FIN ALGORITMO ”Principal” datos: arreglo [1..100] de entero num :entero prom: real Ingresar(datos,100, num) ESCRIBIR ” La cantidad de datos ingresados es”: num ESCRIBIR ”El promedio es: ”, Promedio(datos ,num, prom) FIN Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 8
  • 10. PSeInt 6.2.2. PSeInt SubProceso cant <-Ingresar( arr ,tam) Definir i, n, a como entero Escribir ”Ingrese la cantidad de datos:” Leer n Mientras (n < 0|n > tam) Escribir ”Ingrese nuevamente la cantidad de datos” Leer n FinMientras Para i<-1 Hasta n con paso 1 Hacer Escribir ”Ingrese el dato ” Leer a arr[i]<- a Finpara cant <- n FinSubProceso SubProceso prom <- Promedio ( arreglo , cantidad ) Definir suma como entero suma <- 0 Para i<-1 Hasta cantidad con paso 1 Hacer suma <- suma + arreglo[i] FinPara prom <- suma/cantidad FinSubProceso Proceso Principal Definir datos como entero Dimension datos[100] Definir num como entero num <-Ingresar(datos,100) Escribir ”La cantidad de datos ingresados es ”: num Escribir ”El promedio es: ”, Promedio(datos,num) FinProceso 6.3. Funciones primitivas o predefinidas Lenguaje de Diseño PSeInt ABS(X) Valor Absoluto ABS(X) Valor Absoluto RC(X) Raı́z Cuadrada de X RC(X) o RAIZ(X) Raı́z Cuadrada de X Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 9
  • 11. PSeInt 7. Resumen 7.1. Tabla Comparativa Operación Lenguaje de Diseño PSeInt Declaración <variable>: [Real/Entero/Logico/Caracter] DEFINIR<variable>COMO [Real/Entero/Logico/Caracter] ; Asignación <variable><- <expresión > <variable><- <expresión >; Expresión Relacional Mayor > > Menor < < Igual = = Menor o Igual <= <= Mayor o Igual >= >= Distinto >< >< Expresión Lógica Conjunción (y) ∧ & ó Y Disyunción (o) ∨ | ó O Negación (no) ¬ ∼ ó NO Expresión aritmética Suma + + Resta - - Multiplicación * * División / / Potenciación ↑ ˆ Módulo (Resto de la di- visión entera) // % ó MOD Entrada-Lectura LEER <variable > LEER <variable >; LEER <vble1 >, ..., <vbleN > LEER <vble1 >, ..., <vbleN >; Salida-Escritura ESCRIBIR ”Mensaje” ESCRIBIR ”Mensaje”; ESCRIBIR <vble1 >, ..., <vbleN > ESCRIBIR <vble1 >, ..., <vbleN >; ESCRIBIR”El valor de la variable es:”,<variable> ESCRIBIR”El valor de la variable es:”<variable>; Arreglo <identificador >: arreglo [1 ... <máximo >] de <tipo > Definir <identificador >Como <tipo; >Dimen- sion <identificador >[<max1>, ... ,<maxN >]; Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis 10