Está en la página 1de 6

Paradigmas y Lenguajes

Apunte de Cátedra Unidad II Practica

Universidad Nacional de La Rioja


Lic. Sebastián Torralba
Contenido
ANSI C VS. PASCAL 2
Historia y Evolucion (Lo que a nadie le Importa) 2
Elementos 2
Estructura del Programa 2
Tipos de Datos 2
Declaracion de Variables 2
Declaracion de Constantes 2
Declaracion de Arreglos 2
Declaracion de Estructuras 2
Operadores 2
Entrada/Salida Basica 2
Estructuras de Control 2
Funciones/Procedimientos 2
El Codigo Comparado 3
Nombre 3
Del Programa 3
Librerias Utilizadas 3
Tipo de Datos Definidos por el Usuario 3
Prototipado de Funciones 3
Declaracion de Variables Globales 3
Declaracion de Funciones 3
Variables Locales 4
Funcion o Programa Principal 4

Paradigmas y Lenguajes Bolilla 1 Pagina 1


ANSI C VS. PASCAL

Historia y Evolucion (Lo que a nadie le Importa)

Elementos
ANSI C PASCAL

Estructura del Programa

Tipos de Datos void Nada Byte Nada


int Entero Integer Entero
double Entero Doble ShortInt Entero Corto
float Decimal LongInt Entero Largo
bool Booleano Boolean Booleano true/false
true/false Char Caracter
char Caracter String Cadena de
carateres
Real Decimal
Single Decimal
Double Decimal

Tipo_de_datos Nombre_Variable; VAR “Etiqueta”


Declaracion de Variables Int a; Nombre_Variable: Tipo_de_datos;
VAR
A:Integer;

Declaracion de Constantes

Declaracion de Arreglos

Declaracion de
Estructuras
Llaves
Delimitadores { BEGIN
Sentencia1; Sentencia1;
Sentencia2; Sentencia2;
} END;
Linea // Linea {}
Comentarios Bloque Bloque
/* (*
Sentencia1; Sentencia1;
Sentencia2; Sentencia2;
*/ *)

Operadores
Entrada Entrada
Entrada/Salida Scanf() ReadLN()
Basica Salida Salida
Printf() Write()

Estructuras de Control

Funciones/Procedimientos

Paradigmas y Lenguajes Bolilla 1 Pagina 2


Paradigmas y Lenguajes Bolilla 1 Pagina 3
El Codigo Comparado
ANSI C PASCAL

No Necesita program Alumnos ;


Nombre Del
Programa
#include <cstdlib> Uses nombre_libreria;
Librerias #include <iostream> En el trabajo practico no fue Necesaria
Utilizadas
struct alumnox TYPE
Tipo de Datos { char nombre[20]; alumnox=RECORD
Definidos por el char apellido[20]; nombre:String;
Usuario int edad; apellido:String;
char carrera[20]; edad:Integer;
int matricula; carrera:String;
}; matricula:Integer;
END ;
int cargaralumno(alumnox& alumno); No son necesarios
Prototipado de int ordenaralumno(alumnox* alumno);
Funciones int mostraralumno(alumnox alumnos[]);
VAR
Declaracion de cantidad_alumnos : Integer ;
Variables
Globales
Se definen luego del codigo principal. Se definen Antes del codigo principal.
Declaracion de A los Fines de este cuadro comprativo las pondré al A los Fines de este cuadro comprativo las pondré al
Funciones mismo nivel mismo nivel

int cargaralumno(alumnox& alumno) FUNCTION cargaralumno(var alumno : alumnox) :


{ Integer;
printf("Nombre: "); BEGIN
scanf("%s",&alumno.nombre); WriteLN('Nombre');
printf("Apellido: "); ReadLn(alumno.nombre);
scanf("%s",&alumno.apellido); WriteLN('Apellido');
printf("Edad: "); ReadLn(alumno.apellido);
scanf("%i",&alumno.edad); WriteLN('Edad');
printf("Carrera: "); ReadLn(alumno.edad);
scanf("%s",&alumno.carrera); WriteLN('Carrera');
printf("Matricula: "); ReadLn(alumno.Carrera);
scanf("%i",&alumno.matricula); WriteLN('Matricula');
return 0; ReadLn(alumno.matricula);
} cargaralumno :=0;
END;

int mostraralumno(alumnox alumnos[]) FUNCTION mostraralumno(var alumnos : array of


{ int inicio; alumnox) : Integer;
for (inicio=0; inicio<5;inicio ++) VAR
{ Registro : String;
inicio : Integer;
printf("Alumno: %s,%s Edad: BEGIN
%i",alumnos[inicio].nombre,alumnos[inicio]. For inicio:=0 to cantidad_alumnos do
apellido,alumnos[inicio].edad); BEGIN
printf("Carrera: %s Matricula: %i writeln(inicio);
\n",alumnos[inicio].carrera,alumnos[inicio].matricula); Registro:='Alumno:' + alumnos[inicio].Apellido
} +','+ alumnos[inicio].Nombre;
return 0; WriteLn(Registro);
} Registro:='Matricula' +
char(alumnos[inicio].Matricula);
WriteLn(Registro);
END;
ReadLn();
mostraralumno :=0;
END;

Paradigmas y Lenguajes Bolilla 1 Pagina 4


int ordenaralumno(alumnox *alumno) FUNCTION ordenaralumno(var alumno : array of
{ alumnox) : Integer;
alumnox alumno_aux; VAR
int paso,inicio; inicio,paso : Integer;
alumno_aux : alumnox;
for (paso=1;paso<5 ;paso ++) BEGIN
{
for(inicio=0;inicio<5 - paso; inicio ++) FOR paso:=1 to cantidad_alumnos do
{ BEGIN
if (alumno[inicio].matricula > alumno[inicio + FOR inicio:=0 to cantidad_alumnos - paso do
1].matricula) BEGIN
{ IF alumno[inicio].matricula > alumno[inicio +
alumno_aux=alumno[inicio + 1]; 1].matricula THEN
alumno[inicio + 1]=alumno[inicio]; BEGIN
alumno[inicio]=alumno_aux; alumno_aux:=alumno[inicio + 1];
} alumno[inicio + 1]:=alumno[inicio];
alumno[inicio]:=alumno_aux;
} END;
} END;
return 0; END;
} ordenaralumno :=0;
END;

Se declaran dentro de la Funcion Principal Se Declaran Antes del Begin del Programa
Variables Locales
int main(int argc, char *argv[]) var
Funcion o { alumno : array [1..5] of alumnox;
Programa int inicio,fin; inicio,i_rtn : Integer;
Principal alumnox alumnos[5];
int i_rtn; begin
for (inicio=0; inicio<5;inicio ++)
{ For inicio:=1 to cantidad_alumnos do
i_rtn=cargaralumno(alumnos[inicio]); BEGIN
} i_rtn:= cargaralumno(alumno[inicio]);
mostraralumno(alumnos); END;
ordenaralumno(alumnos); mostraralumno(alumno);
mostraralumno(alumnos); ordenaralumno(alumno);
return EXIT_SUCCESS; mostraralumno(alumno);
} end.

Paradigmas y Lenguajes Bolilla 1 Pagina 5

También podría gustarte