Skip to content
EspañolWorkspace →

PSeInt profile COEES

These are the rules of the COEES profile, explained simply, with an example that follows them and opens in Codoritmo with one click.

Open in Codoritmo with this profile

Opens this page's example with the COEES profile already switched on.

How its author describes it

The profile's original text, in Spanish, as distributed with PSeInt.

Perfil para el Departamente de Computación Electrónica en la Educación Secundaria en la Región de Nezahualcóyotl (enviado por el docente Sarahí Carmona Monroy).

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
  • Every statement must end with a semicolon
  • You can assign with = as well as <-

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 every Para.
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 Para you can't change the counter, and once the loop ends the counter has no value, so don't use it afterwards.
Accents and ñ in names
Allowed: a variable can be called año or posición.

Writing style

Punctuation, closing words and how values are assigned.

Semicolon at the endDiffers from default
Required. Every statement ends in ;, as in Escribir "Hola";. Lines that open or close a structure (Si, FinSi, FinPara) don't take one.
Relaxed syntax
Accepts handy variants: Fin Si as two words, optional Entonces and Hacer, Mientras Que and Desde in loops, and values in Escribir separated by spaces.
Assign with =Differs from default
Allowed: besides x <- 5 you can write x = 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, NO and MOD (and, or, not, remainder) as well as their symbols &, |, ~ and %.
Plain-language conditions
Accepts conditions such as x Es Par (is even), x Es Mayor Que 5 (is greater than 5) or x Es Divisible Por 3.
Join text with +
Allowed: "Hola, " + nombre makes 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 are notas[1], notas[2] and notas[3].
Array size from a variable
Allowed: you can read n and then write Dimension datos[n].
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 loop
Available: Para Cada nota de notas Hacer goes through every slot of an array.
Repetir … Mientras Que
A Repetir loop can end with Hasta Que condition (until) or Mientras Que condition (while).
Para counting down
If the start is greater than the end, Para counts down one by one even without Con Paso -1.
Segun with whole numbers
The value a Segun checks can also be text, with options such as "a".

Subroutines and text functions

Which extra tools you get to organise the program.

Your own subroutines and functions
You can write your own SubProceso or Funcion to split the program into parts.
Text functions
Available: Longitud, Subcadena, Mayusculas, Minusculas and Concatenar (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.

PerfilCOEES.psc · 33 lines
// Example written with the rules of the COEES profile// Every statement ends with a semicolonAlgoritmo PerfilCOEES    // This profile requires every variable to be declared with Definir    Definir notas, suma, i Como Entero;    Definir promedio Como Real;    Definir nombre Como Caracter;    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;    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    Si suma Es Par Entonces        Escribir "The sum is even: ", suma;    SiNo        Escribir "The sum is odd: ", suma;    FinSiFinAlgoritmo

What it prints

This is the example's real output, run with the COEES profile.

Hi, Ana
Average: 8
Passed
The sum is even: 24
Open in Codoritmo with this profile

Profiles with the same rules

8 profiles use exactly these rules; what you practise here works for them 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.

    Beginner
  • Factorial and Power

    Functions that compute a factorial and a power.

    Intermediate
  • Count Vowels

    Counts the vowels, spaces and other characters in a text.

    Intermediate

Profiles and their descriptions come from the bin/perfiles folder of PSeInt, where each teacher or school contributed their own. Codoritmo ships them unchanged so you can practise with the same rules.

Codoritmo is an independent project inspired by PSeInt and compatible with its syntax; it is not PSeInt and is not affiliated with its authors.