Member
Статус: Не в сети Регистрация: 22.01.2006 Откуда: Москва
master-pro Для 1Гб используются все провода А про IP препод прав, ибо это логические адреса. Они нужны для маршрутизаторов, а непосредственная передача пакетов данных производится в ethernet - фреймах, т.е. задействуя физические адреса (mac)
Junior
Статус: Не в сети Регистрация: 17.04.2009 Откуда: Моск.
Прошу помочь в выполнении задачи: Необходимо закодировать функцию у=nx+(n-1)x^2+...+X^n
Мое решение: uses crt; var s: integer; p: integer; n: integer; x: real; a: real; begin clrscr; writeln ('Введите n,a,x'); Readln(a,n); S:=0; p:=1; for a:=0 to n do p:=(n-a)*x^(a+1) S:=S+p writeln(S) readln end . Подскажите,что не так?
Member
Статус: Не в сети Регистрация: 20.03.2009 Откуда: Санкт-Петербург
Первое,что бросается в глаза:n-integer,a-real. И выражение n-a.Если паскаль может работать так(не помню,тк перешёл на c++),то будет округлять real,и результат может отличаться.
_________________ Задачи бывают простыми и очень простыми...
операторные скобки проверь в цикле.... зачем тебе вводить a? если её потом используешь как счётчик цикла? и кстати да... измени его тип на целочисленный а вот x наоборот у тебя принимает неизвестное значение, а по идее должно вводится... и кстати..с какой целью p:=1; делаешь? и цикл может идти не до n а до n-1, но в данной задаче (при таком теле цикла) на ответ это не повлияет
Member
Статус: Не в сети Регистрация: 01.04.2005 Откуда: Москва
5o-clock А я не экзаменовал никого! кроме - на схеме для трех переключателей не рассмотрены все варианты. Навскидку - нет положения, где все три выключены. А вот метод анализа этих схем как раз и заключаются в составлении таблицы. Правда, код Грея, для этого не обязателен, достаточно двоичного. Довольно просто "перепоручается" компьютеру, используя тот факт, что процессор - изначально логическое устройство. Точно так-же, "просто", обрабатывать на компе и аналитические формы. Причем, необходимо соблюдать баланс, между аналитическими решениями и, возможостью задействовать высокое быстродействие современных процессоров, для прямого перебора. Чтоб понапрасну не "ломать голову"! Вот бы и хотелось, видеть задачи такого плана. Как раз, по некоторым причинам, решаемые с помоью ассемблера. Прямой выигрыш - специалист оказывается готов, к программированию контроллеров и может автоматизировать многие промышленные устройства и целые процессы, не прибегая к неоправданно дорогим услугам сторонних фирм. А то, все массивы, неизвестно кому нужные да их сортировка, примитивными методами и неоптимальными алгоритмами. Все равно ведь, работать приходится с языками высокого уровня, к тому-же в многозадачных операционных системах. А это - совсем другая песня! Кстати, очень рекомендую проанализировать работу схемы для трех переключателей! Там строчек - всего ничего! А результатом будет, глубокое моральное удовлетворение. И, заодно подумать, а где там можно триггер приспособить и как!
Member
Статус: Не в сети Регистрация: 06.09.2009 Откуда: Моск.ва.
OFF:
прол1 писал(а):
А я не экзаменовал никого! кроме - на схеме для трех переключателей не рассмотрены все варианты. Навскидку - нет положения, где все три выключены
А причем тут экзамен? Я про удобство воплощения мысли под обоями
А про 3 выключенных до меня не дошло. Это о чем? Вообще-то рисунки анимированные и оказывают все положения ПЕРЕключателей. Я что-то упустил?
Про языки-алгоритмы в целом согласен. С нюансом: чистые алгоритмы воспитывают логическое мышление и развивают способности мозга отслеживать взаимозависимости и делать выводы. Язык программирования для непрофильной специальности -- это как дорожные знаки учить не по текстовым описаниям, а по картинкам. Удобнее, чем блок-схемы отрисовывать
Member
Статус: Не в сети Регистрация: 01.04.2005 Откуда: Москва
5o-clock Упустили обычную вещь - проверку. Для людей, занимающихся автоматикой, она обязательна. Слишком много ляпов происходит с автоматами, спроектированными "на коленке" или прсто недостаточно образованными проектировщиками. Могу Вас уверить, существует огромное количество как аппаратных, так и "программных" автоматов, спроектированных с ошибками. Практическая польза, от овладения методами логического синтеза и анализа автоматов, для инженера - производственника, огромна. Для непроизводственника - тоже! Я например, "не купил", уйму оборудования, лишь по косвенным признакам определив "рабоче-крестьянский" уровень проектирования. Стандартным методом анализа подобных комбинационных схем, как раз и будет перебор ВСЕХ возможных положений переключателей. Для чего, как раз и используется двоичное представление чисел. В данном случае, для удобства представления, можно использовать код Грея, имитирующем переключение "по одному". Существуют, конечно, и другие приемы и целые методы. Тем более, компы, почти у всех есть. Да и САПР, уважающих себя и клиента, разработчиков, содержат развитые встроенные средства. Однако, представим себе, сидите Вы на чужой даче и пришла вам в голову идея, по модернизации освещения. Собрали вы провода и переключатели. Развесили, прибили и подключили, а оно - не пашет! По крайней мере, с моего коммуникатора, ВСЕХ возможных вариантов, переключения ПО ОДНОМУ, мне увидеть не удается. А вообще, я использовал другую схему, исходя из имевшихся, под рукой, "деталев". А потом и вообще перешел на триггер, допустим, на паре тиристоров... плюс кнопки управления, со слабым током и низким напряжением, из пущей безопасности, в домашних условиях. Займусь наверно, если удасться время от работы оторвать. И - победить непонятные сбои материнки XFX 790i !!
ну да, пардон. У меня одни факториалы в голове Конечно k:=k*k
неа.. необходимо буфер использовать в котором хранить первоначально значение k и на него умножать... т.е. s:=0; buf:=k; k:=sqr(k); for i:=3 to n do begin k:=k*buf; S:=s+k; end; .. ну или другой способ.. тут их много... можно например (если не ошибаюсь ) так s:=1; for i:=3 to n-1 do begin S:=s*k+1; end; s:=s*sqr(k)*k;
Всем день добрый... Подскажите, код или литературу (предпочтительнее) по сетевому программированию. Суть задания: написать на Visual C++ (пользую 2010 версию) программу, выводящую МАС-адреса всего, что подключено к данной сети. Если сетей несколько, то список адресов выводить для каждой отдельной сети. Буду очень благодарен за помощь!
Member
Статус: Не в сети Регистрация: 19.09.2009 Откуда: Moscow
Для вычисления суммы ряда использовать рекурсивную форму определения последующего члена ряда Uk+1 через предыдущий Uk. Множитель L в формуле Uk+1= L* Uk определяется как отношение Uk+1/ Uk двух последовательно расположенных членов ряда. 1.Пользуясь суммированием членов ряда вычислить значение заданной преподавателем функции с точностью ε= 5 ·10^(-6) . Суммирование провести с использованием трех разных циклов: безусловного цикла for … to… do цикла с предусловием while … do … цикла с постусловием repeat …until
Примечание. В двух последних случаях условием выхода из цикла, считать условие |uk|< ε, где uk очередной прибавляемый к сумме член ряда. Результат суммы отобразить на экране, вместе с вычисленным, в той же программе, значением стандартной функции.
Собственно мне дано задание посчитать циклом e^x Вот, что я написал.
Цитата:
uses crt; var x,e: real; k,i: LongInt;
function Factorial(n: word): LongInt; begin if n=0 then Factorial := 1 else Factorial := n*Factorial(n-1); end;
begin clrscr; writeln('Vedite chislo:'); readln(x); e:=1; i:=1; k:=12; writeln('Funkcia E^X:',exp(x)); if (x>0) or (x<0) then begin if (x>0) then begin for i:=1 to k do begin e:=e+exp(i*ln(x))/Factorial(i); if (x<0) then end; writeln('for to do summa:',e); e:=1; i:=1; repeat begin e:=e+exp(i*ln(x))/Factorial(i); i:=i+1; end; until ABS(exp(i*ln(x))/Factorial(i))<0.000005; writeln('Repeat Until Summa:',e);
e:=1; i:=1; While ABS(exp(i*ln(x))/Factorial(i))>0.000005 do begin e:=e+exp(i*ln(x))/Factorial(i); i:=i+1; end; writeln('While Do Summa:',e); end;
if (x<0) then writeln('Daze s pravilnim vozvedeniem v stepen summa ryada otricatelnogo X shitaetsya nepravilno:'); end;
readkey; end.
Метод без рекурсии, я плохо соображаю как реализовать рекурсию для e^x
Основные проблемы - работает только с x = 1 или 2, не работает с отрицательными числами мой метод. Не работает с дробными степенями, хотя это вряд-ли тут нужно, я так думаю. Может кто подскажет, в чём проблема?( Или объяснит эту рекурсию, хочется по заданию сделать всё-таки.
_________________ Kindle 3G Keyboard + книги Айзека Азимова, Роберта Шекли, Рэя Бредберри + музыка из Космических Рейнджеров = отличное настроение :))
Member
Статус: Не в сети Регистрация: 22.01.2006 Откуда: Москва
Ranger21 Рекурсивная функция - не есть рекурсия как таковая. К примеру - рекурсивная функция U(i+1) = U(i) + 2. Рекурсия же - вызов (под)программы из-под самой себя. Типа такого: function factorial for/while .... ..... k = factorial(x); ..... end
Самая простая реализация - вычисление факториала, но перемножение идет не с единицы, а с конечного числа. Пример: 5! = 5*4*3*2*1. Начинаем цикл с 5, и постепенно спускаемся вниз до тех пор, пока не достигнем 1. Когда единицу мы достигли, умножаем результат на тот, который "был получен на спуске", хотя реально он вычисляется на подъеме. И так до тех пор пока не поднимемся до 5.
mp5master Собственно у меня такая задумка: В один список вывести все сети, к которым подключен компьютер. Выбирая одну из сетей в этом списке, в другом списке (отдельно для MAC'ов) выводятся МАС-адреса устройств, подключенных только к этой сети. Собственно вот скрин изображения окна "программы":
#77
Начал читать пока непонятнуя мне литературу. Однако, как я понимаю, надо использовать функции NetBIOS'а?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения