Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла " 2.1.doc" (без форматирования) Министерство образования и науки, молодежи и спорта Украины ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Институт радиоэлектроники и телекоммуникаций Кафедра информационной безопасности ЛАБОРАТОРНАЯ РАБОТА №2 по дисциплине Архитектура вычислительных систем Работа с массивами Разработал студент гр. PБ-081 _________________ Буряк В.Д. “___” ____________ 2011 г. Проверил работу ___________ Сафронов А.С. “___” ____________ 2011 г. Одесса 2011 Цель работы Научится основным приемам работы с массивами на языке Perl. Изучить команды и функции, которые применяются наиболее часто при работе с массивами. Выполнение лабораторной работы Задать массив из строк. Не менее 8 элементов. Задать массив из чисел. Не менее 8 элементов. Объединить их в один. Числа – строки. Определить размер полученного массива. Обратиться к его первому элементу. Перезаписать один из элементов посередине. Поменять местами первый и второй элемент. Записать в последний элемент значение предпоследнего. Удалить последний элемент. Очистить массив из пункта 4. Объединить массивы из пункта 1 и 2, чередуя элементы. Задать массив чисел, применяя операцию ... Задать произвольный массив, что состоит из чисел, строк, переменных, массивов, операций … Определить позиции половины строк массива из пункта 1, что самые длинные и записать их в отдельный массив. Определить позиции половины наименьших чисел. Используя данный массив, считайте из массива строки с соответствующих позиций в новый массив. Изучить функции ввода и удаления элемента массива слева и справа, а так же функции сортировки и реверса. Исходный код #!/usr/bin/perl print "1. Задаем массив из строк\n"; $line[0]="Вова"; $line[1]="Влад"; $line[2]="Женя"; $line[3]="Дима"; $line[4]="Перчик"; $line[5]="Витя"; $line[6]="Слава"; $line[7]="Серый"; print "@line"; print "\n"; print '-' x 50; print "\n"; print "2. Задаем массив из чисел\n"; $number[0]="0"; $number[1]="1"; $number[2]="2"; $number[3]="3"; $number[4]="4"; $number[5]="5"; $number[6]="6"; $number[7]="7"; print "@number"; print "\n"; print '-' x 50; print "\n"; print "3. Объединим массивы в один\n"; @vmeste=(@number, @line); print "@vmeste"; print "\n"; print '-' x 50; print "\n"; print "4. Определим размер нового массива\n"; print "$#vmeste"."\n"; print "Значит размер нового массива равен 16\n"; print "Обратимся к его первому элементу\n"; print "$vmeste[0]"."\n"; print "Перезапишем один из элементов в середине массива\n"; $vmeste[9]="Букер"; print "@vmeste\n"; print "Поменяем местами первый и второй элементы массива\n"; print "Первый элемент - "."$vmeste[0]\n"; print "Последний элемент - "."$vmeste[1]\n"; ($vmeste[0],$vmeste[1])=($vmeste[1],$vmeste[0]); print "@vmeste"."\n"; print "Запишем в последний элемент значение предпоследнего\n"; print "$vmeste[-1]"."\n"; print "$vmeste[-2]"."\n"; $vmeste[-1]=$vmeste[-2]; print "@vmeste"."\n"; print "Удалим последний элемент\n"; $vmeste[-1]=""; print "@vmeste"; print "\n"; print '-' x 50; print "\n"; print "5. Очистим массив из пункта 4\n"; print "@vmeste"."\n"; @vmeste=(); print "@vmeste"; print "\n"; print '-' x 50; print "\n"; print "6. Объединим массивы из пунктов 1 и 2 чередуя элементы\n"; @shift=($number[0],$line[0],$number[1],$line[1],$number[2],$line[2] ,$number[3],$line[3],$number[4],$line[4],$number[5],$line[5],$number[6],$line[6],$number[7],$line[7]); print "@shift"; print "\n"; print '-' x 50; print "\n"; print "7. Зададим массив чисел, применяя операцию ..\n"; @fun=(1..10); print "@fun"; print "\n"; print '-' x 50; print "\n"; print "8. Зададим произвольный массив\n"; $a=1488; @new=(500/10, " архитектура ","33 ", "@number ", "$a ", "@line ", $a-88); print @new; print "\n"; print '-' x 50; print "\n"; print "9. Определим позиции самых длинных строк массива п.1 и запишем их отдельно\n"; $k1=0; $z=0; @dlinu=''; $max=(length($line[0])+length($line[1])+length($line[2])+length($line[3])+length($line[4])+length($line[5])+length($line[6])+length($line[7]))/8; while($k1!=8) { if(length($line[$k1]) >= $max) { $dlinu[$z]=$k1; $z++; } $k1++; } print @dlinu; print "\n"; print '-' x 50; print "\n"; print "10. Определим позиции половины наименьших чисел \n"; $k3=0; $z3=0; @dlinu3=''; $max3=($number[0]+$number[1]+$number[2]+$number[3]+$number[4]+$number[5]+$number[6]+$number[7])/8; while($k3!=8) { if($number[$k3]<=$max3) { $dlinu3[$z3]=$k3; $z3++; } $k3++; } print @dlinu3; print "\n"; print '-' x 50; print "\n"; print "11. Cчитаем строки из соответствующих позиций в новый массив"; $Z=0; @force=''; while ($Z!= 4) { $force[$Z] = $line[$dlinu3[$Z]]; $Z++ } print "\n"; print @force; print "\n"; print '-' x 50; print "\n"; print "12. Опробовать различные команды\n"; print "а) Удаление елемента массива справа\n"; print "@line\n"; pop @line; print "@line\n"; print "б) Удаление елемента массива слева\n"; print "@line\n"; shift @line; print "@line\n"; print "в) Реверс массива\n"; print "@line\n"; @line=reverse(@line); print "@line\n"; print "г) Сортировка массива\n"; @new=(1,5,7,0,3,8,2,4,3,6); print "@new\n"; @new=sort(@new); print "@new\n"; Результат на экран 1. Задаем массив из строк Вова Влад Женя Дима Перчик Витя Слава Серый -------------------------------------------------- 2. Задаем массив из чисел 0 1 2 3 4 5 6 7 -------------------------------------------------- 3. Объединим массивы в один 0 1 2 3 4 5 6 7 Вова Влад Женя Дима Перчик Витя Слава Серый -------------------------------------------------- 4. Определим размер нового массива 15 Значит размер нового массива равен 16 Обратимся к его первому элементу 0 Перезапишем один из элементов в середине массива 0 1 2 3 4 5 6 7 Вова Букер Женя Дима Перчик Витя Слава Серый Поменяем местами первый и второй элементы массива Первый элемент - 0 Последний элемент - 1 1 0 2 3 4 5 6 7 Вова Букер Женя Дима Перчик Витя Слава Серый Запишем в последний элемент значение предпоследнего Серый Слава 1 0 2 3 4 5 6 7 Вова Букер Женя Дима Перчик Витя Слава Слава Удалим последний элемент 1 0 2 3 4 5 6 7 Вова Букер Женя Дима Перчик Витя Слава -------------------------------------------------- 5. Очистим массив из пункта 4 1 0 2 3 4 5 6 7 Вова Букер Женя Дима Перчик Витя Слава -------------------------------------------------- 6. Объединим массивы из пунктов 1 и 2 чередуя элементы 0 Вова 1 Влад 2 Женя 3 Дима 4 Перчик 5 Витя 6 Слава 7 Серый -------------------------------------------------- 7. Зададим массив чисел, применяя операцию .. 1 2 3 4 5 6 7 8 9 10 -------------------------------------------------- 8. Зададим произвольный массив 50 архитектура 33 0 1 2 3 4 5 6 7 1488 Вова Влад Женя Дима Перчик Витя Слава Серый 1400 -------------------------------------------------- 9. Определим позиции самых длинных строк массива п.1 и запишем их отдельно 467 -------------------------------------------------- 10. Определим позиции половины наименьших чисел 0123 -------------------------------------------------- 11. Cчитаем строки из соответствующих позиций в новый массив ВоваВладЖеняДима -------------------------------------------------- 12. Опробовать различные команды а) Удаление елемента массива справа Вова Влад Женя Дима Перчик Витя Слава Серый Вова Влад Женя Дима Перчик Витя Слава б) Удаление елемента массива слева Вова Влад Женя Дима Перчик Витя Слава Влад Женя Дима Перчик Витя Слава в) Реверс массива Влад Женя Дима Перчик Витя Слава Слава Витя Перчик Дима Женя Влад г) Сортировка массива 1 5 7 0 3 8 2 4 3 6 0 1 2 3 3 4 5 6 7 8 Вывод ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ |
Посетителей: 1, из них зарегестрированных: 0, гостей: 1 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0749 сек. |