Pascal/Turbo Pascal - ejercicio de programación con pascal

 
Vista:

ejercicio de programación con pascal

Publicado por Eduardo Gascon (2 intervenciones) el 21/08/2012 12:55:25
Hola buenas tengo que resolver como hacer este ejercicio: Calcula el máximo, el mínimo, la media y el % de positivos de una secuencia de N enteros que termina en 0. y otro ejercicio que no se resolver es: Cuenta las palabras de un texto que acaba en un punto, se considera que cada palabra esta separada de la siguiente por un único espacio en blanco. Estos programas tienen que resolverse sin funciones ni procedimientos. Haber si alguien me ayuda. un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ejercicio de programación con pascal

Publicado por asterix (1 intervención) el 21/08/2012 14:14:50
Hola Eduardo,
bueno, lo que está claro es que tu lo que quieres es que alguien te haga los deberes de clase, a que sí??? verdad? :)

En fin, pasemos un tupido velo:
lo primero que debes tener muy claro es el tipo de datos que vas a utilizar, por ejemplo si vas a analizar un texto que está en una variable char de longitud 1000 caracteres (podria estar en un fichero de tipo de texto externo, pero intuyo que no es el caso), pues necesitaras una variable que vaya leyendo letra a letra. Lo que se te pide es que utilices las herramientas de iteracion : for , while, repeat/until para hacer estos ejercicios. El encapsularlo en una función eso ya es posterior.
por ejemplo te paso el pseudocodigo del segundo ejercicio:


car char(1)
texto char(1000) (*contiene el texto ya leido*)
contador integer (contador de palabras

begin
i:=1;
car := texto[i]
contador = 0;

(*utilizamos un while por que en caso de un texto vacio no se mete en el bucle *)

while car <> "." do
if car == " " then
contador:= contador +1
endif
i:= i+1;
car:=texto[i]
end while

y aquí esta toda la dificultad !!!! es sencillo, solo tienes que practicar, ahora traduce el pseudocodigo a la sintaxis del pascal , compilas , y ya esta !!

nota: intenta añadir tu cuando las palabras pueden estar separadas por más de un espacio en blanco ... jejejejeje (mayor dificultad)

Saludos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio de programación con pascal

Publicado por Eduardo Gascon (2 intervenciones) el 21/08/2012 18:26:30
gracias por contestar, pero estaría mas agradecido si me pueden contestar al otro ejercicio, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio de programación con pascal

Publicado por ramon (2158 intervenciones) el 01/09/2012 18:47:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{A ver si estro te ayuda }
 
program calcul;
uses
  crt;
 var
   nume : array[1..5] of integer;
   total, aux, max, min, media : integer;
   ciento : real;
   i : integer;
   dd, ff : integer;
   frase : string;
   palabras : integer;
 
 begin
     clrscr;
     writeln('  Entra 5 Numeros Enteros ');
     writeln;
     for i := 1 to 5 do
     begin
     write(' Entra N§ [',i,'] : ');
     readln(nume[i]);
     end;
     for ff := 1 to 5 do
     begin
       for dd := 5 downto ff do
       begin
           if nume[ff] > nume[dd] then
           begin
              aux := nume[ff];
              nume[ff] := nume[dd];
              nume[dd] := aux;
           end;
         end;
       end;
       max := nume[5];
       min := nume[1];
       total := 0;
       for i := 1 to 5 do
       begin
       total := total + nume[i];
       end;
       media := total div 5;
       ciento := (total * 10) / 100;
       clrscr;
       writeln(' El Maximo Es        : ',max);
       writeln(' El Minimo Es        : ',min);
       writeln(' La Media Es         : ',media);
       writeln(' El Total Es         : ',total);
       writeln(' El 10% Del total Es : ',ciento:0:0);
       writeln;
       frase := 'Pepito tenia un coche viejo viejisimo.';
       writeln(' La Frase Es : ',frase);
       palabras := 0;
       for i := 1 to length(frase) do
       begin
           if frase[i] in[' ','.'] then
           begin
              palabras := palabras + 1;
           end
         else
            begin
            end;
       end;
       writeln(' Las Palabras Son : ',palabras);
     readkey;
 end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar