Массивы (array)

Массивы — это переменные, которые предназначены в основном для хранения списков данных. При этом они имеют одно и то же имя, однако у каждого элемента массива, чтобы не возникло путаницы, есть свой числовой индекс.

Для объявления массива используют array, затем задают количество элементов массива (например от 1 до 10) в квадратных скобках [1..10] и объявляют его тип.


program massiv;
m:array[1..10] of integer;

Таким образом, данный выше массив можно представить как 10 переменных, названных одним именем, но различающимся по числовому индексу. Для ввода элементов в массив необходимо указать имя массива (переменную) и номер его элемента. Например:


m[1]:=5;
n:=m[1];

В данном примере вместо числового индекса (1) можно использовать переменную целого типа (integer). Таким образом можно ввести в каждый элемент массива определенное количество данных.


for i:=1 to 10 do
readln(m[i]);

Точно так же происходит вывод элементов массива на экран.

Такие массивы обычно мы называем одномерными. Двумерные массивы используются, например, для хранения таблиц или таких данных, где требуются значения x и y.


program massive;
m:array[1..10,1..5] of string;

Массив, который больше двумерного (трехмерный и т.д.) обычно нигде не используется. Но в Паскале увеличить его можно, добавив еще один диапазон элементов массива.

Ввод и вывод двумерного массива такой же, как и у одномерного. Только теперь нужно указывать не один индекс (в квадратных скобках), а два (через запятую):


For i1:=1 to 5 do
begin
For i2:=1 to 4 do
begin
i:=i+1;
m[i1,i2]:=i;
end;
i:=0;
end;

Задания:

  • Вставить на k место элемент, равный m.
  • Удалить из одномерного массива числа, равные заданному числу.
  • В одномерном массиве, заполненном целыми числами, подсчитать число различных элементов.
  • Дана прямоугольная таблица. Найти количество положительных элементов.
  • Найти количество отрицательных элементов в каждой строке двумерного массива.
  • Даны две квадратные матрицы A и B. Вывести на экран ту из них, у которой след (сумма элементов главной диагонали) меньше.


Ответы к заданиям предыдущей статьи:

  • Разработать программу преобразования 16-ой системы счисления в 10-ую и наоборот.

Для начала уясним, что такое 10-ая и 16-ая система счисления. Итак, все наши числа состоят из 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Дальше все цифры повторяются и поэтому наша система счисления — десятичная. Компьютер использует двоичную систему счисления: 0 и 1, так как электрический сигнал или присутствует, или его нет вообще. Шестнадцатеричная система счисления имеет 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Теперь поговорим о том, как можно перевести 10-ую систему счисления в 16-ую.

Давайте попробуем использовать все три системы счисления одновременно (сначала 10-ую переводим в 2-ую, а затем в 16-ую). Чтобы перевести 10-ую в 2-ую, нужно десятичное число всегда делить на два, а затем собрать все нули и единицы в обратном порядке:

Таким образом мы получаем из десятичного числа 145 двоичное число 10010001.

Теперь переведем это двоичное число в шестнадцатеричное. Для этого, начиная с последней цифры, разделим двоичное число по четыре цифры (1001.0001), а затем воспользуемся следующей таблицей:

Двоичная Шестнадцатеричная
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Находим двоичные значения (1001 и 0001) и переводим соответственно в шестнадцатеричную систему счисления. Таким образом у нас 10-ое число 145 преобразовалось в 16-ое 91. Однако если двоичное число не получается поровну разделить по четыре цифры, можно в начало этого числа дописать необходимое количество нулей.

Это первый, более долгий метод решения данной задачи. Попробуем ее упростить и будем переводить сразу из 10-ой в 16-ую. Для этого также, как и при переводе из 10-ой в 2-ую, будем делить всё время на 16, а остатки заберем. Получим следующую программу:

Нетрудно теперь и обратно (из 16-ой в 10-ую перевести) перевести:

  • Проверить, является ли слово перевертышем.

Следует учесть, что в данном случае программа учитывает регистр.

  • Найти самое длинное слово в предложении и вывести его на экран.

Данная программа очень эффективна для очень большого объема текста, так как берет одно слово и сравнивает с последующими. Если другое слово оказывается длиньше, берет его и продолжает искать еще длиньше слово.


<<Предыдущая статья                                     Следующая статья >>

Автор

admin

Программист - техник, разработчик сайтов и программного обеспечения, владелец сервера, администратор сайта "Немного о компьютере..."

Массивы (array): 3 комментария

  1. Здраствуйте, не знаю куда писать напишу сюда. Я подписался на рсс вашего сайта, а текст отображается иероглифами помогите пожалуйста, можно на e-mail

    1. Добрый день! Попробуйте подписаться на email-рассылку обновлений сайта (http://fortran-new.ru/feeds/). Как только мы опубликуем новую статью, Вы получите по электронной почте ее анонс и ссылку для перехода на сайт. Таким образом не стоит каждый раз заходить на сайт. Как только будут обновления — Вы узнаете об этом первым.
      Если же Вы настаиваете на подписку именно RSS-ленты — тогда подписывайтесь здесь (http://fortran-new.ru/feed/).
      Насчет иероглифов обращайтесь в службу поддержки.

  2. Благодарю!!!У Вас часто появляются очень интересные посты! Очень поднимаете мое настроение.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *