1 Востаннє редагувалося koala (22.01.2021 11:30:13)

Тема: Що тут не правильно? Скажіть будь ласка.

var
  k: integer;
  
procedure ParagraphsCount(inFile: string; var k: integer); 
var
  F1: text; 
  paragraph: string; 
  
begin
  
  assign(F1, inFile); 
  reset(F1); 
  while not EOF(F1) do begin 
    readln(F1, paragraph); 
    k := k + 1;
  end;
  
  close(F1); 
  
end;
  
begin
  
  ParagraphsCount('input.txt', k); 
  
  writeln('Кількість абзаців у заданому тексті = ', k); 
  
end.

2

Re: Що тут не правильно? Скажіть будь ласка.

Неправильно поставлене питання.
А що очікуєте від цього коду, а що він робить? І чому ви вважаєте це неправильним?

І додавайте будь ласка тег code.

3 Востаннє редагувалося koala (22.01.2021 11:30:39)

Re: Що тут не правильно? Скажіть будь ласка.

Доповніть питання, будь ласка

Додав вам тег code (кнопка <>), наступного разу самостійно.

4

Re: Що тут не правильно? Скажіть будь ласка.

Завдання: Обчислити кількість абзаців у текстовому файлі F1. Запускаю на freepascal. Воно пише що щось не так з var

5

Re: Що тут не правильно? Скажіть будь ласка.

http://docs.embarcadero.com/products/ra … rings.html

6 Востаннє редагувалося koala (22.01.2021 13:13:02)

Re: Що тут не правильно? Скажіть будь ласка.

Так і пише - "щось не так"? От нічого собі повідомлення про помилки скоротили. Я б на вашому місці написав виробнику компілятора - повідомлення про помилку має бути змістовним, а не "щось не так".

Подякували: leofun011

7

Re: Що тут не правильно? Скажіть будь ласка.

Як мінімум, змінна k ніде не ініціалізується. Що, з паскалівської точки зору, означає, що її значення невизначене (тобто, там лежить якесь сміття). Далі це значення (невідомо-яке) збільшується стільки разів, скільки абзаців у тексті — така програма може працювати, але результат її роботи буде беззмістовним.

Ймовірно, ваш компілятор достатньо розумний і бачить цей недолік, тому видає попередження. Щоб цього не було, обнуліть значення k перед тим, як рахувати рядки.

8

Re: Що тут не правильно? Скажіть будь ласка.

Глобальні змінні ініціалізуються нулями. Без нормального пояснення, що має робити програма, і докладного опису проблеми, усе це просто вправи з телепатії.