Как найти количество строк информатика

Задачи на определение информационного объема текста

Проверяется умение оценивать количественные параметры информационных объектов.

Теоретический материал:

N = 2i , где N – мощность алфавита (количество символов в используемом
алфавите),

i – информационный объем одного символа (информационный
вес символа), бит

I = K*i, где I – информационный объем текстового документа (файла),

K – количество символов в тексте

Задача 1.

Считаем количество символов в заданном тексте (перед и после тире – пробел, после знаков препинания, кроме последнего – пробел, пробел – это тоже символ). В результате получаем – 52 символа в тексте.

Дано:

i = 16 бит

K = 52

I – ?

Решение:

I = K*i

I = 52*16бит = 832бит (такой ответ есть – 2)

Ответ: 2

Задача 2.

Дано:

K = 16*35*64 – количество символов в статье

i = 8 бит

I – ?

Решение: Чтобы перевести ответ в Кбайты нужно разделить результат на 8 и на 1024 (8=23, 1024=210)

I=16*35*64*8 бит==35Кбайт Ответ: 4

Задача 3.

Пусть x – это количество строк на каждой странице, тогда K=10*x*64 – количество символов в тексте рассказа.

Дано:

I = 15 Кбайт

K =10*x*64

i = 2 байта

x – ?

Решение:

Переведем информационный объем текста из Кбайт в байты.

I = 15 Кбайт = 15*1024 байт (не перемножаем)

Подставим все данные в формулу для измерения количества информации в тексте.

I = K*i

15*1024 = 10*x*64*2

Выразим из полученного выражения x

x = – количество строк на каждой странице – 4

Ответ: 4

Задачи для самостоятельного решения:

Задача 1.

Задача 2.

Задача 3.

Задача 4.

Задача 5.

Задача 6.

Задача 7.

Задачи взяты с сайта fipi.ru из открытого банка заданий (с.1-7)

Для решение этого класса задач необходимо знать как кодируется текст.

Рассмотрим решение задачи 1 части 1 демоверсии ГИА по информатике 2013 года:


Статья, набранная на компьютере, содержит 16 страниц, на каждой странице 30 строк, в каждой строке 32 символа. Определите информационный объём статьи в одной из кодировок Unicode, в которой каждый символ кодируется 16 битами.
 1) 24 Кбайт         2) 30 Кбайт         3) 480 байт          4) 240 байт


Решение:

Найдем общее количество символов на одной странице, для этого умножим количество строк на странице на количество символов в строке — 30 * 32 = 960 символов.

Найдем общее количество символов во всем тексте, для этого умножим количество страниц на количество символов на одной странице — 16 * 960 =  15360 символов.

Так как каждый символ кодируется 16 битами, а 16 бит = 2 байта, то весь текст займет 15360 * 2 байта = 30720 байта. Как видим, из предложенных вариантов ответа в байтах полученного нами нет, поэтому переведем полученный результат в килобайты. Для этого разделим 30720 на 1024: 30720 / 1024 = 30Кбайт.

Правильный ответ 2) 30Кбайт.

Второй вариант решения задачи предполагает знание степеней двойки и единиц измерения информации.

Итак, количество символов во всем тексте, учитывая, что 32 = 25 , а 16 = 24 будет равно

30 * 32 * 16 = 30 * 25 * 24 = 30 * 29 символов.

Так как каждый символ занимает 2 байта, то для всего текста потребуется

30 * 29 * 2 = 30 * 210 байт.

А так как 210 байт это 1Кбайт, то в итоге получим 30Кбайт.

Рассмотрим решение задачи 1 части 1 демоверсии ГИА по информатике 2012 года:


Статья, набранная на компьютере, содержит 8 страниц, на каждой странице 40 строк, в каждой строке 64 символа. В одном из представлений Unicode каждый символ кодируется 16 битами. Определите информационный объём статьи в этом варианте представления Unicode.

1) 320 байт         2) 35 Кбайт         3) 640 байт         4) 40 Кбайт


Решение:

Аналогично предыдущей задаче найдем количество символов на одной странице — 40 * 64 = 2560.

Общее количество символов в статье — 2560 * 8 = 20480 символов.

Каждый символ кодируется 16 битами или 2 байтами (1 байт = 8 бит). Значит вся статья займет 20480 * 2 байта = 40960 байт.

Полученного результата в вариантах ответа нет, поэтому переведем полученное значение в килобайты, разделив его на 1024: 40960 / 1024 = 40Кбайт.

Правильный ответ  4) 40 Кбайт.

Рассмотрим решение задачи 1 части 1 демоверсии ГИА по информатике 2011 года:


В кодировке КОИ-8 каждый символ кодируется одним байтом. Определите количество символов в сообщении, если информационный объем сообщения в этой кодировке равен 160 бит. 

1) 10         2) 16         3) 20         4) 160 


Решение:

Так как каждый символ кодируется одним байтом, а один байт равен 8 битам, то чтобы узнать количество символов, нужно разделить информационный объем сообщения на количество памяти, занимаемое одним символом:

160 / 8 = 20 символов.

Правильный ответ 3) 20.

Дополнение (ГИА 2014)

Продолжаем готовиться к ГИА по информатике и рассмотрим новые задачи ГИА 2014 по информатике.

В  одной  из  кодировок Unicode каждый  символ  кодируется 16 битами. Определите размер следующего предложения в данной кодировке.

Я к вам пишу – чего же боле? Что я могу ещё сказать?

1) 52 байт   2) 832 бит   3) 416 байт   4)104 бит

Решение:

Для начала посчитаем количество символов в предложении. Именно символов, не букв! То есть знак пробела, знак вопроса мы тоже считаем. В итоге у нас получается 52 символа. Из условия известно, что каждый символ кодируется 16 битами. Значит, чтобы найти информационный объем всего предложения, мы должны умножить 52 на 16.

52 * 16 = 832 бита.

Среди вариантов ответа есть найденный нами. Правильный ответ 2.


Рассмотрим еще одну похожую задачу — на этот раз из диагностической работы ГИА по информатике 2014 от 18 октября 2013 года.

В одной из кодировок Unicode каждый символ кодируется 16 битами. Определите информационный объем следующего предложения в данной кодировке.
Я памятник себе воздвиг нерукотворный.
1) 76 бит    2) 608 бит    3) 38 байт    4) 544 бит

Принцип решения подобного класса задач остается прежним — посчитать количество символов и умножить полученное число на информационный объем одного символа. В условии сказано, что каждый символ кодируется 16 битам (рекомендую ознакомиться со статьей кодирование текста для понимания принципов хранения текста в памяти компьютера). Итак, считаем количество символов в строке. Напомню очередной раз, что пробелы, знаки препинания — это тоже символы и их тоже надо считать. В предложении 38 символов. Умножив 38 символов на 16 бит получим 608 бит. В предложенных вариантах такой встречается, значит правильный ответ — 2


Рассмотрим решение задачи 1 Диагностической работы в формате ГИА по информатике 19 декабря 2013 года 9 класс Вариант ИНФ90301:


Текст рассказа набран на компьютере. Информационный объём получившегося файла 15 Кбайт. Текст занимает 10 страниц, на каждой странице одинаковое количество строк, в каждой строке 64 символа. Все символы представлены в кодировке Unicode. В используемой версии Unicode каждый символ кодируется 2 байтами. Определите, сколько строк помещается на каждой странице.
1) 48       2) 24      3) 32       4) 12


Решение:
15Кбайт = 15 * 210 байт.
Обозначим количество строк X. Тогда во всем тексте будет 10 * 64 * X символов. А если каждый символ занимает 2 байта, то во всем тексте будет 10 * 64 * X * 2 байта. Осталось вспомнить степени двойки и решить простейшее уравнение:
15 * 210 = 10 * 64 * X * 2
15 * 210 = 10 * 26 * X * 2
15 * 210 = 10 * 27 * X
X = 15 * 210 / 10 * 27 = 3 * 23 / 2 = 3 * 22 = 3 * 4 = 12
Ответ: 12 строк — это 4-й вариант.

Автор:

Перейти к содержанию

Посчитать количество строк в файле и количество слов и символов в каждой строке

Просмотров 8.1к. Обновлено 15 октября 2021

В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить количество в ней символов и слов.

Подсчет строк:
Ввести счетчик, присвоить ему 0.
Пока не будет достигнут конец файла, считывать очередную строку файла и увеличивать счетчик на 1.

Подсчет символов в строке:
Измерять длину очередной строки с помощью встроенный в язык программирования функции.

Подсчет слов в строке:

  1. Ввести счетчик слов и присвоить ему 0.
  2. Ввести флаговую переменную и присвоить ей 0 (сигнал нахождения вне слова).
  3. Пока не будет достигнут конец строки:
    1. Если очередной символ не пробел и флаг указывает на нахождение вне слова, то увеличить счетчик слов и присвоить флаговой переменной 1 (сигнал нахождения внутри слова).
    2. Если же очередной символ пробел, то присвоить флагу 0.

Pascal


var
f: text;
s: string;
line, chr, wrd: word;
i: byte;
flag: boolean;
begin
assign(f,'text.txt');
reset(f);
line := 0;
while not EOF(f) do begin
readln(f,s);
write(s, ' - ');

line := line + 1;

chr := length(s);
write(chr, ' симв., ');

