На этом этапе участвует человек, хорошо представляющий предметную область задачи. Он должен четко определить цель задачи, дать словесное описание содержания задачи и предложить общий подход к её решению.
Второй этап – математическое или информационное моделирование.
Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована в компьютере.
Третий этап — алгоритмизация задачи.
На основе математического описания необходимо разработать алгоритм решения.
Четвертый этап – программирование.
Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер.
Составление программы обеспечивает возможность выполнения алгоритма и соответственно поставленной задачи исполнителем – компьютером.
Пятый этап — ввод программы и исходных данных в ЭВМ.
Программа и исходные данные вводятся в ЭВМ с клавиатуры с помощью редактора текстов, и для постоянного хранения осуществляется их запись на гибкий или жесткий магнитный диск.
Как ставить задачи программисту? Постановка задач технарю в деталях #tz #task #prog
Шестой этап — тестирование и отладка программы.
На этом этапе происходят выполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот часто требует гораздо больше временит и сил, чем написание первоначального текста программы..
Исходный план отладки заключается в том, чтобы оттестировать программу на контрольных примерах.
Символьный тип данных
Тип данных CHAR
Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый но мер символов называется кодом (например, код латинского символа ‘А ‘ равен 65; символа ‘3’ равен 51).
Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания. Существуют две стандартные функции преобразования:
1) ORD (C) принимает значение кода символа С;
2) значение функции CHR(I) является символ с кодом Например:ORD(‘А ‘)=65
CHR(ORD(C))=C; CHR (65) = A;
Строка — это последовательность символов. Строку можно представить как массив, элементы которого имеют тип CHАR. Например:
BUK: array[1..17] of char;
Массив BUK-массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В про тивном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.
Пример: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды.
type sl =array [1..10] of char;
writeln (‘введите 10 символов’):
for i:=1 to 10 do readln (s[i]);
Постановка задачи
for i:=1 to 10 do
writeln (‘Символ:’, s[i], ‘ его код =’, ord (s[i]);
БИЛЕТ №18
2. Сортировка числовых данных. Пример
Язык программирования Pascal получил свое название в честь выдающегося французского математика, физика, философа Блеза Паскаля (1623-1662), который изобрел механическую счетную машину для выполнения арифметических. В 1965 году Международная федерация по обработке информации (IFIP) предложила нескольким специалистам в области информатики принять участие в создании нового языка программирования. В их состав вошел швейцарский ученый Н.Вирт. Совсем скора он и его коллеги из Федерального технического университета подготовили первую версию Паскаля, затем – первый вариант компилятора, а в 1971 году вышло описание языка. В середине 80-х гг. фирмой Borland International, Inc (США) для повышения качества и скорости разработки программ была создана среда программирования Turbo Pascal, которая расширяла область применения языка и дала основу развития самого язык а программирования.
Программы, которые разрабатываются на Паскале в себя включают следующие действия: ввод и редактирование текста на языке программирования, трансляция и отладка программы. Для каждого этапа требуются специальные средства: редактор текстов, компилятор, включающий в себя компоновщик – для построения, исполняемого компьютером программного модуля и отладчик – для отладки программы. Систему программирования Турбо Паскаль называют еще интегрированной средой программирования, так как она объединяет в себе все ранее разрозненные средства, используемые при разработке программ.
Широкой популярности Паскаля способствовали следующие причины:
• Благодаря компактности, удачному первоначальному описанию язык оказался достаточно легким для изучения.
• Он отражает фундаментальные концепции алгоритмов в легко воспринимаемой форме.
• Паскаль позволяет четко реализовывать идеи структурного программирования и осуществлять переход к объектно-ориентированному программированию (язык Турбо Паскаль предоставляет программисту все средства ООП: высокую степень структурированности, модульность, абстрактность и возможность повторного использования, которые встроены непосредственно в язык).
• Язык программирования позволил перейти к системам автоматической проверки правильности программ.
Система программирования Турбо Паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Паскаль и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ. Для краткости будем в дальнейшем называть реализуемый компилятором язык программирования Паскаль – языком Турбо Паскаля, а разнообразные сервисные услуги, представляемые программной оболочкой, — средой Турбо Паскаля.
Для того чтобы запустить Турбо Паскаль необходимо открыть файл TURBO.EXE. Этот файл отвечает за запуск готовой к работе диалоговой системы программирования Турбо Паскаль. В систему входят только необходимые части Турбо Паскаля (текстовый редактор, компилятор, компоновщик, загрузчик). Для нормальной работы в системе понадобятся также основная библиотека, располагающаяся в файле TURBO.TPL, и справочная служба (файл TURBO.HLP) В принципе, этих файлов будет достаточно для написания, компиляции и исполнения небольших программ.
Сразу же скажем, что для выхода из Турбо Паскаля следует нажать клавишу Alt и, не отпуская ее, — клавишу с латинской буквой X, после чего можно отпустить обе клавиши.
Структура системы программирования Turbo Pascal:
Программный блок, состоящий из 2 разделов:
1. Раздел описаний, в котором должны быть описаны все идентификаторы, встречающиеся в программе. Он представляет собой:
список имен подключаемых библиотечных модулей (определяется зарезервированным словом uses);
определение типов данных;
описание процедур и функций;
Раздел описания начинается соответствующим каждому элементу списка служебным словом, после которого идет последовательность величин одного типа, разделенных запятой. После списка имен ставится двоеточие и указывается тип данных.
Раздел операторов.
Тема 3: Этапы создания программ.
Для проектирования программ существуют различные подходы и методы. Современный подход к проектированию основан на декомпозиции, которая, в свою очередь, основана на использовании абстракции. Целью декомпозиции является создание модулей, которые взаимодействуют друг с другом по определенным и простым правилам. Декомпозиция используется для разбиения программы на компоненты, которые затем могут быть объединены.
4.Какие принципы используются на этапе построения модели?
Дедуктивный и индуктивный.
5.На каких принципах основано структурное программирование?
Структурное программирование основано на использовании блок-схем, формируемых с помощью управляющих структурных элементов.
6.Какие базовые структурные элементы выделяют в структурном программировании?
Композиция, альтернатива, итерация.
7.Какие две формы итерации (как элемент структурного программирования) вы знаете?
- с предусловием while B do S1
- с постусловием repeat until B
8.Что собой представляет идея структурного программирования сверху-вниз?
Идея структурного программирования сверху-вниз предполагает процесс пошагового разбиения алгоритма (блок-схемы) на все более мелкие части до уровня элементарных конструкций, для которых можно составить конкретные команды.
9.Что собой представляет идея структурного программирования снизу-вверх?
Сначала разбиваем задачу на отдельные блоки с их связями между собой, затем, после их разработки, проводим сборку блоков в единую программу.
10.Что такое отладка программы?
Процесс обнаружения и исправления ошибок.
11.Какие классы программных ошибок вы знаете и когда они выявляются?
Синтаксические ошибки выявляются в процессе компилирования программы. Алгоритмические ошибки программы выявить гораздо труднее: программа работает, а результат выдает неправильный. Для обнаружения ошибок этого класса требуется этап тестирования программы.
12.Назначение тестирования программы?
Тестирование – процесс исполнения программ с целью выявления ошибок.
13.Какие способы тестирования вы знаете?
Тестирование программы как черного ящика и как белого.
14.Чем отличается стратегия «белого ящика» в тестировании от стратегии «черного ящика»?
Тестирование программы как черного ящика определяет тестирование с анализом входных данных и результатов работы программы. Критерием исчерпывающего входного тестирования является использование всех возможных наборов входных данных.
Тестирование программы как белого ящика заключается в стратегии управления логикой программы, позволяет использовать её внутреннюю структуру. Критерием выступает исчерпывающее тестирование всех маршрутов и управляющих структур программы.
Источник: studentopedia.ru
Как правильно ставить задачи программистам
Сложно переоценить важность правильно поставленной задачи.
Что дает вам хорошо поставленная задача:
- меньше вопросов от разработчика и меньше дополнительных разговоров по этому поводу
- меньше ошибок при тестировании (разработчик четко понимает что вам нужно)
- задача выполняется быстрее, т.к. вся необходимая информация уже есть в задаче, и не нужно дополнительно что-то делать для выявления деталей.
Проще написать хорошее ТЗ и затем просто контролировать выполнение заданий. Но вернемся к постановке задач программисту.
Так как правильно ставить задачи программистам?
Что должна содержать хорошо поставленная задача:
- Что будет результатом.
- Для чего нужен этот результат (это можно устно сказать разработчику, т.е. как вы собираетесь использовать результат его задачи)
- Особенности и нюансы. Что делать нельзя? Что необходимо использовать? Где могут быть подводные камни? Какие дополнительные критерии качества? (напр, поиск должен отрабатывать за 300 мс).
- Артефакты. Очень важно – укажите конкретику по задаче – URL, скрины, ссылки на документы, макеты.
- Критерии приемки. Как будет тестироваться результат?
После постановки задачи получите обратную связь от исполнителя. Причем не в формате “есть вопросы?”, а в формате “опиши своими словами что нужно сделать” или “как примерно будешь решать задачу”.
Важный момент – если вы уже давно работаете с исполнителем, то у вас обоих уже есть понимание, что ожидать друг от друга, и можно менее формально подходить к этому вопросу (во всяком случае до возникновения инцидентов). При работе с новичками обязательно запрашивать подробную обратную связь по задачам. Т.е. идите от формального подхода к неформальному, а не наоборот.
Рекомендуем посмотреть статью “Как создать регламент“, которая является нашей внутренней инструкцией.
Конечно, не так просто ставить задачи по такому алгоритму и это требует порядочно времени. В некоторых случаях это и вовсе не является необходимым (например, чтобы поправить верстку, необходимо просто указать URL и скрин ошибки).
Но все же при начальном планировании итерации очень желательно ставить задачи максимально конкретно и подробно.
Если у вас есть система автоматизации, то можно внедрять показатели качества постановки задач (по аналогии с объявлениями Яндекс Директ). У каждого это будут свои критерии постановки. Также можно просить исполнителей ставить оценку за постановку задачи.
А сейчас посмотрите свои последние 3 поставленных задачи и оцените насколько полно вы их сформулировали.
Если вы еще обдумываете кандидатуру сотрудника, рекомендуем прочитать нашу статью о том, как выбрать программиста.
Опубликовано в Менеджмент проектов, Старт проекта Меткой Задачи, Заказчик, Управление проектом
- Демонстрация компонентов Falcon Space
- Смотреть демо веб-платформы Falcon Space
- Подпишись на наш видеоканал в Youtube
Источник: web-automation.ru