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


Закрытая тема
 
Опции темы Опции просмотра
Старый 31.05.2009, 12:25   #61 (permalink)
Tranzistor
Специалист
 
Аватар для Tranzistor
 
Регистрация: 17.07.2007
Адрес: Мордовия
Сообщений: 875
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4825
По умолчанию

Vladimir_S, наверно я Вам надоел.. Просто летняя сессия короткая, а долгии есть..

"Создайте список с указанием ваших фамилий, имён, телефонных номеров и дат рождения (число, месяц, год). Использовать тип запись (RECORD), вывести в удобном для просмотра формате." - вывод у этой программы куда происходит?
Tranzistor вне форума  
Старый 31.05.2009, 14:36   #62 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Kosmos Посмотреть сообщение
Vladimir_S, наверно я Вам надоел.. Просто летняя сессия короткая, а долгии есть..

"Создайте список с указанием ваших фамилий, имён, телефонных номеров и дат рождения (число, месяц, год). Использовать тип запись (RECORD), вывести в удобном для просмотра формате." - вывод у этой программы куда происходит?
На экран. А куда надо?
Vladimir_S вне форума  
Старый 31.05.2009, 16:21   #63 (permalink)
Настена18
Новичок
 
Регистрация: 31.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте!! Задачка на Паскале..
День учителя ежегодно отмечается в первое воскресенье октября. Дано натуральное число n, означающее номер года. Определить число, на которое в октябре указанного года приходится день учителя...
Вот...помогите, пожалуйста, завтра уже сдавать..До этого задача была сделана таким образом, что все опиралось на 2000..год и работала с 2000...но препода это не устраивает..
Настена18 вне форума  
Старый 31.05.2009, 19:49   #64 (permalink)
Настена18
Новичок
 
Регистрация: 31.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вот еще одна задачка, которую надо немного доработать..на Паскале..
в массив mHk1[i] добавить последний элемент равный нулю, а в массив mHk2[j] добавлять нули в начале массива до тех пор, пока размерности этих массивов не станут равны..из первого массива вычесть второй и получившийся массив mas[r] вывести на экран..

program z_669a;
uses crt;
const k : integer = 5;
n=10;
var
mas : array [1..n] of integer;
mHk1: array [1..n] of integer;
mHk2: array [1..n] of integer;
i,j,r,p: integer;
x: integer;
function H(x: integer; k:integer): integer;
begin
if (k=0) then H:=1;
if (k=1) then H:=2;
if (k>=2) then H:=x*H(x,k-1)-(k-1)*H(x,k-2);
end;

begin
clrscr;
for p:=1 to 3 do begin
write ('Vvedite k: '); readln(k);
for i := 1 to k-1 do
begin
mHk1[i] := H(x,i);
write (mHk1[i],'*x^',(k-i),' ');
end;
writeln;

for j := 1 to k-2 do
begin
mHk2[j] := (k-1)*H(x,j);
write (mHk2[j],'*x^',(k-j-2),' ');
end;
writeln;

for r:=n downto 1 do

writeln (k,' chlen H= ',mas[r],' ');
writeln;
end;

readkey;
end.

Если задавать k=3;5;6, то должно вывестись следующее:
для 3: 2*x^2 -1*x^1 -4*x^0
для 5: 2*x^4 -1*x^3 -18*x^2 7*x^1 16*x^0
для 6: 2*x^5 -1*x^4 -28*x^3 12*x^2 66*x^1 -15*x^0
Помогите, пожалуйста!!!!....
Настена18 вне форума  
Старый 31.05.2009, 19:54   #65 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Настена18 Посмотреть сообщение
Здравствуйте!! Задачка на Паскале..
День учителя ежегодно отмечается в первое воскресенье октября. Дано натуральное число n, означающее номер года. Определить число, на которое в октябре указанного года приходится день учителя...
Вот...помогите, пожалуйста, завтра уже сдавать..До этого задача была сделана таким образом, что все опиралось на 2000..год и работала с 2000...но препода это не устраивает..
Пожалуйста:
VAR
N,p0,p1,p2,p3,Date:INTEGER;
Full_Number_of_Days:LongInt;

BEGIN
Write('Enter the year '); Readln(N);
p0:=(N div 400)-(1994 div 400);
p1:=(N div 100)-(1994 div 100);
p2:=(N div 4)-(1994 div 4);
Full_Number_of_Days:=(N-1994)*365+p2-p1+p0;
p3:=Full_Number_of_Days mod 7;
IF p3>=2 THEN Date:=9-p3 ELSE Date:=2-p3;
WriteLn('The Teacher Day in',N:5,' is ',Date:2,' of October');
ReadLn;
END.

Здесь за основу взят 1994 год - год введения Дня учителя. Программа работает для любого года, начиная с 1994 и до конца времён.
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 31.05.2009, 21:07   #66 (permalink)
Настена18
Новичок
 
Регистрация: 31.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огроменное!!!!!!!!! Ну, прям, выручили!!!!!!!! Работает отлично))))))))
Настена18 вне форума  
Старый 31.05.2009, 21:12   #67 (permalink)
Настена18
Новичок
 
Регистрация: 31.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А в задачке использовались какие-то готовые формулы?? например, высчитывание p0,p1,p2,Full_Number_of_Days??? или вот эта строка: IF p3>=2 THEN Date:=9-p3 ELSE Date:=2-p3??? не могли бы вы объяснить это в двух словах??))) Нам мало того, что задачу надо сдать, так еще и отчитать...а препод углубляется тока так...Заранее спасибо))))
Настена18 вне форума  
Старый 31.05.2009, 21:36   #68 (permalink)
Tranzistor
Специалист
 
Аватар для Tranzistor
 
Регистрация: 17.07.2007
Адрес: Мордовия
Сообщений: 875
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4825
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
На экран. А куда надо?
ну он у меня бесконечно просит заполнять новые и новые данные..
Tranzistor вне форума  
Старый 31.05.2009, 21:40   #69 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Настена18 Посмотреть сообщение
А в задачке использовались какие-то готовые формулы?? например, высчитывание p0,p1,p2,Full_Number_of_Days??? или вот эта строка: IF p3>=2 THEN Date:=9-p3 ELSE Date:=2-p3??? не могли бы вы объяснить это в двух словах??))) Нам мало того, что задачу надо сдать, так еще и отчитать...а препод углубляется тока так...Заранее спасибо))))
Хорошо, попробую. Full_Number_of_Days - это полное количество дней между ОДНОИМЕННЫМИ датами (например, 1 октября) рассматриваемого года и 1994-го. Зная это число, а также тот факт, что 1 октября 1994 года была суббота, и еще определив p3 - остаток от деления этого числа на 7 (число дней в неделе), можно подсчитать, в зависимости от величины остатка, на какой день недели придется 1 октября года N, и, соответственно, когда будет первое воскресенье. Вот тут у меня и получилось это самое IF p3>=2 THEN Date:=9-p3 ELSE Date:=2-p3 (найдено полулогически, полуэмпирически).
Теперь как определить Full_Number_of_Days? Если бы в году всегда было бы 365 дней, то искомое число составило бы (N-1994)*365. Но среди годов могут быть и високосные, а значит каждые 4 года добавляется лишний день, количество таких годов - p2, значит имеем (N-1994)*365+p2. Но среди годов, кратных 4, могут быть вековые (их количество - p1), а вековые високосными не являются, отсюда (N-1994)*365+p2-p1. Но среди вековых могут попасться p0 тех, что кратны 400 (например, 2000), а такие года вновь становятся високосными. Так что окончательно:
Full_Number_of_Days=(N-1994)*365+p2-p1+p0.
Vladimir_S вне форума  
Старый 31.05.2009, 21:44   #70 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Kosmos Посмотреть сообщение
ну он у меня бесконечно просит заполнять новые и новые данные..
Ничего не бесконечно, а в соответствии со значением константы N, т.е. 10 раз. Ну уменьшите ее, скажем, до 3. Я же не знаю (Вы не указали) размера списка, ну вот и взял с потолка 10.
Vladimir_S вне форума  
Ads

Яндекс

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

Метки
задачи по информатике, помощь, решение задач, студент

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

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

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




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

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