Структурата “едномерен масив”

Download Report

Transcript Структурата “едномерен масив”

Структурата “едномерен масив”
Едно от най-често използваните средства за
подреждане, съхраняване и директен достъп до
данни е структурата “едномерен масив”. Прилага се
за описание и обработка на данни, множеството от
стойности на които съдържа фиксиран брой
еднотипни елементи.
За да се превърне едно крайно множество от
еднотипни стойности в едномерен масив е необходимо елементите му да се подредят в редица и номерират (последователно)
Конструираната по този начин редица от
еднотипни стойности се нарича едномерен масив.
Едномерните масиви се именуват, а номерата на
елементите им се наричат индекси. Имената на
масивите в QBasic се формират както имената на
променливите в езика.
Всеки елемент на едномерен масив се идентифицира чрез името на масива и поставения му номер
(индекс).
Пример 1
Нека в 9а.клас има 25 ученика с имена и номера, както следва:
Иван (№7), Тодор (№24), Валя (№3), Калин (№18),
Ели (№5), Ана (№1), Юлия (№25), Зоя (№6), Борис
(№2), Галин (№4) и т.н.
Да представим имената на учениците от 9а. клас
в едномерен масив.
Нека подредим не самите ученици, а техните имена
в съответствие с използваната в паралелката
номерация. Получената редица от данни да наречем
с името Names9a.
Име: Ана Борис Валя Галин Ели Зоя Иван ... Тодор Юлия
No:1
2
3
4
5 6
7 ... 24 25
Така конструираната редица представлява
едномерен масив с име-Names9a, в които са
подредени данни (имената) за учениците от 9а.клас.
Всеки елемент от масива се означава и се
идентифицира чрез името на масива и поставения
му индекс. Например, с Names9a(5) се означава и
идентифицира петия елемент на масива Names9a.
Ще отбележим, че стойността на елемента
Names9a(5) е стринага (трите символа) - “Ели”.
По аналогичен начин може да конструираме
едномерен масив с име Results9а, който съдържа
средния успех на учениците от 9а.клас:
Results9а:
Успех: 5.50 4.66 4.33 4.83 5.73 5.13 4.83 ... 6.00 5.83
No: 1
2
3
4
5
6
7 ... 24 25
В този пример, Results9а (7) е означението на
седмия елемент от масива с данни, съдържащ
средния успех на учениците, а стойността на този
елемент е числото 4.83.
Упражнения:
У1. Посочете името и успеха на ученика с номер 4 в
9а.клас.
У2. Какъв е средния успех на Зоя от 9.а клас?
У3 Посочете името на ученика с най-слаб успех в
класа.
У4 Запишете означенията на тези елементи от масивите, които съдържат данни за момчетата от 9.а
клас.
Names9a
Име: Ана Борис Валя Галин Ели Зоя Иван ... Тодор Юлия
No: 1
2
3
4
5
6
7 ... 24
25
Results9а
Успех: 5.50 4.66 4.33 4.83 5.73 5.13 4.83 ... 6.00 5.83
No: 1
2
3
4
5
6
7 ... 24 25
Основни информационни дейности
с едномерни масиви от данни
1. Въвеждане стойности на елементите.
2. Извеждане стойностите на елементите.
3. Извършване на разнообразни операции с елементите от масива.
4. Намиране на на-голямата и най-малката стойност
в масива.
5. Подреждане (сортиране) не елементите на масива.
6. Търсене в масив.
Повечето езици за програмиране, включително
и QBasic, притежават удобни средства за обработка
на едномерни масиви от данни. Използването на
един масив от данни в компютърната програма започва с описанието (декларацията) му. Описанието
включва задължително информация за типа и броя
на елементите в масива, а се осъществява с
помощта на специализиран оператор.
Декларацията на масивите в QBasic се извършва
с оператора DIM (съкращение от DIMENSIONразмерност). Например:
DIM Uspeh (25)
е описание на едномерни масив с име Uspeh, които
съдържа 26 реални числа. Броя на елементите е 26,
защото индексацията на масивите в QBasic се
осъществява с числата 0, 1, 2, ...
Декларацията:
DIM Names$ (18)
означава, че в програмата ще бъдат използван масив
Names, в който могат да се въведат 19 стойности от
текстов тип.
Езикът QBasic позволява декларациите на няколко
масивите да се извършат с помощта на един единствен оператор DIM. Например, предните две декларации, може да се запишат с оператора:
DIM Uspeh (25) , Names$ (18) , Nomber%(99)
Въвеждане и извеждане стойности
на елементите на масив
Задача 1
Съставете програма, която:
а) въвежда имената и средния успех на учениците от Вашата паралелка;
б) извежда списък на отличниците в паралелката.
Решението на задачата преминава през четири последователни етапа:
1. Въвеждане броя на учениците в паралелката
2. Обявяване на масивите (Name$, Result), които ще
се използват в програмата.
3. Въвеждане данните. Имената и успехът се въвеждат в масивите Name$ и Result, последователно
(чрез цикъл), в съответствие с номерацията на учениците в паралелката
4. Извеждане списък на отличниците в паралелката
Списъкът се формира с помощта на цикъл, съдържащ проверка за отличен успех. В списъка ще попадат само учениците, чиито успех е по-голям или равен на 5.50. Ще отбележим,
че стойността на променливата Nom може да се променя в
хода на цикъла, като изразява броя на отличните ученици.
REM Въвеждане броя на учениците
INPUT “Въведете броя на учениците: ”; Br
REM Описание на масивите
DIM Name$ (Br), Result (Br)
REM Въвеждане на данните за учениците
FOR i = 1 TO Br
PRINT “Въведи данните на номер: ; i
INPUT “Име: ”; Name$ (i)
INPUT “Успех: ”; Result (i)
NEXT i
REM Извеждане (отпечатване) списък на отличниците
No = 0
FOR i = 1 TO Br
IF Result (i) >= 5.5 THEN
Nо = Nо + 1
PRINT Nо ; “. “; Name$ (i); “-” ; Result(i)
ENDIF
NEXT i
IF Nо = 0 THEN PRINT “Няма отлични ученици !”
END