Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 29.05.2013, 11:05   #1 (permalink)
antonioband
Новичок
 
Регистрация: 22.03.2013
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Массивы

помогите пожалуйста!составить программу, очень нужно!((
Миниатюры
3.jpg  
antonioband вне форума   Ответить с цитированием

Старый 29.05.2013, 11:05
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Похожие темы могут значительно упростить решение вашего вопроса

Массивы. Паскаль
Задача на массивы Паскаль ABC

Старый 29.05.2013, 14:27   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от antonioband Посмотреть сообщение
помогите пожалуйста!составить программу, очень нужно!((
Да, сударь - Вы, похоже, даже задания не поняли. Не нужно тут составлять никакой программы, программа (фрагмент) уже написана, надо только в ней разобраться и выбрать нужный вариант ответа. По секрету могу сказать, что таковым будет ответ N3, т.е все элементы станут равны 0.
Vladimir_S вне форума   Ответить с цитированием
Старый 29.05.2013, 22:57   #3 (permalink)
antonioband
Новичок
 
Регистрация: 22.03.2013
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

нет,уважаемый. помимо того,что нужно решить задачу по условию, т.е. полностью четко расписать что получиться и как(у меня ума на это не хватает), нужно составить полностью программу.
antonioband вне форума   Ответить с цитированием
Старый 30.05.2013, 10:03   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от antonioband Посмотреть сообщение
нет,уважаемый. помимо того,что нужно решить задачу по условию, т.е. полностью четко расписать что получиться и как(у меня ума на это не хватает), нужно составить полностью программу.
Ну что же, любезнейший, как скажете. Начнем, с Вашего позволения, с программы:
Код:
Var
 A:Array[1..7] of Real;
 i:byte;
Begin
 for i:=0 to 6 do
  begin
   A[i+1]:=i*i;
   write(A[i+1]:3:0);
  end;
 writeln;
 write(A[1]:3:0);
 for i:=2 to 7 do
  begin
   A[i]:=A[i-1]/A[i];
   write(A[i]:3:0);
  end;
 readln
End.
Если не возражаете, результат работы программы:
aaa01.jpg
Ну а теперь, почтеннейший, разберемся, как оно работает.
1. В первом цикле идет присваивание значений элементам массива. Переменная цикла i пробегает диапазон от 0 до 6, и значения квадратов этой переменной присваиваются элементам A[i+1], т.е.
Код:
i = 0    i+1 = 1    A[i+1] = A[1] = i*i =   0
i = 1    i+1 = 2    A[i+1] = A[2] = i*i =   1
i = 2    i+1 = 3    A[i+1] = A[3] = i*i =   4
i = 3    i+1 = 4    A[i+1] = A[4] = i*i =   9
i = 4    i+1 = 5    A[i+1] = A[5] = i*i =  16
i = 5    i+1 = 6    A[i+1] = A[6] = i*i =  25
i = 6    i+1 = 7    A[i+1] = A[7] = i*i =  36
Я Вас не утомил, о неповторимый? Нет? Ну тогда, если Вы не против, продолжим.
2. Во втором цикле происходит переприсвоение значений элементам A[i] массива по определенному алгоритму. Переменная цикла i пробегает значения от 2 до 7, так что первый элемент остается тем же, то есть нулевым. Рассмотрим вопрос о значении второго элемента:
Код:
A[2] = A[1]/A[2] = 0/1  = 0
Здесь учитываем, что если справа имеется тот же идентификатор (в данном случае A[2]), что и у искомой переменной, то подразумевается, что в правую часть подставляется "старое" значение. Теперь найдем третий элемент. Он выражается через второй, но!!! не забываем, что значение этого самого второго к моменту вычисления третьего успело измениться, а именно стать равным нулю. Итого:
Код:
A[3] = A[2]/A[3] = 0/4  = 0
И далее по цепочке:
Код:
A[4] = A[3]/A[4] = 0/9  = 0
A[5] = A[4]/A[5] = 0/16 = 0
A[6] = A[5]/A[6] = 0/25 = 0
A[7] = A[6]/A[7] = 0/36 = 0
Достаточно ли ясно я изложил суть вопроса, о Великий из великих, или еще пояснения требуются?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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