Да се напише програма, която прочита файл и отпечатва колко реда и колко символа се съдържат във файла.
По желание: Да се отпечата още:
- колко символа съдържа най-дългия ред
- има ли празни редове във файла и колко
- дали във този файл има записани email-и (за улеснение – да се разпознават само по знака @)
- други статистики – по желание на автора на програмата


VAR F:text; a:array[1..100] of string; i,j,k,nai_dalag_red,prazen_red,simvoli:integer; email:boolean; BEGIN assign(F,'File.txt'); reset(F); i:=1; //Записваме файла в масив while not EOF(F) do begin readln(F,a[i]); inc(i); end; close(F); //Проверяваме кой ред е най-дълъг nai_dalag_red:=0; for j:=1 to i do if length(a[j])>nai_dalag_red then nai_dalag_red:=length(a[j]); //Проверяваме дали има записани E-mail-и email:=false; for j:=1 to i do for k:=1 to length(a[j]) do if (a[j])[k]='@' then email:=true; //Проверяваме за празни редове prazen_red:=0; for j:=1 to i-1 do if length(a[j])=0 then inc(prazen_red); //Проверяваме колко символи съдържа файла simvoli:=0; for j:=1 to i do simvoli:=simvoli+length(a[j]); //Отпечатваме статистиката Writeln('Broi redove: ',i-1); Writeln('Broi simvoli: ',simvoli); Writeln('Broi na simvolite na nai-dalgiq red: ',nai_dalag_red); if prazen_red>0 then writeln('Broi prazni redove: ',prazen_red) else writeln('Nqma prazni redove'); if email then writeln('Ima zapisani e-mail-i') else writeln('Nqma zapisani e-mail-i'); readln; END.Браво, много добре! Всички тези действия може да бъдат обединени в един цикъл, за да е по-ефективна програмата, но от друга страна така както си я направил е по-прегледно и ясно, така че за учебна програма е добре. Проверката дали даден ред съдържа символ може да се направи с функцията Pos, но и така е правилно. Поне използвай команда break, така че като открие знака @ в реда, да не продължава нататък. Проверката за празен ред може да става и с a[j]=“, но и така е напълно коректно.