wrd := 0;
flag := false;
for i:=1 to chr do
if (s[i] <> ' ') and (flag = false) then begin
wrd := wrd + 1;
flag := true;
end
else
if s[i] = ' ' then flag := false;
writeln(wrd, ' сл.');
end;
close(f);
writeln(line,' стр.');
end.



Hello world! - 12 симв., 2 сл.
Привет мир! - 20 симв., 2 сл.
One, two, three - 15 симв., 3 сл.
Один, два, три - 24 симв., 3 сл.
4 стр.

Файл выполнен в среде GNU/Linux, компилятор FreePascal. Русские символы считаются за 2 символа. Например, в данном примере во второй строке 9 кириллических символа, пробел и восклицательный знак: 18 + 2 = 20 символов.

Язык Си

посчитать количество строк в файле си


#include < stdio.h>
#include < string.h>
#define N 255
main() {
FILE *f;
char s[N];
unsigned short line, word, flag, i;
line = 0;
f = fopen("text.txt","r");
while (fgets(s, N, f) != NULL) {
line += 1;

word = 0;
flag = 0;
for (i=0; i < strlen(s); i++)
if (s[i] != ' ' && flag == 0) {
word += 1;
flag = 1;
} else
if (s[i] == ' ') flag = 0;

printf("%st%ld симв., %d сл.n",s,strlen(s),word);
}
printf("%d стр.n", line);
fclose(f);
}



Hello world!
13 симв., 2 сл.
Привет мир!
21 симв., 2 сл.
One, two, three
16 симв., 3 сл.
Один, два, три
25 симв., 3 сл.
4 стр.

Тот же “эффект”, что и в Паскале: кириллический символ считается за 2.

Функция fgets() считывает строку вместе с символом перехода на новую строку. Аргумент N не позволяет считать больше указанного количества символов, но длина строки определяется по количеству считанных (т.е. фактической длиной строки).

Python

python количество строк в файле


f = open('text.txt')
line = 0
for i in f:
line += 1

flag = 0
word = 0
for j in i:
if j != ' ' and flag == 0:
word += 1
flag = 1
elif j == ' ':
flag = 0

print(i,len(i),'симв.',word,'сл.')

print(line,'стр.')
f.close()



Hello world!
13 симв. 2 сл.
Привет мир!
12 симв. 2 сл.
One, two, three
16 симв. 3 сл.
Один, два, три
15 симв. 3 сл.
4 стр.

Символ перехода на новую строку учитывается.

КуМир


использовать Файлы П
алг
нач
цел f, line, word, char, in, i
лит s
line := 0
word := 0
char := 0
f := открыть на чтение ("текст.txt")
нц пока не конец файла (f)
Фввод f, s
line := line + 1
вывод s, нс
char := char + длин(s)
in := 0
нц для i от 1 до длин(s)
если s[i] <> " " и in = 0 то
word := word + 1
in := 1
иначе
если s[i] = " " то in := 0 все
все
кц
кц
закрыть(f)
вывод нс, "строк - ", line, нс
вывод "слов - ", word, нс
вывод "символов - ", char
кон



Привет, Мир!
Hello World!
5, 4 ...

строк - 3
слов - 7
символов - 32

Здесь считается общее количество слов и символов.

Basic-256


open "text.txt"
ln = 0
while not eof
ln = ln + 1
s$ = readline
i = 1
word = 0
flag = 0
while i <= length(s$)
c$ = mid(s$,i,1)
if c$ <> " " and flag = 0 then
word = word + 1
flag = 1
else
if c$ = " " then flag = 0
endif
i = i + 1
endwhile

print s$ + length(s$) + ", " + word
endwhile
close

print "Строк: " + ln



Hello world!
13, 2
Привет мир!
12, 2
One, two, three
16, 3
Один, два, три
15, 3
Строк: 4

Переход на новую строку учитывается как символ.

Каждый объект в компьютере (или любом другом электронном устройстве) имеет свой информационный объём, то есть то количество информации, которое он занимает в памяти устройства.

Например, текстовый документ на (2)–(3) страницы может иметь информационный объём (150) Кб.

Изображение в хорошем качестве — (2)–(4) Мб.

Аудиофайл с песней на (3) минуты — около (6) Мб.

Рассмотрим измерение текстовой информации в компьютере.

Размер текстового сообщения зависит от того, с помощью какого алфавита он был написан и сколько в нём символов.

Алфавит (N) — это количество символов в некотором языке.

Чем больше алфавит, тем больше информационный вес одного символа.

Информационный вес одного символа (i) — это количество информации, которое отводится на один символ.

Обрати внимание!

Они связаны формулой:

N=2i

.

Например, в русском алфавите (33) буквы, вычислим информационный вес одного символа по формуле:

