• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с задачками

  • Автор темы Автор темы AnSo
  • Дата начала Дата начала

AnSo

Ученик
Регистрация
25 Ноя 2013
Сообщения
6
Реакции
0
Баллы
0
Помогите с задачками

Привет всем , недавно начал заниматься программированием , ну как начал просто поступил на специальность где есть программирование , сначало всё было довольно легко , мне очень нравилось , но потом я вообще перестал понимать что нужно сделать в определённой задаче и как её решить.tehno036 . Программирую в делфи , надеюсь что добрые люди этого форума помогут решить задачки:tehnari_ru_837: , и пожалуйста с комментариями к коду , буду очень благодарен!

Вот собственно и сами задачи: 1.Задача на циклы,нужно сделать в 3 вариантах:1 цикл с предусловием , 2 цикл с постусловием , 3 цикл с параметром. ЗАДАЧА:Пользуясь реккурентной формулой для заданного с клавиатуры m , вычислить Ym , если известны Y0,Y1,Y2, а Yi вычисляется по формуле Yi=tg^2(Yi-3)+Yi-2; i=3,4,5,...,m.

2.Задача на массив .Дан одномерный массив А длинной М . Определить является ли он геометрической прогрессией.
 
надеюсь что добрые люди этого форума помогут решить задачки
Могу предложить решение на Паскале, а уж с дельфийскими формами-обвесками разбирайтесь сами. Устроит? Если да, то приведите для отладки точные значения констант Y0, Y1 и Y2 в первой задаче.
 
А в чем проблема? С языком программирования или алгоритмами? Что конкретно не понятно?
 
Привет всем , недавно начал заниматься программированием , ну как начал просто поступил на специальность где есть программирование , сначало всё было довольно легко , мне очень нравилось , но потом я вообще перестал понимать что нужно сделать в определённой задаче и как её решить.tehno036 . Программирую в делфи , надеюсь что добрые люди этого форума помогут решить задачки:tehnari_ru_837: , и пожалуйста с комментариями к коду , буду очень благодарен!

Вот собственно и сами задачи: 1.Задача на циклы,нужно сделать в 3 вариантах:1 цикл с предусловием , 2 цикл с постусловием , 3 цикл с параметром. ЗАДАЧА:Пользуясь реккурентной формулой для заданного с клавиатуры m , вычислить Ym , если известны Y0,Y1,Y2, а Yi вычисляется по формуле Yi=tg^2(Yi-3)+Yi-2; i=3,4,5,...,m.

2.Задача на массив .Дан одномерный массив А длинной М . Определить является ли он геометрической прогрессией.

Еще нужна помощь???
 
Проблема по большей части с языком программирования.
 
Могу предложить решение на Паскале, а уж с дельфийскими формами-обвесками разбирайтесь сами. Устроит? Если да, то приведите для отладки точные значения констант Y0, Y1 и Y2 в первой задаче.

Устроит и на паскале , в принципе можете любые значения вбивать , без разницы ...
 
А в чем проблема? С языком программирования или алгоритмами? Что конкретно не понятно?

Конкретно непонятно как запрограммировать на языке , с алгоритмами и составлением блок схем всё нормально.
 
Устроит и на паскале , в принципе можете любые значения вбивать , без разницы ...
Ну, ежели устроит, то первая задачка это, например, так:
Код:
Const
 Y0=0.3;
 Y1=0.2;
 Y2=0.1;

Function Tg2(x:real):real;
begin
 Tg2:=Sqr(Sin(x)/Cos(x));
end;

Var
 m,i,j:byte;
 Y:Array[1..4] of real;

Begin
 Y[2]:=Y0;
 Y[3]:=Y1;
 Y[4]:=Y2;
 Write('m= ');
 Readln(m);
 for i:=3 to m do
  begin
   for j:=2 to 4 do Y[j-1]:=Y[j];
   Y[4]:=Tg2(Y[1])+Y[2];
  end;
 Writeln('Result: ',Y[4]);
 Y[2]:=Y0;
 Y[3]:=Y1;
 Y[4]:=Y2;
 i:=3;
 While i<=m do
  begin
   for j:=2 to 4 do Y[j-1]:=Y[j];
   Y[4]:=Tg2(Y[1])+Y[2];
   Inc(i);
  end;
 Writeln('Result: ',Y[4]);
 Y[2]:=Y0;
 Y[3]:=Y1;
 Y[4]:=Y2;
 i:=2;
 Repeat
  Inc(i);
  for j:=2 to 4 do Y[j-1]:=Y[j];
  Y[4]:=Tg2(Y[1])+Y[2];
 Until i=m;
 Writeln('Result: ',Y[4]);
 Readln
End.
 
А так - вторая:
Код:
Var
 M,i,p,r:byte;
 A:Array[1..255] of Word;
 q:real;
Begin
 Write('M= ');
 Readln(M);
 r:=1;
 for i:=1 to M do
  begin
   Write('A[',i,']= ');
   Readln(A[i]);
   if A[i]=0 then r:=0;
  end;
 If r=1 then
  begin
   q:=A[2]/A[1];
   p:=0;
   i:=3;
   Repeat
    if A[i]/A[i-1]<>q then p:=1;
    Inc(i);
   Until (p=1) or (i=M);
   If p=1 then writeln('No!') else writeln('Yes!');
  end
 else
  writeln('No!');
 Readln
End.
Пояснение: проверяется наличие нулевых членов во вводимом массиве (в геометрической прогрессии их быть не может). Это флажок r.
 
Назад
Сверху