Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Закрытая тема
 
Опции темы Опции просмотра
Старый 03.10.2009, 21:49   #31 (permalink)
Dram
Экономичный вид памяти
 
Аватар для Dram
 
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
По умолчанию

Немного не то
нужно было написать прогу с использованим цикла For
Q= 1+ x/1! + x**2/2!+...+ x**N/N!, N>0 вводится с клавиатуры.

Это для проверки проги (x=5, N=10, s=146.38)

Эх не могу найти свой исходник.Вобшем Как пропишется (Q= 1+ x/1! + x**2/2!+...+ x**N/N!) непосредсвенно в паскаль коде(с экспанетами и фактариалами(fakt)) и что ещё обозначает ... (три точки в функции)
Dram вне форума  
Старый 03.10.2009, 22:41   #32 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Dram Посмотреть сообщение
Немного не то
нужно было написать прогу с использованим цикла For
Q= 1+ x/1! + x**2/2!+...+ x**N/N!, N>0 вводится с клавиатуры.

Это для проверки проги (x=5, N=10, s=146.38)

Эх не могу найти свой исходник.Вобшем Как пропишется (Q= 1+ x/1! + x**2/2!+...+ x**N/N!) непосредсвенно в паскаль коде(с экспанетами и фактариалами(fakt)) и что ещё обозначает ... (три точки в функции)
Нет, Леша, из этого сумбура я мало что понял. Прежде всего - результат работы программы:
Нажмите на изображение для увеличения
Название: c1d43b9dbfe8.jpg
Просмотров: 117
Размер:	6.2 Кб
ID:	140041
Как писал А.С.Пушкин - "Чего ж вам боле?"
Насчет цикла - а это, по-Вашему, что?
FOR i:=1 TO N DO
Y:=Y+X2np(x,i)/Nfact(i);
По-моему цикл и есть!
Три точки обозначают то же, что, если, допустим, я хочу перечислить все целые числа от 1 до 10, то могу это записать сокращенно: 1, 2, ..., 10. Так же и здесь. Между прочим, эта функция - не что иное, как разложение в ряд экспоненты
Exp(x) = 1 + x/1! + x²/2! + x³/3! + ... + xª/a! (здесь N заменено на a)
Vladimir_S вне форума  
Старый 04.10.2009, 01:04   #33 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

В принципе, и вычисление степеней, и вычисление факториалов можно поместить в один цикл с вычислением суммы.
А вот вычислять степени N c помощью экспоненты и замены основания, для того чтобы вычислить в итоге экспоненту мне кажется нелогичным.
Long Cat вне форума  
Старый 05.10.2009, 09:49   #34 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Сейчас мысленно вернулся к задачке и понял, что в данном случае действительно можно короче и проще:

VAR
N,i:INTEGER;
x,y,add:EXTENDED;

BEGIN
Write('x= ');
ReadLn(x);
Write('N= ');
ReadLn(N);
Y:=1;
Add:=1;
FOR i:=1 TO N DO
BEGIN
Add:=Add*x/i;
Y:=Y+Add;
END;
WriteLn('Y= ',Y);
ReadLn;
END.

Но предыдущий вариант более "универсален".
Vladimir_S вне форума  
Старый 15.10.2009, 00:51   #35 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

помогие плиз с задачкой про курс корабля)

С клав. вводится текущий курс корабля (север, юг, запад, восток), Затем поступает команда (направо, налево, прямо, назад) Надо чтобы в итоге он выавал курс корабля после команды..я так понимаю тут будет много Case и перечисляемяе типы..но. что-то я не знаю что в кейсе писать(
citrus вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 15.10.2009, 11:35   #36 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от citrus Посмотреть сообщение
помогие плиз с задачкой про курс корабля)

С клав. вводится текущий курс корабля (север, юг, запад, восток), Затем поступает команда (направо, налево, прямо, назад) Надо чтобы в итоге он выавал курс корабля после команды..я так понимаю тут будет много Case и перечисляемяе типы..но. что-то я не знаю что в кейсе писать(
С перечисляемыми типами не получилось - значения переменных таких типов нельзя вводить с консоли, кроме того, они не могут быть индексами оператора CASE. Так что пришлось попроще (программа прерывается вводом команды 5 (Stop)):
Код:
CONST
Course:ARRAY[1..4] of STRING=('Nord', 'Zued', 'West', 'Ost');
VAR
Course_bef,Course_aft,Command:BYTE;
BEGIN
WriteLn('Enter the initial course number:');
WriteLn('                                 1 - Nord');
WriteLn('                                 2 - Zued');
WriteLn('                                 3 - West');
WriteLn('                                 4 - Ost');
ReadLn(Course_bef);
REPEAT
WriteLn('Enter the command number:');
WriteLn('                         1 - Right');
WriteLn('                         2 - Left');
WriteLn('                         3 - Forward');
WriteLn('                         4 - Back');
WriteLn('                         5 - Stop');
ReadLn(Command);
IF Command<>5 THEN
BEGIN
Case Course_bef of
1 {Nord}:
Case Command of
1: Course_aft:=4 {Ost};
2: Course_aft:=3 {West};
3: Course_aft:=1 {Nord};
4: Course_aft:=2 {Zued};
END;
2 {Zued}:
Case Command of
1: Course_aft:=3 {West};
2: Course_aft:=4 {Ost};
3: Course_aft:=2 {Zued};
4: Course_aft:=1 {Nord};
END;
3 {West}:
Case Command of
1: Course_aft:=1 {Nord};
2: Course_aft:=2 {Zued};
3: Course_aft:=3 {West};
4: Course_aft:=4 {Ost};
END;
4 {Ost}:
Case Command of
1: Course_aft:=2 {Zued};
2: Course_aft:=1 {Nord};
3: Course_aft:=4 {Ost};
4: Course_aft:=3 {West};
END;
END;
Writeln('Course: ',Course[Course_aft]);
Writeln;
Course_bef:=Course_aft;
END;
UNTIL Command=5 {Stop};
END.

Последний раз редактировалось Vladimir_S; 15.10.2009 в 11:41 Причина: Одна косметическая поправка
Vladimir_S вне форума  
Старый 15.10.2009, 20:34   #37 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
С перечисляемыми типами не получилось - значения переменных таких типов нельзя вводить с консоли, кроме того, они не могут быть индексами оператора CASE. Так что пришлось попроще (программа прерывается вводом команды 5 (Stop))
ничего подобного) я кстати сделал ее с кейсом и еще одним вложенным кейсом и перечисляемыми типами, все работает) задачка была принята) Позже если будет интересно могу выложить решение.
citrus вне форума  
Старый 20.10.2009, 20:11   #38 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Дана непустая последовательность натуральных чисел, за которой следует 0. Вычислить сумму тех из них, порядковые номера которых кратны 3...)
citrus вне форума  
Старый 20.10.2009, 21:49   #39 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Считывайте числа в целочисленный массив до тех пор, пока не встретите 0, при этом счетчик размерности массива увеличивайте на 1 с каждым заполненным ненулевым элементом. Затем заводите цикл, в котором анализируйте остаток от деления переменной счетчика на 3. Переменную суммы увеличивайте на значение элемента массива всякий раз, когда остаток от деления будет равен 0. Затем выводите получившуюся сумму.
__________________
Убить всех человеков!
AlexZir вне форума  
Старый 20.10.2009, 22:49   #40 (permalink)
citrus
Member
 
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Считывайте числа в целочисленный массив
задачу нужно решить не используя массивов..
citrus вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Закрытая тема

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:38.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.