Defenishion
Новичок
|
Дано натуральное число n. Получить f[0]f[1]...f[n], где f= 1 / ( [ i ]^2+1)+ 1/( [ i ]^2+2)+……+1/( [ i ]^2+[ i ]+1)
|
Всего сообщений: 6 | Присоединился: октябрь 2009 | Отправлено: 5 окт. 2009 20:02 | IP
|
|
Kurvochka
Новичок
|
Цитата: Dale написал 4 окт. 2009 8:27
Цитата: Kurvochka написал 3 окт. 2009 14:18 Люди привет! если кто-то читает это сообщения то помогите плиз!! Нужно составить анимацию в паскале движение планеты Земля вокруг Солнца. Нужно срочно!!это курсовая работа.
Ну для начала, вот основа:
Code Sample:
uses crt,graph; const r_z=10;{paduyc 3emJIu} r_s=100;{paduyc coJIHU,a} rasst=200;{paccto9IHue oT 3em do C.} var driver,mode:integer; x_z,y_z:integer; yrol:real; procedure write_zem(x,y:integer); begin circle(x,y,r_z); end; begin driver:=detect; initgraph(driver,mode,''); x_z:=0;y_z:=0;yrol:=0; while not keypressed do begin cleardevice; circle(640 div 2,480 div 2, r_s); x_z:=round(cos(yrol)*rasst)+640 div 2; y_z:=round(sin(yrol)*rasst)+480 div 2; write_zem(x_z,y_z); yrol:=yrol+pi/100; delay(5000); end; end.
А вы можете возле каждой строки программы написать что она означает?и еще как залить солнце и землю? напишите пожалуйста! в самой программе делать больше ничего не нада. всьо отлично.
|
Всего сообщений: 7 | Присоединился: октябрь 2009 | Отправлено: 7 окт. 2009 14:02 | IP
|
|
Adrammelech
Новичок
|
Цитата: Defenishion написал 5 окт. 2009 20:02 Дано натуральное число n. Получить f[0]f[1]...f[n], где f= 1 / ( [ i ]^2+1)+ 1/( [ i ]^2+2)+……+1/( [ i ]^2+[ i ]+1)
Что такое i, и как оно изменяется, от 0 или от1? f[ 0 ]f[ 1 ]...f[ n ] между членами умножение?
|
Всего сообщений: 21 | Присоединился: сентябрь 2009 | Отправлено: 7 окт. 2009 19:09 | IP
|
|
Defenishion
Новичок
|
да не знаю)если б понимал уже ю написал( отпишите кто знает плз
|
Всего сообщений: 6 | Присоединился: октябрь 2009 | Отправлено: 7 окт. 2009 19:58 | IP
|
|
Alsebra
Новичок
|
Даны вещественные числа a,b,c и m. Если a<b<c>m, то каждое число заменить наибольшим из них. Я правельно делаю,если не правельно то как надо? ____________________________________________________ var a,b,c,m; if a<b then begin writeln('a<b'); c:=a+b end; else; begin writeln('a<b<c'); m:=a+b+c end; ____________________________________________________ (Сообщение отредактировал Alsebra 8 окт. 2009 19:13)
|
Всего сообщений: 3 | Присоединился: сентябрь 2009 | Отправлено: 8 окт. 2009 12:02 | IP
|
|
Dale
Участник
|
Kurvochka uses crt,graph; {Подключаем модли crt(для работы keypressed и delay ) и модуль graph для работы с графикой} {Объявляем константы в пикселах} const r_z=10;{paduyc 3emJIu} r_s=100;{paduyc coJIHU,a} rasst=200;{paccto9IHue oT 3em do C.} var driver,mode:integer; {Для инициализации граф. режима} x_z,y_z:integer; {текущие координаты Земли} yrol:real; {Текущий угол, на который отклонена земля, в радианах} {Процедура, рисующая Землю в заднных координатах x , y} procedure write_zem(x,y:integer); begin circle(x,y,r_z); {рисуем окружность в точке x,y радиуса r_z} end; begin {Инициализируем графический режим} driver:=detect; initgraph(driver,mode,''); {Начальные значения} x_z:=0;y_z:=0;yrol:=0; {Пока не будет нажата клавиша} while not keypressed do begin cleardevice; {Очищаем экран} circle(640 div 2,480 div 2, r_s); {рисуем в центре экрана солнце div - это целочисленное деление} {Вычисляем координаты Земли} {round - округление} {Параметрическое уравнение окружности см. http://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C внешняя ссылка удалена } x_z:=round(cos(yrol)*rasst)+640 div 2; y_z:=round(sin(yrol)*rasst)+480 div 2; {Выводим землю в текущих координатах} write_zem(x_z,y_z); {Увеличиваем угол на pi/100 радиан} yrol:=yrol+pi/100; {Делаем паузу в программе} delay(5000); end;{Конец цикла} end.{конец программы} 2)см. SetFillStyle , Setcolor (Сообщение отредактировал Dale 9 окт. 2009 10:16)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 9 окт. 2009 10:10 | IP
|
|
MaJlbBuHa
Новичок
|
Всем доброго время суток. Проверьте пожалуйста у меня следующие задачи: 1) Сформировать массив случайными числами из промежутка [5*a-11,3*b^2],a и b считываются с клавиатуры Мое решение: uses crt; var c:array[1..10] of integer; i,a,b,h,o:integer; begin clrscr; randomize; writeln('vvedite a , b'); readln(a,b); o:=5*a-11; h:=3*sqr(b); For i:=1 to 10 do begin a:=random(h)+o; write(a:3); end; writeln; readln; end. 2) дан массив. к каждому второму элементу прибавить первый элемент массива. мое решение: uses crt; var a:array[1..10] of integer; i:integer; begin clrscr; randomize; writeln('vvedite k'); readln(k); for i:=1 to k do begin a:=random(50); if i mod 2 =0 then a:=a+a[1]; write(a:3); end; readln; end. 3) заполнить массив 15 первыми натуральными числами, делящимися на 4 и на 11, большими 10 мое решение: uses crt; var a:array[1..15] of longint; i:integer; begin clrscr; for i:=1 to 15 do begin a[1]:=11*4; a[2]:=a[1]*11; a[3]:=a[2]*11; a[4]:=a[3]*11; a[5]:=a[4]*11; a[6]:=a[5]*11; a[7]:=a[6]*11; a[8]:=a[7]*11; a[9]:=a[8]*11; a[10]:=a[9]*11; a[11]:=a[10]*11; a[12]:=a[11]*11; a[13]:=a[12]*11; a[14]:=a[13]*11; a[15]:=a[14]*11; writeln(a:3); end; readln; end. но это не рационально, как лучше решить. Помогите пожалуйста ,заранее спасибо
|
Всего сообщений: 48 | Присоединился: январь 2009 | Отправлено: 9 окт. 2009 18:24 | IP
|
|
Defenishion
Новичок
|
помоему там надо писать процедуру что б не вписывать в программку по 100 раз одно и тоже
|
Всего сообщений: 6 | Присоединился: октябрь 2009 | Отправлено: 9 окт. 2009 18:28 | IP
|
|
Dale
Участник
|
Цитата: MaJlbBuHa написал 9 окт. 2009 18:24 Всем доброго время суток. Проверьте пожалуйста у меня следующие задачи: 1) Сформировать массив случайными числами из промежутка [5*a-11,3*b^2],a и b считываются с клавиатуры Мое решение: uses crt; var c:array[1..10] of integer; i,a,b,h,o:integer; begin clrscr; randomize; writeln('vvedite a , b'); readln(a,b); o:=5*a-11; h:=3*sqr(b); For i:=1 to 10 do begin a[ i ]:=random(h)+o; write(a[ i ]:3); end; writeln; readln; end.
a[ i ]:=random(h-1)+o;
Цитата: MaJlbBuHa написал 9 окт. 2009 18:24 2) дан массив. к каждому второму элементу прибавить первый элемент массива. мое решение: uses crt; var a:array[1..10] of integer; i:integer; begin clrscr; randomize; writeln('vvedite k'); readln(k); for i:=1 to k do begin a[ i ]:=random(50); if i mod 2 =0 then a[ i ]:=a[ i ]+a[1]; write(a[ i ]:3); end; readln; end.
Вроде все правильно
Цитата: MaJlbBuHa написал 9 окт. 2009 18:24 3) заполнить массив 15 первыми натуральными числами, делящимися на 4 и на 11, большими 10 мое решение: uses crt; var a:array[1..15] of longint; i:integer; begin clrscr; for i:=1 to 15 do begin a[1]:=11*4; a[2]:=a[1]*11; a[3]:=a[2]*11; a[4]:=a[3]*11; a[5]:=a[4]*11; a[6]:=a[5]*11; a[7]:=a[6]*11; a[8]:=a[7]*11; a[9]:=a[8]*11; a[10]:=a[9]*11; a[11]:=a[10]*11; a[12]:=a[11]*11; a[13]:=a[12]*11; a[14]:=a[13]*11; a[15]:=a[14]*11; writeln(a[ i ]:3); end; readln; end. но это не рационально, как лучше решить. Помогите пожалуйста ,заранее спасибо
Тогда уж a[1]:=11*4; for i:=2 to 15 do begin a[ i ]:=a[i-1]*11; writeln(a[ i ]:3); end; Хотя я бы сделал так: i:=1; c:=11*4; while i<=15 do begin if(c mod 4=0) and (c mod 11=0) then begin a[ i ]:=c; i:=i+1; end; c:=c+1; end; И самое главное: Читайте правила перед тем, как писать что-то на форум! Если у вас i в квадратных скобках, то ставьте пробелы до и после i! (Сообщение отредактировал Dale 10 окт. 2009 9:04)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 10 окт. 2009 9:01 | IP
|
|
Dale
Участник
|
Цитата: Alsebra написал 8 окт. 2009 12:02 Даны вещественные числа a,b,c и m. Если a<b<c>m, то каждое число заменить наибольшим из них. Я правельно делаю,если не правельно то как надо? ____________________________________________________ var a,b,c,m; if a<b then begin writeln('a<b'); c:=a+b end; else; begin writeln('a<b<c'); m:=a+b+c end; ____________________________________________________ (Сообщение отредактировал Alsebra 8 окт. 2009 19:13)
Что то явно не то: -Не указан тип переменных -Зачем c присваивать a+b? И m - a+b+c? Надо заменить наибольшим, а не суммой. -После else ";" будет означать пустой оператор, и как правило не ставится; между end и else она не ставится никогда. Я бы сделал так:
Code Sample:
var a,b,c,m,max:real; mas:array[1..4] of real; begin writeln('Введите a,b,c,m'); readln(a,b,c,m); if (a<b) and (b<c) and (c>m) then begin mas[1]:=a;mas[2]:=b;mas[3]:=c;mas[4]:=m; {ищем максимум в массиве} max:=mas[1]; for i:=2 to 4 do if max<mas[ i ] then max:=mas[ i ]; {Заменяем} a:=max;b:=max;c:=max;d:=max; writeln('Все числа были заменены на максимальное и них - ',max:5:5); end else writeln('Числа не попадают в условие a<b<c>m'); readln; end.
Если условие a<b<c>m выполняется, то заиписываем a,b,c,m в массив, нходим максимальный элемент и заменяем числа на него, затем выводим сообщение. Иначе выводим, что числа не попдают в условие a<b<c>m. (Сообщение отредактировал Dale 10 окт. 2009 9:53)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 10 окт. 2009 9:36 | IP
|
|
|