Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 65

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 65 страницаИскусство программирования на Си (984073) страница 652015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Однако если требуется получить данные автома(НехгбврегВуее + 1)), ТТ(мевсар(агдт[1), "-с', 2) == О) сможем автоматизировать, по крайней мере, некоторые тически, но в то же время с некоторыми улучшениями задачи, связанные с тестированием, то можно сохранить (гаожно добавить несколько специальных тестов, котоНехгсврегвусе, Р11еваведгд = 2; много времени и работа будет не так скучна. рые не производит наш генератор, отрслактировать сгдовоьагв = (в1хе Е)всгсои1(агфа[1) + 2, Один из аспектов тестирования, который относит- шествующие тесты и т. п.), то нужно просто загрузить По вполне очевидным причинам мы не хотим вывоВвацРо1всег, 10); ся к автоматизации, — это генерирование тестовых файл в крупноформатную таблицу, на месте отредакти- лить непечатаемые символы.

Общее соглашение состо- (контрольных) данных. Подумайте, насколько ввод тс- ровать его и заново сохранить. Если же под рукой нет ит в отображении на их местах некоторых других сим- При преобразовании из строкового в цифровой фор- стовых данных может быть раздражающе долгим и уто- полхолящей крупноформатной таблицы, то для быст- волов, вроде точки ',', поэтому сделайте это тоже. мат всегда используйте семейство функций в(г(ох: мительным. Можно ли сэкономить немного времени на рой очистки данных можно использовать текстовый рсвцчод(), з(г(о!О, в(гоп[() и т.д.. Они дают намного боль- наборс данных на клавиатуре? Если мы сможем нани- дактор (хотя это нс так просто, поскольку текстовый регт (! 1арггое (Техемоввег [Твхадуее) ) ) ( шс информации о преобразовании, чем а(о[О или агог().

сать программу, которая продумывает вместо нас тес- лактор вряд ли расположит данные в форме таблицы). ТахеВи(уег[ТЬТвВусе[ 8 частности, они сообщают, каким был первый символ, товые ланныс, то можно значительно сэкономить вре- Друтос прсик~ушсство считывания файлов тестовых который нельзя преобразовать.

мя, которое тратится на рутинные процессы, данных в формате крупноформатной таблицы заключа) гг (еоцвохвьег а*да [1] + 2 [ ( момсьаге < 1) ется в том, что дчя проверки результатов леожно испольНаПИСаНИЕ ВСПОМОГатЕЛЬНЫХ ПРИЛОжЕНИй зоватьвозможностилюбойсовременнойпрограммытабТехЕВсгуег[ТЫвВусе) ' 10'; д[)я урпИРО[)йКИ[[ личных вычислений. Мы создаем файлы в формате СаЧ Доналнитееьиые тематинеские раэдоьы Соьданненусараимныкннструментиььныксаедсть Я(ПГ$ Часть )й Глава 20 ИМВЙИ грамму, она, конечно, поможет при тестировании.

Если говоря, не так. Случайныс числа дают действительно ких букв). Если ваша система использует АБС!1, то мож- ясгасс Еа ьрд) жс нет, то нужно разработать программу для поиска нс случайные данные. Это конечно хорошо, но тоже сая- но получить случайную букву алфавита с использован)ае Е ГИяаес) более чем одной проблемы за один сс тестовый прогон. зано с проблемами. Что, если позже потребуется пере- нием простого выражения, такого как ВавьПаг(26)+'А'.

строить файл с теми жс ланными, что и в прошлый раз? В ПРОТИВНОМ СЛУЧаЕ РабОтайтЕ На СнетеМЕ, КОтОРаЯ ИС- дае е щ е е. (двьь). Разработка тестовых данных В языке С значения, которые дает фунлция галс)О, пользует другис (например, ЕВСТ))С). Указанная здесь основываются на начальной величине, которая запуска- технология применяется для всех коловых таблиц (но рд = 1оса1есае(ьдаее е)ае е); При написании генераторов тестовых данных требуег- 11(рд )м дВЬЬ) ся выяснить вес полезные критерии для таких данных.

ез внутреннюю реализацию какого-нибудь алгоритма нс во всех языках; для простоты используйтс обычный - и дь ). В основном треб>стоя проверить их на ошибки заниже- генерирования псевдослучайных чисел. Начальную вс2б-буквенный английский алфавит). аепсру(власе, рд, а)аеоГ с)асе)) ния, переполнения, деления на нуль и т.п. В то жс врс- личину можно выбрать самостоятельно и просто пере- Чтобы ввод исходных данных сделать нагляднее и ) мя выполнение заурядного теста, на данных которого дать ее ф>нкции згапйн.

Есяи передается постоянное пРошс, можно залать паРУ массивов длЯ хРансниЯ лвУх азам элементов типичного названия компании. Реальная рспрограмма работает нормально, говорит о том, что вы з ачснис, т вы всегда пол>чите от этой ф>нкции тот Чего действительно нужно избегать — так это гснеализация программы, возможно, будет считывать лан-не против свилан, я, но,нить..

нс хотите Вес,аки жс самый Рсз>льтат. Е'и вместо этого пеРеДаетсЯ . У- рирования непреднамеренно плохих тестовых данных. ные из файла, и они будут иметь сравнительно более стоит потратить немного времени на то, чтобы сделать При обрашснии к ф>нкции )осавппе() нет никаких ганыс сзультаты. (Как можно пол чить сл чайное зна- широкий диапазон. Технология при этом остается той тестовые ланные более полными, и удостовериться.

что рантий, что мы получим правильную дату. Следует нкции вгавь)сгь Очень п сто. жс — мы комбинируем лва этих элемента наугал лля учесть это и установить альтернативную дату. Выберем згапб 1)пю()ь)Н.Е)).) пол>чения нормального разброса названий компаний. Автоматические генераторы тестов лучше использо- 1 января 2000 гола как основн>ю дату для пспользовавать для ординарных случаев, но сели вам повезет, то Основнои механизм длЯ пРимеРа генеРатоРа тсстоьпе пепахаеапаеа(гзье ьер, инхп е иахааса) ния в экстренной ситуации. Но в обычных случаях бувых данных передаст дем использовать телушую дату. Линден~ ~еннниетенитичесннеринл ~и Создание нриграммнч инструмтенаеннч» средств Часть и! Глава 20 (ргрзс(((р, Как видите, процесс создания инструмента авзоча- данные; он не использует какие-нибуль входные лан- В обоих описанных случаях автоматизация програм- ' $ . 2 Г 'л з ', тичсского генерирования тестовых данных очень про- ные лля определения своих лсйствий.

Но вель нам трс- мирования позволила значительно сэкономить время и (1 (Нзздвпз ! * 5000.0) — 2250.0); сто, несмотря на возникающие иногда препятствия (та- буется генерировать полезный код. Если результат все- усилия. Кроме того, в обоих этих случаях генератор (Г(язпд1вс(2) =-. О) кис, как проблеча с данныл!и). А теперь обратич гда один и тот же, то генератор кода не потребуется; кода считывал исходный код так, что он выполнял свою внимание на кое-что более серьезное! проше будет самому написать необходимую программу. работу. Такая операция называется сиеазаксаческам раз- Нерсдко генераторы кода используются для написа- бором, и поскольку она уже подробно рассматривалась Периодически пату нужно изл!снять.

Выберем увсГенераторы кода ния готовых програл!ч. Они решают одну из самых по- в главе )9, здесь мы нс будем повторяться. личение латы на ! на основе результата подбрасыванпл вторяющихся проблем либо в самой программе, лиГю в В связи с тем, что требуется написать синтаксичесчоне™ (Капп)п((2) — О), но, если лотитс, можете на- Если автоматизировать производство, по краиней чсрс, большой коллекции программ. Позвольте привести при- кий анализатор кзк часть приложения генерирования мер. Несколько лет назад я работал над большим меж- кода, мы хотели бы, насколько это возможно, сохрзвп'!ьностн ~~п"Ро~па~~ ~ соРг!"Розки сто'!Нть тзк' то ь! номнть л!но!о времени. Кроче того, написание зснера- платформенным проектом, который разрабатывался лля нить свою работу по синтаксическому разбору для буторов кола — зто один из наиболее увлекательных ас- использования в средах М(сгозой %(пболчз (версия 3.), дущего.

Поэтому давайте разработаем синтаксический если вы еше помните) и МлеБ (майнфреймовская опе- анализатор лля программы, которая будет произволить довольно иьпсресна, поточу что она позволяет исполь- рационная система). Программа должна была иметь прогрзмму синтаксического разбора. Надеюсь, это не зовзть функ!!инз п!Н()псе(), которая рзссл!атривж!ась в КВ(4Нц возможность разделения на два мопуля: мопуль досту- звучит стишком запутанно! Позвольте объяснить.

главе 4 Эта функция конвертирует мп!с! (гп в перечсн- па к базе данных и расчетный модуль. Мы написали и Когда я начинаю писать программу, то первый шаг Прошс всего объяснить, п.о такое генераторы кода, ную (нпе (, которая имеет очсвнлный сл!ысл. Интерес- р отладили расчетный код (но не модуль базы данных) на делаю почти автоматически. Мои пальцы, как говорит- но то, что при конвертировании функция ш)с((пзс() уноможно с использованием понятия квин (но это нс озна- РС, но его нужно было проверить на мэйнфреймовской ся, сами набирают нужные символы: рндочнноет пзнныс, сзеловательно, нач это делать нс ' ' Р ' ' .

Р- част, что квин проще всего написать). Квин — это про- машине, на которой отлалочные возможности были грамма, которая генерирует собственный исхолный коп $1псзпав <вс61о.ь> ЕИ Дола ааалеььнме те натннесннер >дель Со>дание лраграммнмг инструмент ш ьнмг средств ь Часть Гй Глава <О но интснсивныи процесс. И в-третьнх, страница лять Так как переключатели довольно полезны, доба- телсй является несколько ограниченной, но, в кон- Листинг 20.6, Простая программа, производящая шапрайс (из локуыентзции (ЛЧ)Х) для функции Ве)орц) вим также возможность работы с просп<ми (включить/ це концов.

мы жс хотим все упростить. синтаксический разбор. на моеи Ешпх-системс во входе Впав сообшает: "Эта выключить) переключателями ° Ьвг Е означает, что параметр Ьаг имеет тип !опе ш( 41а<1аде <а101о.а> шзпраес-страница перепутана". Ну вот, пожалуй, и вес. Вот пример грамматики в приближенной Форме Вэи он обязателен. (Только переключатели нс обязаНст, то, что дсиствитсльно требуется — это програм- кусз — Наура (Васйоз-)чанг Еогш): 11вс1аае <вггьа9.Ь> тельны.) ма, которая сама будет писать биты командной строки Ф(ас1аде <аааеге.а> 1а111в; мое)1 программы ьь позволит лег«о р~б~тать со всеми ° Ьвг П означает, что Ьаг — это тип бонйс. врес1 гег $1ае1аде 0111ве.в' у«аззнными пользователем данными.

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

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

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее