09.06.2011, 12:04 | #1 (permalink) |
Новичок
Регистрация: 27.05.2011
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Операторы цикла
1. Имеется серия изменений элементов треугольника. Группы элементов пронумерованы. В серии в произвольном порядке могут встречаться такие группы элементов треугольника: 1) основании и высота; 2) две стороны и угол между ними ( угол задан в градусах ); 3) три стороны. Составить программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве номера группы введен 0. Вот посмотрите у меня решено,но только не через операторы цикла. Var a,b,c,alpha,h,s:real; num:byte; begin writeln('Esli nugno nayti ploshad treugolnika po:'); writeln(' 1)osnovaniyu i visote najmite |1|'); writeln(' 2)po dwum storonam i uglu najmite |2|'); writeln(' 3)po trem storonam najmite |3|'); writeln('Dlia vihoda najmite |0|'); readln(num); case num of 0:exit; 1: begin write('vvedite dlinu osnovania: '); readln(a); write('vvedite visotu: '); readln(h); s:=a*h/2; end; 2: begin write('vvedite dlinu odnoy storoni: '); readln(a); write('vvedite dlinu drugoy storoni: '); readln(b); write('vvedite ugol v radianah: '); readln(alpha); s:=a*b*sin(alpha)/2; end; 3: begin write('vvedite dlinu pervoy storoni: '); readln(a); write('vvedite dlinu vtoroy storoni: '); readln(b); write('vvedite dlinu tretiey storoni: '); readln(c); alpha:=(a+b+c)/2; s:=sqrt(alpha*(alpha-a)*(alpha-b)*(alpha-c)); end; end; writeln('Ploshad = ',s:4:2); readln; end. |
09.06.2011, 12:04 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Обратите внимание на содержимое данных ссылок, это может раскрыть глаза на решение проблемы Сотовые операторы объяснили ФАСу размер кириллицы Операторы цикла 2 |
09.06.2011, 12:13 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
в начале вставьте repeat
перед пустым readln вставьте until num=0 Это цикл с постусловием, будет работать до тех пор, пока вы не введете вариант 0, потом происходит выход из программы Код:
Var a,b,c,alpha,h,s:real; num:byte; begin repeat writeln('Esli nugno nayti ploshad treugolnika po:'); writeln(' 1)osnovaniyu i visote najmite |1|'); writeln(' 2)po dwum storonam i uglu najmite |2|'); writeln(' 3)po trem storonam najmite |3|'); writeln('Dlia vihoda najmite |0|'); readln(num); case num of 1: begin write('vvedite dlinu osnovania: '); readln(a); write('vvedite visotu: '); readln(h); s:=a*h/2; end; 2: begin write('vvedite dlinu odnoy storoni: '); readln(a); write('vvedite dlinu drugoy storoni: '); readln(b); write('vvedite ugol v radianah: '); readln(alpha); s:=a*b*sin(alpha)/2; end; 3: begin write('vvedite dlinu pervoy storoni: '); readln(a); write('vvedite dlinu vtoroy storoni: '); readln(b); write('vvedite dlinu tretiey storoni: '); readln(c); alpha:=(a+b+c)/2; s:=sqrt(alpha*(alpha-a)*(alpha-b)*(alpha-c)); end; end; writeln('Ploshad = ',s:4:2); until num=0; end.
__________________
Убить всех человеков! |
09.06.2011, 12:28 | #5 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
К сожалению, нет у меня под рукой Excel
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.06.2011, 12:33 | #6 (permalink) |
Новичок
Регистрация: 27.05.2011
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Посмотрите пожалуйста еще эту программу, мне ее тоже нужно решить через оператор цикла
1. Дано натуральное число N . Вычислить: на картинке пример uses crt; var n,i:integer; s,z:real; begin write('n='); readln(n); s:=1; z:=1; for i:=2 to n do begin z:=-z/2; s:=s+z; end; write('S=',s:0:5);readln end. Правильно ли решено?если нет, то помогите пожалуйста |
09.06.2011, 13:11 | #7 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Правильно
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|