[an error occurred while processing this directive]
Проектирование прог...(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено TimattU 12 января 2006 г. 09:04

Задолбалось писать алгоритмы. Ибо инструменты более чем незаточенные: плохо оптимящий С компилер для 56F8323, да ещё и язык программирования "С" к хорошим языкам не отнесёшь... Методика инициализации структур оставляет желать лучшего, особенно для больших... да и вообще написание программ с помощью метода блок схема-> язык программирования достаточно муторна. Есть ли шаблоны проектрования, позволяющие писать алгоритмы пусть хоть и не оптимальные сначала, но работающие, исходя из предложений.
Вот например. Зажечь светодиод спустя 3 сек после пропадания напряжения. Что нужно сделать? С чего начать?
Методика вроде бы проста: глаголы заменяем действиями над переменными , а существительные - переменными (состояние, ячейка памяти, триггер, защёлка...). Но как формализовать время?
Можно поступать тупо, пословно анализируя предложение:

Зажечь светодиод: действие: результат: да/нет (горит/не горит)
Условие: прошло 3 сек.
пишем кусочек проги для действия:
если время>3 сек то
зажечь
иначе
ничего не делать (имеено сдесь кроются ежи: в задаче сказано не потошить, а просто, зажечь)
Далее пишем кусочек кода для время:
время<=время+1
для любого x=x+1 надо ввести начальное условие (обязательно ли для проектрирования?):
таймер (функция callback)(
время=0 - статическая переменная (кто бы знал!)
если время++>3 то
зажечь
иначе
пропустить
)
следующий этап: добавка условия про напряжение:
таймер (функция callback)(
время=0 - статическая переменная
если напряжение = 0 то
если время++>3 то
зажечь
иначе
пропустить
иначе
пропустить
)
вроде бы и всё.

Вообщем как правильно писать предложения на русском чтобы по нему можно было сразу написать программу. Как правильно писать спецификации на алгоритмы, чтобы не париться. Можт вообще составить скрипт на Perl, который переводит спецификациию с русского на C :) (так, из области фантастики)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru