Jump to content

Масиви в Pascal?


Препоръчан пост

Здравейте!

Вчера се заех със задача, в която потребителят трябва да въвежда някакъв брой произволни числа, които после да бъдат подредени по големина. Самата програма я направих не особено трудно, но когато реших да го напиша като хората, изпаднах в неприятна ситуация: не знам как да декларирам масива! Всичко, което прочетох, изисква да се знае броят на елементите в масива, а моите трябва да бъдат произволни. Има ли изобщо начин това да се направи в Pascal?

Благодаря предварително.

Мария

Link to comment
Сподели другаде

Здравей!

 

Най-общо казано не. Няма много изискан начин това да се направи изобщо в процедурните езици.

Проблемът е свързан с алокирането и адресирането на клетки в паметта. Начинът е да се задели достатъчно голямо парче памет и то да се използва като масив. Понеже е повече занимание, обикновенно в уводните курсове по програмиране се прави достатъчно голям масив, а потребителя се ограничава да въведе равен или по-малък брой елементи с които да работи.

 

В обектните езици изобщо не се ползват стандартни масиви, а обекти, които много приличат на тях, но се ползват много по-лесно. Възможно е в бъдеще да създавате от "нулата" подобни лесни обекти.

 

Впрочем по съшия начин седи и въпросът със стринговете. В Pascal вградения низ е с дължина само 255 байта със само ANSI знаци.

Link to comment
Сподели другаде

Стигнах до подобен извод след като изчетох изумително количество учебници, но все пак мерси за отделеното време, трябваше някой по-разбиращ да потвърди. :)

 

 

 


потребителя се ограничава да въведе равен или по-малък брой елементи с които да работи.

 

А след като огранича елементите до n-брой такива, как ще стане с по-малък брой от зададените?

Link to comment
Сподели другаде

Прави се с отделна променлива по следния начин:

 

- потребителя се пидканя да въведе броя на елементите с които ще работи

- проверява се дали n < maxN, тоест максималния възможен брой

- после в циклите за обработка, въвеждане и извеждане се използва n

 

Например, ако имаме 5 елемнта ще подканим потребителя да въведе число 5 пъти.

Хубаво е n да е променлива от цял, положителен тип, за да се избегнат излишни проверки за отрицателни стойности. 

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...