33=2i,i≈5

 бит. То есть вес одного символа (буквы) — (5) бит.

Представим, что в тетрадке записана следующая строка: «Мама сидела за столом».

Как посчитать, сколько информации несёт в себе это сообщение?

Нам известно, сколько весит один символ — (5) бит, можно подсчитать количество символов в данном сообщении — (18), соответственно, чтобы найти, сколько всего информации несёт в себе это сообщение, нужно перемножить информационный вес одного символа и количество символов в сообщении.

Обрати внимание!

Можно вывести формулу:

I=K×i

,

где (I) — информационный объём сообщения;

(K) — количество символов в сообщении;

(i) — информационный вес одного символа. 

Но мы будем работать с компьютерным текстом. Там алфавит намного больше.

Как ты думаешь, сколько всего символов можно ввести с клавиатуры?

Ты скажешь «много» и будешь прав: с клавиатуры можно ввести русские/английские буквы, цифры, специальные знаки и т. д. Всего (256) символов.

Посчитаем информационный вес одного символа компьютерного алфавита.

N=2i.256=2i.256=28.

Один символ компьютерного алфавита весит (8) бит или (1) байт.

Решим задачу.

Найди информационный объём текста (в битах), написанного с помощью компьютера:

«Информация — это сведения об окружающем нас мире».

Текст напечатан на компьютере, поэтому один символ весит (8) бит или (1) байт.

Всего символов в сообщении между кавычками: (48). При подсчёте символов учитываются все символы и пробелы.

Запишем решение:

I=K×i.I=48×8.I=384бит.

Ответ: (384) бита.

Задача

Найди информационный объём сообщения (в байтах), который напечатали школьники на уроке информатики, если оно содержит (2) страницы, на каждой странице по (12) строк, и в каждой строке (28) символов.

Оформим решение задачи.

Дано:

K=2×12×28.i=1байт.

Чтобы посчитать, сколько символов всего в сообщении, нужно умножить количество страниц на количество строк и на количество символов в каждой строке. 

В условии сказано, что текст напечатали, поэтому один символ равен (1) байту.

I=K×i.I=2×12×28×1.I=672байта.

Найти: (I) — ? Ответ: (672) байта.

Как подсчитать количество строк

Если оставить в стороне программирование, то задача подсчета строк наиболее часто возникает при работе с текстами и таблицами. Самое распространенное на сегодня программное обеспечение для работы с документами этого рода – текстовый процессор Word и табличный редактор Excel из состава пакета офисных приложений Microsoft Office. Ниже приведены способы подсчета количества строк с использованием этих двух приложений.

Как подсчитать количество строк

Инструкция

Запустите Microsoft Word и загрузите в него текстовый документ, строки которого надо пересчитать. Диалог открытия файла здесь, как и в большинстве программ, можно вызвать сочетанием «горячих клавиш» Ctrl + O либо через меню приложения, открываемого щелчком по большой круглой кнопке в левом верхнем углу окна.

Перейдите на вкладку «Рецензирование» меню текстового процессора и щелкните по пиктограмме, на которой изображены буквы ABC и цифры 123 – эта кнопка открывает небольшое окошко с подробной статистикой, относящейся к загруженному тексту. В нижнюю строку этого окна помещена и информация о количестве строк. Есть более простой способ вызвать на экран окно статистики – достаточно щелкнуть левой кнопкой мыши надпись «Число слов» в левой нижней части окна (в строке состояния).

Обратите внимание на тот факт, что этот параметр зависит от того, сколько знаков можно уместить в каждой строке. Это значит, что изменяя размер шрифта или величину отступов от краев страницы в процессе подготовки текста к печати, вы будете менять и количество строк. Если вам важно контролировать число строк в напечатанном документе, то не забудьте проверить его непосредственно перед отправкой документа на принтер или перед сохранением в файл.

Запустите табличный процессор Microsoft Excel и загрузите в него таблицу, строки которой требуется пересчитать. Кроме собственных форматов Excel, таблицы можно загружать и из csv-файлов, а можно переносить их из других документов через буфер обмена.

Если требуется просто узнать количество строк в таблице, то достаточно установить курсор ввода в ее последнюю строку и посмотреть номер в заголовке строки слева от таблицы. Для быстрого перехода к последней строке можно воспользоваться сочетанием клавиш Ctrl + End.

Если надо пересчитать строки, удовлетворяющие каким-либо условиям, то воспользуйтесь встроенными функциями СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ, СЧЁТЕСЛИМН. Например, пусть требуется определить количество строк, у которых в первой ячейке содержится какое либо не пустое значение. В этом случае перейдите в свободную ячейку, в которой хотите видеть результат подсчета, введите =СЧЁТЗ(A:A) и нажмите Enter.

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Добавить комментарий