Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 2
1

Реализовать задержку сигнала на 10 тактов

11.07.2013, 21:20. Просмотров 1774. Ответов 10
Метки нет (Все метки)

реализовать задержку сигнала на 10 тактов(шагов цикла) для функции y=x, с использованием массива из 10 элементов в качестве стека для хранения промежуточных данных функции с задержкой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2013, 21:20
Ответы с готовыми решениями:

Рассчитать задержку распространения сигнала и задержку передачи данных
Здравствуйте. Рассчитайте задержку распространения сигнала и задержку передачи данных для...

Как реализовать задержку
Привет! Есть вот такой код: #ymstude "stm32f10x.h" // Device header void...

Как реализовать задержку включения?
Всем добрый день! Прошу вашей помощи, т.к. в электронике я далеко не специалист. Имеется некое...

Как реализовать задержку звука?
С помощью DirectSound или как еще?

10
Почетный модератор
Эксперт С++
5836 / 2843 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
12.07.2013, 08:48 2
Цикл - ладно, стек - ладно, но о каком сигнале идет речь?
0
Эксперт С++
1884 / 1232 / 354
Регистрация: 16.05.2013
Сообщений: 3,231
Записей в блоге: 6
12.07.2013, 08:50 3
SatanaXIII, наверное имеется ввиду '\a'.
0
Почетный модератор
Эксперт С++
5836 / 2843 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
12.07.2013, 10:14 4
Аааа! Я ничего не понимаю. Это похоже на задание на каких-нибудь вступительных экзаменах, когда само задание делать три минуты, а вкуривать условие год.

У нас есть функция - y, которая равна значению некоторой переменной (константе? (или это так записано, что функция может делать что угодно?)). В цикле происходит обращение к этой функции, и она возвращает значения, которые записываются в темповый массив. Десять итераций цикла и десять же элементов массива. Ладно, есть связь. Задержка сигнала на десять итераций, - то есть пока идут десять итераций, выдавать сигнал. Хорошо. ...Но что это за бред?! Чего надо сделать-то?
0
1089 / 587 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.07.2013, 10:27 5
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Но что это за бред?! Чего надо сделать-то?
если без задержки, то в каждый момент появления x мы бы получали y
но т.к. у нас задержка то мы получим значение y от x-10, т.е. y-10
банальная функция y=x вроде взята для простоты, но с другой стороны слегка мешает понять смысл.

алгоритм такой что получая х, мы кладем его в стек, а в y возвращаем дно стека (т.е. первые 10 итераций система не работоспособна, т.к. копит задержку),
таким образом при глубине стека 10, будем получать задержку в 10 итераций

как пример можно взять телемост, когда ведущая задает корреспонденту вопрос и первые секунды ждет пока до него дойдет сигнал, затем вроде начинается общение, но с задержкой
0
Почетный модератор
Эксперт С++
5836 / 2843 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
12.07.2013, 10:32 6
AntonChik, то есть пресловутый "сигнал" это есть передача некоего значения x (в данном случае) в функцию y и получение результата выполнения y?
0
3284 / 2668 / 721
Регистрация: 25.03.2012
Сообщений: 9,622
Записей в блоге: 1
12.07.2013, 10:43 7
Цитата Сообщение от AntonChik Посмотреть сообщение
алгоритм такой что получая х, мы кладем его в стек, а в y возвращаем дно стека
Это называется не стек, а очередь!
FIFO
Я сразу подумал о такой вещи, прочитав заголовок.
Создаём очередь из 10 элементов.
При очередной итерации запускаем вычисление.
При вычислении используем значение, положенное в очередь 10 итераций назад.
Результат вычисления кладём в конец очереди, а из её начала убираем 1 самый старый элемент.
В результате, каждый раз будет браться элемент, вычисленный 10 ходов назад для вычисления текущего
Вот и вся задержка!


Но это ОЧЕРЕДЬ(FIFO), а не СТЕК( LIFO) !!!
1
1089 / 587 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.07.2013, 10:52 8
я отличаю стек от очереди и тоже сразу заметил, что тут либо в постановке эти понятия попутаны, либо действительно надо использовать стек.
я дал понять, что потребуется вытаскивать дно стека, а это либо невозможно, либо нужен еще один стек.
в общем это уже другая проблема.
0
Почетный модератор
Эксперт С++
5836 / 2843 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
12.07.2013, 10:55 9
AntonChik, Kuzia domovenok, я вообще не уверен, что здесь слово стек обозначает именно стек. Скорее формулировка "в качестве стека" подразумевает собой просто складирование десятка вычисленных значений, дабы они не потерялись. Не важно как оно будет организованно. Я думаю.

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Но это ОЧЕРЕДЬ(FIFO), а не СТЕК( LIFO) !!!
Один мой знакомый препод любил привести хороший пример на банке с лимонадом для понимания отличия между стеком и очередью:
Стек - это баночка, а очередь это трубочка.


А вообще за такое формулирование задания как у ТС надо убивать. Пусть это гуманитарии упражняются в казуистике.
0
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 2
12.07.2013, 14:00  [ТС] 10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
AntonChik
Возможно вы правы, но я не представляю как это реаизовать
0
20 / 20 / 14
Регистрация: 19.09.2010
Сообщений: 85
17.07.2013, 21:15 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
 
double f(double x);
 
int main()
{
    double mas[10]={0};
    for(int i=0; i<10; i++)
    {
        cin>>mas[i];
    }
    double k=1;
    while (k!=0.0)
    {
        cin>>k;
        cout<<f(mas[0])<<endl;
        for(int i=1; i<10; i++) mas[i-1]=mas[i];
        mas[9]=k;
    }
    return 0;
}
 
double f(double x)
{
    return x*x;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2013, 21:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реализовать задержку при выполнении кода
Есть ли в Free Pascal такая функция, с помощью которой можно задавать задержку только одному...

Как реализовать задержку выполнения кода (Sleep)
На каждом втором сайте твердят, что чтобы сделать паузу в программе нужно пользоваться Api функцией...

Как реализовать задержку перед закрытием пакетного файла?
Нужна ваша помощь, нужна задержка перед закрытием bat, т.е определенное действие выполнилось, а...

Как реализовать задержку выполнения определённой части программы без полной задержки всей программы?
Ниже представлен упрощённый код игры, в которой герой управляется ПКМ и подбирает предметы ЛКМ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.