Программируем

Пожалуйста, зарегистрируйтесь или войдите под уже созданным логином. Вы получите полный доступ ко всем статьям форума.

Join the forum, it's quick and easy

Программируем

Пожалуйста, зарегистрируйтесь или войдите под уже созданным логином. Вы получите полный доступ ко всем статьям форума.

Программируем

Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Программируем

На нашем форуме программистов вы сможете найти софт для программирования и другие программы. На форуме обсуждаются многие языки программирования, задачи и их решения. Используются языки: C, Assembler, Pascal, Delphi, Flash и другие.

Последние темы

» Арена искусственных интеллектов Gridwars
Массивы в паскале(Pascal) EmptyСр Окт 12, 2016 2:43 am автор SeriousPasha

» требуется несколько JS разработчиков
Массивы в паскале(Pascal) EmptyПт Окт 07, 2016 10:19 pm автор mrktwn1

» Защита приложения от взлома
Массивы в паскале(Pascal) EmptyЧт Июн 18, 2015 10:28 pm автор stradi

» Ищите программиста или дизайнера?
Массивы в паскале(Pascal) EmptyПт Мар 27, 2015 6:25 am автор фриланс

» Создание и продвижение сайтов, их развитие.
Массивы в паскале(Pascal) EmptyСр Мар 25, 2015 12:40 am автор asdfghhgfdsa

» Исходники для студентов + скайп-консультации,помощь в написании программ
Массивы в паскале(Pascal) EmptyВт Окт 07, 2014 11:25 pm автор Horpion

» IT- технологии для развития бизнеса
Массивы в паскале(Pascal) EmptyПн Июн 23, 2014 6:11 pm автор dvos12

» Стенли Кубрик "С Широко закрытыми Глазами"
Массивы в паскале(Pascal) EmptyЧт Июн 12, 2014 2:01 am автор Vertuozzz

» Каталог популярных хостинг компаний
Массивы в паскале(Pascal) EmptyСб Май 10, 2014 7:18 pm автор naik

Самые активные пользователи

Aster (142)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Exkalibur (89)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Чебурашка (63)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Administrator (34)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
ak95 (8)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Пушкин (7)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
K4_ (7)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
LuDa (7)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Goldcoding (6)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 
Admin (6)
Массивы в паскале(Pascal) Bar_leftМассивы в паскале(Pascal) BarМассивы в паскале(Pascal) Bar_right 

Партнеры

Массивы в паскале(Pascal) Top100 Rambler's Top100

Участников: 3

    Массивы в паскале(Pascal)

    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Массивы в паскале(Pascal)

    Сообщение автор Aster Вс Янв 10, 2010 12:05 am

    Сегодня мы рассмотрим, как создавать массивы в Pascal(Паскале).

    Итак, начнем.

    Предположим, мы имеем задачу, в которой нужно, например, отсортировать 10 человек по росту. Рост вводится с клавиатуры.
    Конечно можно завести 10 переменных, но это неудобно. Лучше всего использовать массив.

    Что такое массив? Массив - это набор элементов. Например числа 1, 2, 3, 4, 5, 6, 7, 8, 9 будут являться массивом размерностью 9.

    Как создать массив? В Паскале, как и в Delphi используется тип array. Это массив по английски. Есть 2 способа описания массива:

    Type mas = array[1..9] of integer;
    Var a: mas;
    После этих строк у вас образуется массив a типа mas, в котором 9 элементов типа integer;

    Лучше использовать второй метод:

    Var a: array[1..9] of integer;
    Он делает то же самое.

    Теперь у вас, наверное, встанет вопрос, как заполнить массив?

    Это выглядит примерно следующим образом:
    For i := 1 to n do
    read(a[i]);
    Здесь мы считываем в массив n элементов. a[i] значит элемент массива с номером i. Как видите, мы пробегаем n элементов и считываем их с клавиатуры.

    Вот и все, дерзайте.
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Вс Фев 28, 2010 9:12 pm

    хотелось бы прояснить маленько - integer - это вроде целочисленный тип, а real - вещественный, или наоборот?
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Пт Мар 05, 2010 12:31 am

    именно. Integer не самый большой тип в Pascal'е, лучше всего использовать longint, а вместо real - extended.
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Вт Мар 09, 2010 8:36 pm

    смотря для каких целей, extended имеет 19-20 цифр и занимает по-моему 10 байт, в то время как real имеет 11-12 цифр с памятью в 6 байт, в принципе разница не большая, это кому как удобнее.
    с integer соглашусь, там конечно рамки гораздо жестче прописаны.
    А что касательно символьного типа данных, есть ли в языке альтернатива char?
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Вт Мар 09, 2010 8:49 pm

    Конечно есть. Char - это просто 1 символ, а есть также строка. Описывается так: s: string, например.
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Вт Мар 09, 2010 8:55 pm

    а если использовать переменную типа text, описывая через файл, а не через оператор присваивания?
    там же по идее тогда получиться, что результат действия можно будет выводить в текстовый файл с возможностью редактирования в текстовом редакторе вроде
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Вт Мар 09, 2010 9:11 pm

    Любую информацию, которую выведешь в текстовый файл, можно редактировать в текстовом редакторе)
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Ср Мар 10, 2010 4:36 pm

    мда, логично, спасибо Smile
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Чт Апр 29, 2010 8:52 pm

    сегодня встретила интересную задачу:
    необходимо в одномерном массиве реализовать подсчет количества изменения знака, например 1, 2, -1, -3, 1
    в примере количество изменения знаком получается 2.
    основная сложность решить эту задачу несколькими способами...
    Есть идеи реализации?
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Пт Апр 30, 2010 3:50 pm

    Exkalibur пишет:сегодня встретила интересную задачу:
    необходимо в одномерном массиве реализовать подсчет количества изменения знака, например 1, 2, -1, -3, 1
    в примере количество изменения знаком получается 2.
    основная сложность решить эту задачу несколькими способами...
    Есть идеи реализации?

    Самый легкий способ просто пройтись циклом по массиву, запоминая текущий знак, то есть идем по массиву, видим 1, запомнили, что знак +, идем дальше, видим двойку, знак снова +, дальше -1, знак -, следовательно, знак изменился, значит к счетчику изменения знаков прибавим 1 и т.д
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Сб Май 01, 2010 12:16 am

    то есть в цикле как я понимаю нужно условие проверки знака, следовательно нужна переменная, которая будет служить некоторым флагом - ммм, не плохой вариант...
    вот проблема еще что-нибудь из этого выжать - ведь нужно то несколько способов. (как минимум 3)

    А что если сравнивать каждый последующий элемент массива с предыдущим и регистрировать замену знака на этом этапе?
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Сб Май 01, 2010 1:52 am

    Exkalibur пишет:то есть в цикле как я понимаю нужно условие проверки знака, следовательно нужна переменная, которая будет служить некоторым флагом - ммм, не плохой вариант...
    вот проблема еще что-нибудь из этого выжать - ведь нужно то несколько способов. (как минимум 3)

    А что если сравнивать каждый последующий элемент массива с предыдущим и регистрировать замену знака на этом этапе?

    Не вижу существенной разницы вашего варианта и моего)
    Exkalibur
    Exkalibur
    Почетный пользователь
    Почетный пользователь


    Сообщения : 89
    Очки : 144
    Репутация : 13
    Дата регистрации : 2010-02-28
    Возраст : 33
    Откуда : Красноярск

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Exkalibur Ср Май 12, 2010 8:31 pm

    мммм, вобще то да, а вот если перемножить соседствующие элементы и сравнить с нулем, ведь если знаки разные, то точно будет отрицательный результат
    Aster
    Aster
    Admin
    Admin


    Сообщения : 142
    Очки : 274
    Репутация : 11
    Дата регистрации : 2010-01-07

    Массивы в паскале(Pascal) Empty Re: Массивы в паскале(Pascal)

    Сообщение автор Aster Чт Май 13, 2010 2:06 am

    Exkalibur пишет:мммм, вобще то да, а вот если перемножить соседствующие элементы и сравнить с нулем, ведь если знаки разные, то точно будет отрицательный результат

    Хороший вариант.
    avatar
    oksi
    Новичек
    Новичек


    Сообщения : 1
    Очки : 0
    Репутация : -1
    Дата регистрации : 2010-12-05
    Возраст : 30
    Откуда : Губкин

    Массивы в паскале(Pascal) Empty плизззз!!!! решите задачи.....срочно!!!!!

    Сообщение автор oksi Вс Дек 05, 2010 12:23 am

    1)Для целочисленной квадратной матрицы найти число элементов, кратных k, и наибольший из них.
    2) Сформировать матрицу порядка n по заданному образцу
    111...111
    011...110
    001...100
    .... ...
    011...110
    111...111


      Текущее время Пт Май 03, 2024 1:19 am