Sie sind auf Seite 1von 10

Teora 7

Estructuras de datos ARREGLO

Clase 7

Programacin I

Arreglos: Ejemplos
Ejemplo 1. Se lee una secuencia de letras minsculas que termina en punto. Informar la cantidad de veces que aparece cada letra. Ejemplo 2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.

Ejemplo 3. Idem anterior, pero la lectura de los datos termina cuando se ingresa Fulano. Qu estructura de control utiliza en este caso? Por qu?

Clase 7

Programacin I

Arreglos: Ejemplos
Ejemplo 1. Se lee una secuencia de letras minsculas que termina en punto. Informar la cantidad de veces que aparece cada letra. Ejemplo 2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.

Ejemplo 3. Idem anterior, pero la lectura de los datos termina cuando se ingresa Fulano. Qu estructura de control utiliza en este caso? Por qu?

Clase 7

Programacin I

Arreglos: Ejemplo 2
Program ejemplo2; const total= 100; {dimensin fsica}
type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1..total] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real;
Clase 7 Programacin I

2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.

2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.
procedure LeoySumoDatos (var dat: ListaDatos; var sum : Real); var j : integer; a:alumno; Procedure leerAlumno (var alu:alumno); begin read (alu.nombre); read (alu.nota); end; begin sum := 0; for j := 1 to total do begin leerAlumno (a); dat[j]:= a; sum := sum + dat[j].nota; end end;
Programacin I

Program ejemplo2; const total= 100; {dimensin fsica} type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1..total] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real;

Clase 7

Program ejemplo2; const total= 100; {dimensin fsica} type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1..total] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real;

procedure LeoySumoDatos (var dat: ListaDatos; var sum : Real ) var j : integer; a:alumno; Procedure leerAlumno (var alu:alumno); begin read (alu.nombre); read (alu.nota); end; begin sum := 0; for j := 1 to total do begin leerAlumno (a); dat[j]:= a; sum := sum + dat[j].nota; end end; begin {Principal} LeoySumoDatos (datos, suma); promedio := suma / total; for i := 1 to total do if (datos[i].nota > promedio) then Writeln (datos[i].nombre, , datos[i].nota ) end;
Programacin I

2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.
Clase 7

Arreglos: Ejemplos
Ejemplo 1. Se lee una secuencia de letras minsculas que termina en punto. Informar la cantidad de veces que aparece cada letra. Ejemplo 2. Se lee una sucesin de 100 nombres y notas de alumnos. Informar los nombres y notas de los alumnos que superan el promedio del grupo.

Ejemplo 3. Idem anterior, pero la lectura de los datos termina cuando se ingresa Fulano. Qu estructura de control utiliza en este caso? Por qu?

Clase 7

Programacin I

Arreglos: Ejemplo 3
Program ejemplo3; const total = 100; {dimensin fsica}

3. Idem anterior, pero la lectura de los datos termina cuando se ingresa Fulano. Qu estructura de control utiliza en este caso? Por qu?

type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1.. total] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real; n : integer;

Clase 7

Programacin I

3. Idem anterior, pero la lectura de los datos termina cuando se ingresa Fulano. Qu estructura de control utiliza en este caso? Por qu?
Program ejemplo3; const total = 100; {dimensin fsica} type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1.. total] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real; Clase 7 n : integer;

procedure LeoySumoDatos(var dat:ListaDatos; var sum : Real; var dim: integer); var a : alumno; Procedure leerAlumno (var alu:alumnos); begin read (alu.nombre); if (alu.nombre <> Fulano) then read (alu.nota); end; begin sum := 0; dim := 0; {dimensin lgica} leerAlumno (a); while (a.nombre <> Fulano) and (dim < 100) do begin dim := dim + 1; dat[dim]:= a; sum := sum + dat[dim].nota; leerAlumno (a); end end;
Programacin I

Program ejemplo3; const total = 100; {dimensin fsica} type str20 := string [20]; alumno = record nombre : str20; nota : real; end; ListaDatos = array [1.. Total ] of alumno; var datos: ListaDatos; i : Integer; suma, promedio : Real; n : integer;

procedure LeoySumoDatos(var dat:ListaDatos; var sum : Real; var dim: integer); var a : alumno; Procedure leerAlumno (var alu:alumnos); begin read (alu.nombre); if (alu.nombre <> Fulano) then read (alu.nota); end; begin sum := 0; dim := 0; {dimensin lgica} leerAlumno (a); while (a.nombre <> Fulano) and (dim < 100) do begin dim := dim + 1; dat[dim]:= a; sum := sum + dat[dim].nota; leerAlumno (a); end end;
Programacin I

begin {Principal} LeoySumoDatos (datos , suma , n); promedio := suma / n; for i := 1 to n do if (datos[i].nota > promedio) then WriteLn (datos[i].nombre, datos[i].nota ) end;
Clase 7

Das könnte Ihnen auch gefallen