Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 48

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 48 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 482019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 48)

Как правило, значение, возвращаемое методом маъп ( ), указывает иа нормальное завершеиие программы или же аварийное ее завершение из-за сложившихся ненормальных условий выполнения. Условно пулевое возвращаемое значение обычно указывает иа нормальное завершение программы, а все остальные значения обозначают тип возникшей ошибки. Передача аргументов методу махп () Многие программы принимают так называемые аргуменшьт командной плроюг, т.е. ииформацию, которая указывается в командной строке непосредственно после имени программы при ее запуске иа выполнение. В программах иа С() такие аргументы передаются затем методу Маъп () .

Для получения аргументов служит одна из приведенных ниже форм метода Ма].п () . всасгс нога Ма1в(всг1вп( ] агдв) всас1с гвс Ма1в(всг1вд( ] агпв) В первой форме метод ма1о () возвращает значение типа чо1г(, а во второй — целое значение, как пояснялось выше.

Но в обеих формах аргументы командной строки сохраияются в виде символьных строк в массиве типа зсгъпд, который передается методу Глава 8. Подробнее о методах и классах 241 Мафп () . Длина этого массива (агав) должна быть равна числу аргументов командной строки, которое может быть и нулевым. В качестве примера ниже приведена программа, выводящая все аргументы командной строки, вместе с которыми она вызывается. // Вывести все аргументы командной строки.

ня1пс Яузсешт с1аяя Сьоешо ( зсасфс чохе Ма1п(згг1пп[] агся) ( Сопзо1е.нгфгеьапе("Командная строка содержит " т агдз.ьепдГП + " аргумента."); Сопзо1е.нгасеььпе("Вот они: "); Гог(1пс 1 0; 1 < агся.ьепьсн) 1++) Сопяо1е.нг1сеььпе(атея[1])т Если программа СЕПешо запускается из командной строки следующим образом: СХЮено один два ври то ее выполнение дает такой результат: Командная строка содержит 3 аргумента.

Вот они: один два три Для того чтобы стало понятнее, каким образом используются аргументы командной строки, рассмотрим еще один пример программы, в которой используется простой подстановочиый шифр для шифровки или расшифровки сообщений. Шифруемое или расшифровываемое сообщение указывается в командной строке.

Используемый шифр действует довольно просто. Для шифровки слова значение каждой его буквы инкрементируется на 1. Следовательно, Буква "А" становится буквой "Б" и т.д. А для расшифровки слова значение каждой его буквы декрементируется на 1. Разумеется, такой шифр не имеет никакой практической ценности, поскольку его нетрудно разгадать. Тем не менее он может стать приятным развлечением для детей. // Зашифровать и расшифровать соседение, используя // простой подстановочный шифр. пагод Яуясешт с1аяя С1роег ( згаггс 1пг магп(ягггпя[] агчз) ( // Проверить наличие аргументов.

1Г(агпя.ьепсгн < 2) ( Сопяо1е.нггсепхпе("ПРИМЕНЕНИЕ: "слово1: <зашифровать>/<расшифровать> " + 242 часть (. язык сз "[слозо2... слозои]")т гегигп 1) // возвратить код неудачного завершения программы // Если аргументы присутствуют, то первым // аргументом должно быть слово <зашифровать> // или <расшифровать>. 11(агпз[0) != "зашифровать" ь агдз[0] != "расшифровать") ( Сопзо1е.Игзсеввпе("Первьак аргументом должно быть слово " + "<зашифровать> ипи <расшифровать>."); гегигп 1) // возвратить код неудачного завершения программы ) // Зашифровать или расшифровать сообщение.

Гог(1пс п=1т и < агдз.ьепдсвт пьь) ( гог(1пг 1=От 1 < агцз[п].ьепдгьт Ьь+) ( 10(агчз[0] = "зашифровать") Сопзо1е.Игьге((сваг) (агдз[п][].] + 1) ); е1зе сопзо1е.игзге((сьаг) (агцз[п][1] — 1) )т ) Сопзо1е.Иггсе(" ")) ) Сопзо1е. ИггсеЬ1пе (); гегпгп От ) ) Для того чтобы воспользоваться этой программой, укажите в командной строке имя программы, затем командное слово "зашифровать" или "расшифровать" и далее сообщение, которое требуется зашифровать или расшифровать. Ниже приведены два примера выполнения данной программы, при условии, что она называется С1р)тег.

С т'ьс1риег зашифровать один два пейо егб Ст1С1рнег расшифровать пейо егб один два Данная программа отличается двумя интересными свойствами. Во-первых, обратите внимание на то, как в ней проверяется наличие аргументов командной строки перед тем, как продолжить выполнение. Это очень важное свойство, которое можно обобшить. Если в программе принимается во внимание наличие одного или более аргументов командной строки, то в ней должна быть непременно организована проверка факта передачи ей предполагаемых аргументов, иначе программа будет работать неправильно.

Кроме того, в программе должна быть организована проверка самих аргументов перед тем, как продолжить выполнение. Так, в рассматриваемой здесь программе проверяется наличие командного слова "зашифровать" или "расшифровать" в качестве первого аргумента командной строки. Глава 8. Подробнее о методах н классах 243 И во-вторых, обратите внимание на то, как программа возвращает код своего завершения. Если предполагаемые аргументы командной строки отсутствуют или указаны неправильно, программа возвращает код 1, указывающий на ее аварийное завершение.

В противном случае возвращается код О, когда программа завершается нормально. Рекурсия В языке С№ допускается, чтобы метод вызывал самого себя. Этот процесс называется рекурсией, а метод, вызывающий самого себя, — рекурсивным. Вообще, рекурсия представляет собой процесс, в ходе которого нечто определяет самое себя. В этом отношении она чем-то напоминает циклическое определение. Рекурсивный метод отличается главным образом тем, что он содержит оператор, в котором этот метод вызывает самого себя.

Рекурсия является эффективным механизмом управления программой. Классическим примером рекурсии служит вычисление факториала числа. Факториал числа М представляет собой произведение всех целых чисел от 1 до И. Например, факториал числа 3 равен 1к2кЗ, или 6. В приведенном ниже примере программы демонстрируется. рекурсивный способ вычисления факториала числа. Для сравнения в эту программу включен также нерекурсивный вариант вычисления факториала числа.

// Простой пример рекурсии. из1пи Яуякеаи с1аяя Гаскотха1 ( // Это рекурсивный метод. риьттс Ьпс раста(тпс и) ( Ьпк хези1С; ЬГ(п==1) гекитп 1; тези1С = Газка(п-1) * и) текитп кззи1ст ) // Это итерационный метод. рип11с Ьпк Гаск1(1пк и) ( 1пи С, геяи1кт тези1С = 1; сот(С=1) С <= и; С+т) тези1С *= С) гевикп теяи1кт ) ) с1аяя йесикзтоп ( якакес иовп Мвтп() ( Гаскотта1 Г = пен Гаскотва1()т Сопяо1е.нх1кеЬ1пе("'Факторизлы, рассчитанные рекурсивным методом.") Сопяо1е.нк1сеЬ1пе("Факториал числа 3 равен " т Г.Гасив(3))т 244 часть (.

язык сз Сопао1е.Ик1сеььпе("Факториал числа 4 равен " + Г.Гаскк(4))т Сопво1е.игккеиьпе("Факториал числа 5 равен " + й.гапки(5)); Сопво1е.икькевьпе()т Сопво1е.игьсеигпе("Факториалы, рассчитанные итерационным методом."); Сопво1е.иг1кеи1пе("Факториал числа 3 равен " + й.гаскк(3)); Сопзо1е.Икькеиьпе("Факториал числа 4 равен " + Г.гасеп(4))> Сопзо1е.нк1сеььпе("Факториал числа 5 равен " ь й.гаека(5))к ) ) При выполнении этой программы получается следующий результат: Факториалы, рассчитанные рекурсивным методом. Факториал числа 3 равен б Факториал числа 4 равен 24 Факториал числа 5 равен 120 Факториалы, рассчитанные итерационньм методом. Факториал числа 3 равен б Факториал числа 4 равен 24 Факториал числа 5 равен 120 Принцип действия нерекурсивного метода Гасе1() вполне очевиден.

В нем используется цикл, в котором числа, начиная с 1, последовательно умножаются друг на друга, постепенно образуя произведение, дающее факториал. А рекурсивный метод Гасгп () действует по более сложному принципу. Если метод Гассн () вызывается с аргументом 1, то он возвращает значение 1. В противном случае он возвращает произведение расеи (и-1) *и. Для вычисления этого произведения метод расеи () вызывается с аргументом п-1. Этот процесс повторяется до тех пор, пока значение аргумента и не станет равным 1, после чего из предыдущих вызовов данного метода начнут возвращаться полученные значения. Например, когда вычисляется факториал числа 2, то при'первом вызове метода Гасан () происходит второй его вызов с аргументом 1. Из этого вызова возвращается значение 1, которое затем умножается на 2 (первоначальное значение аргумента п).

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее