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


Закрытая тема
 
Опции темы Опции просмотра
Старый 08.06.2009, 10:39   #81 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Pashka1991 Посмотреть сообщение
Здравствуйте, помогите пожалуйста с программами на паскале, очень нужны =(:

2) Составить две программы на языке программирования высокого уровня (одну с оператором присваивания, перехода, условными; вторую – используя оператор цикла) для вычисления функции.
http://www.tehnari.ru/imagehosting/2...bf6685e1ce.jpg
Извините, уважаемый, но куда тут воткнуть оператор цикла - решительно не вижу! Так что могу предложить только одну программу:

VAR
x,y,t:REAL;

BEGIN
Write('x = '); ReadLn(x);
Write('t = '); ReadLn(t);
IF x<0.5 THEN y:=(Ln(x)*SQR(Ln(x))+x)/SQRT(x+1) ELSE
IF x=0.5 THEN y:=SQRT(x+t+Exp(x)) ELSE
y:=Cos(x)+t*SQR(Sin(x));
WriteLn('y = ',y);
ReadLn;
END.
Vladimir_S вне форума  
Старый 08.06.2009, 11:03   #82 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Pashka1991 Посмотреть сообщение
Здравствуйте, помогите пожалуйста с программами на паскале, очень нужны =(:

3) Составить две программы на языке программирования высокого уровня(одну - не используя цикла, другую - используя соответствующий оператор цикла).
Найти сумму ряда:
http://www.tehnari.ru/imagehosting/2...bf6d494c57.jpg
А вот тут, извините опять же, но как обойтись БЕЗ цикла - в упор не вижу! Так что:

VAR
x, Sum:REAL;
N, i:INTEGER;

FUNCTION X2np(X:Extended; n:INTEGER):Extended;
Var i:INTEGER;
Y:Extended;
BEGIN
IF n=0 THEN X2np:=1 ELSE
IF n=1 THEN X2np:=X ELSE
BEGIN
Y:=X;
FOR i:=2 TO n DO Y:=Y*X;
X2np:=Y;
END;
END;

FUNCTION Nfact(n:Integer):Extended;
VAR
i:Integer;
fact:Extended;
BEGIN
IF n=0 THEN fact:=1 ELSE
BEGIN
fact:=1;
FOR i:=1 TO n DO
fact:=fact*i;
END;
Nfact:=fact;
END;


BEGIN
Write('x = '); ReadLn(x);
Write('N = '); ReadLn(N);
Sum:=0;
FOR i:=1 TO N DO
Sum:=Sum+X2np(-1,i)*X2np(2*x,2*i)/Nfact(2*i);
Write('Sum = ',Sum);
ReadLn;
END.
Vladimir_S вне форума  
Старый 08.06.2009, 11:20   #83 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Pashka1991 Посмотреть сообщение
Здравствуйте, помогите пожалуйста с программами на паскале, очень нужны =(:

4) Задан массив. Если первый элемент массива кратен 2, то все элементы массива умножить на квадрат Max, в противном случае – на квадрат Min.
CONST
N=10;
VAR
a,b:ARRAY[1..N] of LongInt;
Min,Max:LongInt;
i:INTEGER;

BEGIN
Randomize;
Max:=0;
Min:=100;
FOR i:=1 TO N DO
BEGIN
a[i]:=RANDOM(99);
IF a[i]>Max THEN Max:=a[i];
IF a[i]<Min THEN Min:=a[i];
END;
IF (a[1] mod 2) = 0 THEN
FOR i:=1 TO N DO
b[i]:=a[i]*Max*Max ELSE
FOR i:=1 TO N DO
b[i]:=a[i]*Min*Min;
FOR i:=1 TO N DO
Write(a[i]:7);
WriteLn;
FOR i:=1 TO N DO
Write(b[i]:7);
WriteLn;
ReadLn;
END.
Vladimir_S вне форума  
Старый 08.06.2009, 15:07   #84 (permalink)
igorit
Новичок
 
Регистрация: 08.06.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Помогите нужно срочно, желательно сегодня.
Задача 1.
Сгенерировать и вывести на экран массив А размером 10x10 из случайных реальных чисел в диапазоне
от 1 до 9. Определить и вывести массив В также размером 10x10 по одному из следующих принципов:
1)элементы главной диагонали определить как суммы по соответствующим строкам;
2)элементы главной диагонали определить как произведение по соответствующим столбцам;
3)элементы главной диагонали определить как произведение по соответствующим строкам и столбцам.
задача 2.
Ввести в массив N условных чисел (N заданное число не более 15). Сформировать новый массив, где все введенные отрицательные числа располагались в его начале, а все положительные сразу за отрицательными (взаимное расположение среди положительных и отрицательных сохраняется). Числа равные нулю отбросить. Вывести на экран 2 строки: элементы исходного массива и элементы нового массива, а также выдать сообщение о количестве удаленных нулей.
igorit вне форума  
Старый 08.06.2009, 15:12   #85 (permalink)
igorit
Новичок
 
Регистрация: 08.06.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

P.S. на pascal'е
igorit вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.06.2009, 15:14   #86 (permalink)
igorit
Новичок
 
Регистрация: 08.06.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Автостоянка содержит одну полосу, на которой может быть размещено до 10 автомашин. Машины въезжают с южного конца, а выезжают с северного. Если авто владельца, пришедшего на стоянку забрать его, не расположено севернее всех остальных, то все автомобили, стоящие севернее его, удаляются из гаража, затем выезжает его машина и оставшиеся машины помещаются назад в том же порядке. Если машина покидает гараж, то все машины, расположенные южнее, сдвигаются вперед столько раз, сколько имеется свободных позиций в северной части.
Напишите программу,которая считывает группу строк с оператором data. Каждая строка содержит "A" для прибытия и "D" для отправления, а также номер машины. Предполагается, что машины прибывают и убывают в порядке, задаваемом этим списком строк. Программа должна выдавать сообщение при каждом прибытии или отправлении машины. При прибытии машины в нем должно говориться, имеется ли на стоянке свободное место. Если свободное место отсутствует, машина ждет до тех пор, пока оно не освободится, или до момента считывания строки, требующей отправления данной автомашины. При появлении свободного места должно выдаваться другое сообщение. При отправлении автомашины сообщение должно содержать в себе число перемещений машины внутри гаража (включая ее отъезд, но не прибытие; это число равно нулю, если машина была отправлена во время нахождения в режиме ожидания свободного места).
Помогите, пожалуйста. Pascal
igorit вне форума  
Старый 08.06.2009, 16:47   #87 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от igorit Посмотреть сообщение
Помогите нужно срочно, желательно сегодня.
Задача 1.
Сгенерировать и вывести на экран массив А размером 10x10 из случайных реальных чисел в диапазоне
от 1 до 9. Определить и вывести массив В также размером 10x10 по одному из следующих принципов:
1)элементы главной диагонали определить как суммы по соответствующим строкам;
2)элементы главной диагонали определить как произведение по соответствующим столбцам;
3)элементы главной диагонали определить как произведение по соответствующим строкам и столбцам.

CONST
N=10;
VAR
a,b1,b2,b3:ARRAY[1..N,1..N] of REAL;
i,j:INTEGER;

BEGIN
Randomize;
FOR i:=1 TO N DO
FOR j:=1 TO N DO
a[i,j]:=RANDOM*8+1;
Writeln('Array a:');
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO N DO
Write(a[i,j]:7:3);
WriteLn;
END;
Writeln('Press "Enter" to continue...');
ReadLn;
b1:=a;
b2:=a;
b3:=a;
FOR i:=1 TO N DO
b1[i,i]:=0;
FOR i:=1 TO N DO
FOR j:=1 TO N DO
b1[i,i]:=b1[i,i]+b1[i,j];
Writeln('Array b1:');
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO N DO
Write(b1[i,j]:7:3);
WriteLn;
END;
Writeln('Press "Enter" to continue...');
ReadLn;
FOR i:=1 TO N DO
b2[i,i]:=1;
FOR i:=1 TO N DO
FOR j:=1 TO N DO
b2[i,i]:=b2[i,i]*b2[i,j];
Writeln('Array b2:');
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO N DO
IF i<>j THEN
Write(b2[i,j]:7:3) ELSE
Write(' ',b2[i,j]:5);
Writeln;
END;
Writeln('Press "Enter" to continue...');
ReadLn;
FOR i:=1 TO N DO
b3[i,i]:=1;
FOR i:=1 TO N DO
FOR j:=1 TO N DO
b3[i,i]:=b3[i,i]*b3[i,j]*b3[j,i];
Writeln('Array b3:');
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO N DO
IF i<>j THEN
Write(b2[i,j]:7:3) ELSE
Write(' ',b2[i,j]:5);
WriteLn;
END;
ReadLn;
END.
Vladimir_S вне форума  
Старый 08.06.2009, 17:23   #88 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от igorit Посмотреть сообщение
Помогите нужно срочно, желательно сегодня.
задача 2.
Ввести в массив N условных чисел (N заданное число не более 15). Сформировать новый массив, где все введенные отрицательные числа располагались в его начале, а все положительные сразу за отрицательными (взаимное расположение среди положительных и отрицательных сохраняется). Числа равные нулю отбросить. Вывести на экран 2 строки: элементы исходного массива и элементы нового массива, а также выдать сообщение о количестве удаленных нулей.
Код:
CONST
 N=10;
VAR
 A:ARRAY[1..N] of INTEGER;
 B:ARRAY[1..N+1] of INTEGER;
 i,j,N1,Ncur,Zero_Num:INTEGER;

BEGIN
 Randomize;
 FOR i:=1 TO N DO
  BEGIN
   A[i]:=Random(8)-4;
   B[i]:=A[i];
  END;
 WriteLn('Initial array:');
 FOR i:=1 TO N DO
  Write(A[i]:4);
 Writeln;
 i:=1;
 N1:=N;
 Zero_Num:=0;
 REPEAT
  IF B[i]=0 THEN
   BEGIN
    IF i<N1 THEN
     FOR j:=i+1 TO N1 DO B[j-1]:=B[j];
    DEC(N1);
    INC(Zero_Num);
   END;
  INC(i);
 UNTIL i=N1+1;
 WriteLn('Array after excluding of ',Zero_Num:2, ' zero elements:');
 FOR i:=1 TO N1 DO
  Write(B[i]:4);
 Writeln;
 Ncur:=N1;
 i:=1;
 REPEAT
  IF B[i]>0 THEN
   BEGIN
    B[N1+1]:=B[i];
    FOR j:=i+1 TO N1+1 DO
     B[j-1]:=B[j];
    DEC(i);
    DEC(Ncur);
   END;
  INC(i);
 UNTIL i=Ncur+1;
 Writeln('Final array:');
 FOR i:=1 TO N1 DO
  Write(B[i]:4);
 Writeln;
 ReadLn;
END.
Vladimir_S вне форума  
Старый 09.06.2009, 13:58   #89 (permalink)
igorit
Новичок
 
Регистрация: 08.06.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Большое спасибо, а задачу с автостоянкой решить можешь? Её тоже нужно срочно.
igorit вне форума  
Старый 09.06.2009, 14:05   #90 (permalink)
igorit
Новичок
 
Регистрация: 08.06.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Если можно, то в ближайшие 2 дня.
igorit вне форума  
Ads

Яндекс

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

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

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

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

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




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

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