Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла " 3 .doc" (без форматирования) Министерство образования и науки, молодежи и спорта Украины ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Институт радиоэлектроники и телекоммуникаций Кафедра информационной безопасности ЛАБОРАТОРНАЯ РАБОТА №3 по дисциплине Архитектура вычислительных систем Работа с ассоциативными массивами (хэшами) Разработал студент гр. PБ-081 _________________ Буряк В.Д. “___” ____________ 2011 г. Проверил работу ___________ Сафронов А.С. “___” ____________ 2011 г. Одесса 2011 Цель работы Научится основным приемам работы с ассоциативными массивами на языке Perl. Изучить команды и функции, которые применяются наиболее часто при работе с хэшами. Выполнение лабораторной работы Задать хэш. Не менее 8 пар элементов. Добавить в хэш из п.1 еще элементов. Задать второй хэш. Его некоторые ключи и значения должны совпадать с хэшем из п.2. Задать третий хэш, состоящий из двух предыдущих. Проверить совпадение элементов-ключей. Преобразуйте хэш в массив и снова в хэш. Получите отдельно массив ключей и значений. Поменяйте местами ключи и значения в хэше. Удалите из хэша п.3 первый, третий и последний элементы. Узнайте получившийся размер. Сохраните один из хэшей на диске. Считайте хэш из файла и выведите его на экран. Удалите хэш из памяти. Исходный код 1. Задать хэш. Не менее 8 пар элементов. $D=12+10-34+38; %Hesh=('c'," Вова ",20," Влад ",$D," Коля ",'d'," Букер ",10," Китайцы "); print %Hesh; print "\n"; $A=33; %Hesh=('a'," Slovo ",11," Slovo1 ",$A," Slovo2 ",'A'," Slovo3 ",22," Slovo3 "); print %Hesh; print "\n"; 2. Добавить в хэш из п.1 еще элементов. %Hesh1=(%Hesh, 'b'," Slovo5 ",1," Slovo6 "); print %Hesh1; print "\n"; 3. Задать второй хэш. Его некоторые ключи и значения должны совпадать с хэшем из п.2. %Hesh2=('a'," Slovo11 ",21," Slovo1 ",$A," Slovo2 ",'c'," Slovo31 ",45," Slovo51 ",'m'," Slovo61 ",'z'," Slovo71 "); print %Hesh2; print "\n"; 4. Задать третий хэш, состоящий из двух предыдущих. Проверить совпадение элементов-ключей. %Hesh3=(%Hesh1,%Hesh2); while (($keys, $value)=each(%Hesh3)) {print "$keys=>$value\n";} print "\n"; %Hesh3=(%Hesh1,%Hesh2); while (($keys, $value)=each(%Hesh3)) {print "$keys=>$value\n";} 5. Преобразуйте хэш в массив и снова в хэш. @Mass=%Hesh; print %Hesh; print "\n"; %Hesh=@Mass; print @Mass; print "\n"; 6. Получите отдельно массив ключей и значений. @K=keys %Hesh1; @V=values %Hesh1; print "Keys:",@K,"\n"; print "Value:",@V; print "\n"; 7. Поменяйте местами ключи и значения в хэше. %Hesh=reverse %Hesh; print %Hesh; print "\n"; 8. Удалите из хэша п.3 первый, третий и последний элементы. Узнайте получившийся размер. my @Key=keys(%Hesh); my @number=("0", "2", "-1", "-2"); foreach (@number) {delete($Hesh{$Key[$_]});} while (($keys, $value)=each(%Hesh)) {print "$keys=>$value";} print "\n"; $Z=keys(%Hesh); print "Размер хэша равен ",$Z; print "\n"; 9. Сохраните один из хэшей на диске. print "Сохранено, ок?\n"; %hash=('a'," Кик ",'b'," Ап ",'c'," Крутка ",'d'," Морда ",'e'," Геп "); my $i=0; open (WRITE_HASH, ">C:\\my_file.txt") or die $!; foreach (keys %hash) { $i++; print WRITE_HASH "$i\t$_\t$hash{$_}\n"; } close(WRITE_HASH) or die $!; 10. Считайте хэш из файла и выведите его на экран. %hash=(); open(READ_HASH, " Результат на экран 1. A Slovo 22 Slovo4 A Slovo3 33 Slovo2 11 Slovo1 2. A Slovo 22 Slovo4 A Slovo3 33 Slovo2 1 Slovo6 b Slovo5 11 Slovo1 3. m Slovo71 a Slovo11 45 Slovo51 g Slovo61 33 Slovo2 c Slovo31 21 Slovo1 4. g=> Slovo71 a=> Slovo11 45=> Slovo51 g=> Slovo61 33=> Slovo2 c=> Slovo31 21=> Slovo1 10=> Китайцы z=> Геннадий 133=> ТВП f=> Йетти 100500=> Галич w=> ТВП 476=> Япошки x=> Школьник d=> Букер 26=> Коля 20=> Влад c=> Буряк 10=> Китайцы z=> Геннадий f=> Йетти 133=> ТВП 100500=> Галич 5. c Вова 10 Китайцы d Букер 26 Коля 20 Влад c Вова 10 Китайцы d Букер 26 Коля 20 Влад 6. Keys:c26d10133f20 Value: Вова Коля Букер Китайцы ТВП Йетти Влад 7. Вова c Букер d Коля 26 Китайцы 10 Влад 20 8. Букер =>d Размер хэша равен 1 9. Сохранено, ок? 10. Ключ 1 e Геп => Значение Ключ 2 c Крутка => Значение Ключ 5 d Морда => Значение Ключ 4 b Ап => Значение Ключ 3 a Кик => Значение |
Посетителей: 2, из них зарегестрированных: 0, гостей: 2 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0641 сек. |