Buenas,
Para este problema, probé con el siguiente codigo:
program Ejercicio2b;
var
letra, oracion, letrainicial : char;
contador : integer;
begin
(*ingresar datos*)
write('Letra: ');
readln(letra);
write('Oracion: ');
(*inicializar contadores*)
contador := 0;
(*saltear espacios*)
repeat
read(oracion);
until oracion <> ' ';
(*asignar letra inicial*)
letrainicial := oracion;
while oracion <> '.' do
begin
(*leer palabra*)
repeat
read(oracion);
until (oracion = ' ') or (oracion = '.');
(*incrementar contador*)
if letrainicial = letra then
contador := contador + 1;
if oracion <> '.' then
begin
read(oracion);
if oracion <> ' ' then
letrainicial := oracion;
end;
end;
writeln('La oracion tiene ', contador:1, ' palabras que comienzan con ', letra)
end.
El problema que me da este codigo, es que si por ejemplo eligo la letra "s" y escribo la oracion "Soy lo que soy." no me contabiliza 2 "s" sino solo una, ya que me distingue la "s" de la "S" . ¿Alguna idea de como encarar el hecho de que no me distinga mayusculas de minusculas?
Saludos,
Gonzalo