PSeInt profile UAGRM IntroInf
These are the rules of the UAGRM IntroInf profile, explained simply, with an example that follows them and opens in Codoritmo with one click.
Opens this page's example with the UAGRM IntroInf profile already switched on.
How its author describes it
The profile's original text, in Spanish, as distributed with PSeInt.
- Materia
- Introducción a la Informática
- Carrera
- Licenciatura en Ofimática
- Facultad
- Facultad Politécnica
- Universidad
- Universidad Autónoma Gabriel René Moreno (UAGRM)
- Ubicación
- Santa Cruz, Bolivia
- Docente
- Ing. MSc. Luís Percy Tapia
In short
What changes compared with Codoritmo's default profile:
- Every variable must be declared with Definir
- Every variable needs a value before it is used
- The Para counter is protected
- No accents or ñ in variable names
- Every statement must end with a semicolon
- Entonces, Hacer and endings such as FinSi must be written in full
- You can assign with = as well as <-
- No conditions like Es Par: comparisons use operators
- Array sizes must be fixed numbers
- No Para Cada (for each) loop
- Repetir only ends with Hasta Que
- Counting down needs Con Paso -1
- Segun only works with whole numbers
All of its rules
Marked rules differ from Codoritmo's default profile; everything else behaves the same.
Variables
How they are declared and when they can be used.
- Declare variables with DefinirDiffers from default
- Required. Before using a variable you must declare it with its type, for example
Definir edad Como Entero. That includes the counter of everyPara. - Give a value before useDiffers from default
- Required. Reading a variable, or an array slot, that has no value yet stops the program with an error. That's why accumulators start with something like
suma <- 0. - Protected Para counterDiffers from default
- Inside a
Parayou can't change the counter, and once the loop ends the counter has no value, so don't use it afterwards. - Accents and ñ in namesDiffers from default
- Not allowed in variable or subroutine names: write
anioorposicion. Accented keywords such asSegúnstill work.
Writing style
Punctuation, closing words and how values are assigned.
- Semicolon at the endDiffers from default
- Required. Every statement ends in
;, as inEscribir "Hola";. Lines that open or close a structure (Si,FinSi,FinPara) don't take one. - Relaxed syntaxDiffers from default
- Strict: write every structure in full, with
Entonces,Hacerand one-word endings such asFinSiandFinMientras. - Assign with =Differs from default
- Allowed: besides
x <- 5you can writex = 5. Inside a condition,=is still a comparison.
Operators and conditions
How comparisons are written and text is put together.
- Word operators
- You can write
Y,O,NOandMOD(and, or, not, remainder) as well as their symbols&,|,~and%. - Plain-language conditionsDiffers from default
- Doesn't accept them: write the comparison with operators, such as
x MOD 2 = 0orx > 5. - Join text with +
- Allowed:
"Hola, " + nombremakes a single piece of text.
Arrays
Where indexes start and how the size is set.
- First array index
- Arrays start at 1: after
Dimension notas[3]the slots arenotas[1],notas[2]andnotas[3]. - Array size from a variableDiffers from default
- Not allowed: the size in
Dimensionmust be a fixed number, such asDimension datos[10]. - Resize arrays
- You can change the size of an existing array with
Redimensionar.
Loops and Segun
Which ways of repeating and choosing between cases it accepts.
- Para Cada loopDiffers from default
- Not available: go through arrays with a
Paraand an index. - Repetir … Mientras QueDiffers from default
- A
Repetirloop can only end withHasta Que condition(until). - Para counting downDiffers from default
- To count down you must write
Con Paso -1; without it,Para i <- 3 Hasta 1doesn't run at all. - Segun with whole numbersDiffers from default
- The value a
Segunchecks, and its options, must be whole numbers.
Subroutines and text functions
Which extra tools you get to organise the program.
- Your own subroutines and functions
- You can write your own
SubProcesoorFuncionto split the program into parts. - Text functions
- Available:
Longitud,Subcadena,Mayusculas,MinusculasandConcatenar(length, substring, upper case, lower case, join).
An example that follows these rules
It works out the average of three marks. It's written for this profile, and the comments point out what changes compared with the default. We checked it with Codoritmo's interpreter using these same rules.
// Example written with the rules of the UAGRM IntroInf profile// Every statement ends with a semicolon// Strict syntax: Entonces, Hacer and FinSi always in fullAlgoritmo PerfilUAGRMIntroInf // This profile requires every variable to be declared with Definir // Variable names have no accents or ñ Definir notas, suma, i Como Entero; Definir promedio Como Real; Definir nombre Como Caracter; // The array size must be a fixed number Dimension notas[3]; notas[1] <- 8; notas[2] <- 9; notas[3] <- 7; // Every variable needs a value before it is used // This profile also lets you assign with = suma = 0; // No Para Cada: the array is read with an index Para i <- 1 Hasta 3 Hacer // Inside the Para you can't change i suma <- suma + notas[i]; FinPara promedio <- suma / 3; nombre <- "Ana"; Escribir "Hi, ", nombre; Escribir "Average: ", promedio; Si promedio >= 7 Y promedio <= 10 Entonces Escribir "Passed"; SiNo Escribir "Failed"; FinSi // Es Par isn't accepted: the condition uses operators Si suma MOD 2 = 0 Entonces Escribir "The sum is even: ", suma; SiNo Escribir "The sum is odd: ", suma; FinSi // Segun only accepts whole numbers Segun notas[1] Hacer 10: Escribir "The first mark is excellent"; 8, 9: Escribir "The first mark is very good"; De Otro Modo: Escribir "The first mark can improve"; FinSegun Escribir "Countdown:"; // Counting down needs Con Paso -1 Para i <- 3 Hasta 1 Con Paso -1 Hacer Escribir i; FinPara // Repetir can only end with Hasta QueFinAlgoritmoWhat it prints
This is the example's real output, run with the UAGRM IntroInf profile.
Hi, Ana Average: 8 Passed The sum is even: 24 The first mark is very good Countdown: 3 2 1
Profiles with the same rules
One other profile uses exactly these rules; what you practise here works for it too.
Examples that touch these rules
They open with the default profile; switch to yours from the editor's bottom bar.
Grade Average
Stores five grades in an array and finds the average and the highest.
BeginnerFactorial and Power
Functions that compute a factorial and a power.
IntermediateCount Vowels
Counts the vowels, spaces and other characters in a text.
Intermediate