Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Простые задачи на PASCAL


Автор: DiverD 5.12.2005, 23:45
Если кто может,помогите с контрольной, очень мало времени. Все оставил на последний день, а у меня сессия через 1-у неделю и я не успеваю все сделать.
Вышку с физикой сдал, осталось начерталка,english; да тут еще и на роботу ходить (заочник) .


Задание №1.
Цель работы: изучение операторов цикла языка “Pascal”. Реализовать задачу циклами for, while и repeat.
---
В банк положили N у.е. под P процентов в год. Сколько денег будет в банке через L лет?

Задание №2.
Цель работы: изучение оператора выбора (CASE). Реализовать задачу, используя CASE и IF.
---
Дана точка (x;y) и круг радиуса R с центром в точке (0;0). Определить, где находится точка: внутри, на границе, или за пределами круга.

Задание №3.
Цель работы: научиться работать с двумерными массивами и вложенными операторами цикла.
---
Вывести все элементы двумерного массива [MxN] кратные A

Задание №4
Цель работы: изучение комбинированного типа данных.
---
Ввести фамилии и адреса сотрудников организации в массив записей и вывести их в виде таблицы.

Помогите пожалуйста...

Автор: Poseidon 6.12.2005, 00:00
Цитата(diverd @ 5.12.2005, 23:45)
да тут еще и на роботу ходить (заочник)
Как я тебя понимаю, но..! Знаешь что противно? Диплом получишь ты, а сделают за тебя другие. Вот если бы сам попробовал, а что не получилось, спросил, вот это другое дело. Я бы с радастью и подсказал и решил, если бы твои рассуждения ушли не в ту степь. А так, ну извени...

Автор: Snowy 6.12.2005, 00:16
Цитата(diverd @ 5.12.2005, 23:45)
В банк положили N у.е. под P процентов в год. Сколько денег будет в банке через L лет?

Код

var
  N: real;
  P: integer;
  L: integer;
  i: integer; // только для for
begin
  Write('Введите сумму $: ');
  ReadLn(N);
  Write('Введите процент: ');
  ReadLn(P);
  Write('Введите кол-во лет: ');
  ReadLn(L);

Это была общая часть.
Дальше варианты реализации для for, while и repeat.
Код

  for i:=1 to L do
    N:=N * (P/100 + 1);

Код

  while L>0 do
  begin
    N:=N * (P/100 + 1);
    L:=L-1;    
  end;

Код

  repeat
    N:=N * (P/100 + 1);
    L:=L-1;
  until L=0;

Ну и в конце вывод результатов:
Код

  WriteLn('Сумма составит ',N,'$');

Автор: Snowy 6.12.2005, 00:33
Цитата(diverd @ 5.12.2005, 23:45)
Дана точка (x;y) и круг радиуса R с центром в точке (0;0). Определить, где находится точка: внутри, на границе, или за пределами круга.

Код

var
  R, x, y: real;
  L: real;
begin
  Write('Введите R, x, y: ');
  ReadLn(R, x, y);
  l:=sqrt(sqr(x) + sqr(y));
  if L>R then WriteLn('за пределами круга')
  else if L<R then WriteLn('внутри круга')
  else if L=R then WriteLn('на границе круга');
end.

case здесь не лепится...
Добавлено @ 00:42
Цитата(diverd @ 5.12.2005, 23:45)
Вывести все элементы двумерного массива [MxN] кратные A

Код

cont
  M=10; // ну например
  N=12;
  A=4;
var
  m: array[1..M, 1..N] of integer;
  i,j: integer;
begin
  Randomize; { заполняем массив}
  for i:=1 to M do
    for j:=1 to N do
      m[i,j]:=Round(Random(100)); {вроде в паскале нужно округлять...}
  {теперь ищем}
  for i:=1 to M do
    for j:=1 to N do
      if m[i,j] mod A = 0 then WriteLn('[', x, ',', y, ']','=',m[i,j]);
end;

Добавлено @ 00:43
Четвертую делать лень. Муторно, да и время уже спальное пришло...

Автор: DiverD 6.12.2005, 10:06
2Snowy спасибо, потом попробую щас начерталку нада делать...

2Poseidon я о критике тебя не просил, я могу тебя закритиковать до смерти!
Если я попросил сделать паскаль эта не значит что я нихера ни делою,проста у меня сейчас такая ситуация!
Да еще и в больницу может положат тогда вообще в окадемку уйду!




Автор: NG2016 20.11.2016, 08:44
Начерталовку можу порешать.

Автор: Фантом 20.11.2016, 13:17
Цитата(NG2016 @  20.11.2016,  09:44 Найти цитируемый пост)
Начерталовку можу порешать.
 Через 11 лет...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)