Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2016, 15:20   #1
Андрюша1
Новичок
Джуниор
 
Регистрация: 17.07.2016
Сообщений: 3
По умолчанию Помогите с программой на паскале. Пишу в Turbo Delphi Lite.

https://jsfiddle.net/3dfff1oL/2/ - это мой код.
Он почему-то компилируется и не работает. Объясните почему.

Это часть программы для имитации движения заряженных частиц на большой плоскости, которая должна заполнять массив записей этими частицами по считываемым данным и двигать их.
Сообщений об ошибках никаких нету.
Попробуйте сами код скомпилировать он при компиляции из IDE даёт окошко и через неестественно короткое время убирает его, а при запуске полученного exe-файла из проводника зависает и операционная система его закрывает.
Самое интересное что на readln он не реагирует и при отладке ничего не получается.
Вот содержимое читаемого файла:
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000

Последний раз редактировалось Вадим Мошев; 17.07.2016 в 15:42.
Андрюша1 вне форума Ответить с цитированием
Старый 17.07.2016, 15:22   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

jsfiddle для паскаля оригинально.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2016, 15:26   #3
Андрюша1
Новичок
Джуниор
 
Регистрация: 17.07.2016
Сообщений: 3
По умолчанию

А почему бы и нет...
Андрюша1 вне форума Ответить с цитированием
Старый 17.07.2016, 16:28   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Всё хорошо, но такой код никто смотреть не будет. Когда вы пишете код для себя вы можете делать как угодно. Но если надо показать его форуме или если вы пишете его совместно с другими или хотите его, то текст программы должен удовлетворять требованиям качественного кода.
Перепишите его в соответствии с правилами оформления кода. Для начала:
- замените повторяющиеся участки кода циклами;
- разбейте код на функции;
1) каждый цикл оформите отдельной функцией с говорящим, осмысленным названием;
2) Повторяющийся код тоже вынесите в функции;
- числовые константы замените псевдонимами. Используйте служебное слово "const".
А также не помешает отсылка к описанию к известным методам и функциям, которые вы использовали. Их тоже можно оформить функциями с узнаваемыми именами.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 17.07.2016 в 16:42.
Pavia вне форума Ответить с цитированием
Старый 17.07.2016, 17:46   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Фрагмент:
Код:
m[1]:=10;
  m[2]:=8;
  m[3]:=8;
  m[4]:=8;
  m[5]:=8;
  m[6]:=8;
  m[7]:=4;
  m[8]:=4;
  m[9]:=4;
  m[10]:=4;
  m[11]:=4;
  m[12]:=5;
  m[13]:=5;
  m[14]:=5;
  m[15]:=5;
  q[1]:=2;
  q[2]:=-1;
  q[3]:=-2;
  q[4]:=-3;
  q[5]:=-4;
  q[6]:=-5;
  q[7]:=5;
  q[8]:=4;
  q[9]:=3;
  q[10]:=2;
  q[11]:=1;
  q[12]:=-3;
  q[13]:=-3;
  q[14]:=-3;
  q[15]:=-3;
  assign(f, '_mainraspredfail.txt');
  reset(f);
  readln(f, z[1]);
  readln(f, z[2]);
  readln(f, z[3]);
  readln(f, z[4]);
  readln(f, z[5]);
  readln(f, z[6]);
  readln(f, z[7]);
  readln(f, z[8]);
  readln(f, z[9]);
  readln(f, z[10]);
  readln(f, z[11]);
  readln(f, z[12]);
  readln(f, z[13]);
  readln(f, z[14]);
  readln(f, z[15]);
А если было бы не 15, а 1000 например ?

PS И как у вас текстовый файл читается в целочисленные переменные ?

Последний раз редактировалось type_Oleg; 17.07.2016 в 17:52.
type_Oleg вне форума Ответить с цитированием
Старый 17.07.2016, 18:13   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Как звучит оригинал задания?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 17.07.2016, 23:09   #7
Андрюша1
Новичок
Джуниор
 
Регистрация: 17.07.2016
Сообщений: 3
По умолчанию

Всё, я сам нашёл ошибку!!! Она была в последнем цикле из-за того что я забыл проверить переменную oo на соответствие диапазону индексов массива.
Андрюша1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с программой на паскале. svobodys Помощь студентам 5 18.11.2008 15:07
Помогите пожалуйста с программой на паскале. svobodys Помощь студентам 7 28.10.2008 15:27
Помогите пожалуйста с программой на паскале. svobodys Помощь студентам 10 11.10.2008 16:55
Пишу Media Player (помогите) Delphi Reani Помощь студентам 4 12.06.2008 11:51
помогите решить задачу на Turbo Паскале! ALF Паскаль, Turbo Pascal, PascalABC.NET 9 28.02.2008 17:29