23.12.2009, 22:43 | #1 (permalink) |
Member
Регистрация: 23.07.2008
Сообщений: 584
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 278
|
Помогите с прогами в Паскале
10.8. Дано стороны двух треугольников: a, b, c и d, e, f. Найти, на сколько площадь одного треугольника больше второй. Площадь треугольника ABC со сторонами A, B, C исчисляется по формулой Герона s = r (r-a) (r-b) (r-c) где R - пивпериметр треугольника ABC. Вычисление площади треугольников оформить в виде процедуры. 6.8. Дан одномерный массив P, состоящий из 16 элементов. Найти номера тех элементов, модуль которых равна заданному числу А. Число А ввести с клавиатуры. Помогите решить эти 3 задачи в Паскале) Оч нужно!!! Спасибо. |
23.12.2009, 22:43 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Тут может содержаться интересующая вас информация Помогите решить задачу на Паскале Помогите с задачей в Паскале |
23.12.2009, 23:09 | #2 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Задание 9.8
Код:
const n=6; var a:array[1..n,1..n]of byte; i,j:byte; begin Randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random(10); for i:=1 to n do a[i,i]:=0; for i:=1 to n do begin for j:=1 to n do write(a[i,j],' '); writeln; end; readln; end. |
23.12.2009, 23:19 | #3 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Задание 6.8
Код:
const n=10; var p:array[1..n]of byte; i,a:byte; begin Randomize; for i:=1 to n do p[i]:=random(10); for i:=1 to n do write(p[i],' '); writeln; write('a= '); readln(a); for i:=1 to n do if p[i]=a then writeln(i); readln; end. |
23.12.2009, 23:38 | #4 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Задание 10.8
Код:
var a,b,c,d,e,f:byte; s1,s2,s_otn:real; procedure geron(a,b,c:byte;var s1:real); var p:real; begin p:=(a+b+c)/2; s1:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin write('Введите a b c '); readln(a,b,c); write('Введите d e f '); readln(d,e,f); geron(a,b,c,s1); geron(d,e,f,s2); s_otn:=s1/s2; writeln('Площадь 1 треугольника ',s1:5:2); writeln('Площадь 2 треугольника ',s2:5:2); writeln('Отношение площадей ',s_otn:5:2); readln; end. |
24.12.2009, 10:25 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Уважаемый DDS, я позволил себе внести некоторую правку в Ваши программы, уж извините. Во-первых, если Вы используете генератор случайных чисел, то не забывайте в начале программы его инициализировать, т.е. написать команду Randomize. Во-вторых, ну что у Вас за пристрастие к CRT-шным командам типа ReadKey, при том, что модуль CRT вы не присоединяете? Останов программы в конце проще всего делается командой Readln, правда сработает это только при условии, что ввод с клавиатуры в теле программы осуществляется ТОЛЬКО командами Readln(x), но не Read(x). Универсальный останов лучше всего сделать так:
Uses CRT; ... Repeat Until KeyPressed; ReadKey; Последняя команда, впрочем, нужна только если останов не оконечный. Ну и в-третьих, сделана небольшая косметика: поправлены явные описки. Надеюсь, без обид? |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
24.12.2009, 11:29 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
while keypressed do readkey; {гарантируем пустой буфер перед ожиданием} readkey; if (keypressed) then readkey; {опустошаем буфер, если была нажата клавиша с расширенным скан-кодом} |
|
24.12.2009, 17:51 | #8 (permalink) |
Member
Регистрация: 23.07.2008
Сообщений: 584
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 278
|
Спасибо большое, очень помогли))))
Если не сложно, еще одна задачка) Оформить вычысление значения интегральной функции Ф(х), используя формулу(х>0): http://www.tehnari.ru/imagehosting/2...371e14813b.jpg |
24.12.2009, 21:20 | #9 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
FUNCTION Fi(x:REAL;n:INTEGER):REAL; VAR i:INTEGER; a,S:REAL; BEGIN a:=1; S:=1; FOR i:=1 TO n DO BEGIN a:=a*SQR(x)/4/i*(2*i-1)/(2*i+1); S:=S+a; END; Fi:=S*x*SQRT(2/Pi); END; {Fi} |
|
26.12.2009, 01:55 | #10 (permalink) |
Member
Регистрация: 23.07.2008
Сообщений: 584
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 278
|
Спасибо огромнейшее)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|