09.01.2010, 19:33 | #1 (permalink) |
Member
Регистрация: 23.09.2008
Сообщений: 946
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 397
|
Pascal задачки.
1. Составить программу для решения проведённого ниже задания двумя способами: а) используя команду выбора Case б)используя команду If Придумать и задать входные данные так, чтобы выбор состоял из 4-7 альтернатив. Ввести первую букву задания страны. вывести название континента. 2. построить таблицу в соответствии между мерами САК=109Л=1.499страйка. нач. значение меры, шаг изменения этого значения и кол-во строк в таблице(10-15). Задать самостоятельно в режиме диалога. Оформить таблицу как можно лучше, применяя форматы вывода. 3. Протабулировать функцию y=|(cos(2 в кубе)+2sinx)/(5x-2Pi)| на отрезке от нуля до одного включая 0 и 1, с шагом h=0.9. Результаты вычислния вывести на экран в виде таблицы пар чисел х,у. Вычислить сумму и кол-во положительных значений функции у. 4.Ввести фамилию(Лысых), имя(Надежда) и отчество(Олеговна) как одно текстовое данное. Определить длину текста и кол-во букв "А" в нём. Выполнить дополнительно, изъять все буквы "А","О" из фамилии. 5. Пусть доход фирмы за К-тый год вычисляется по формуле у(индекс К)=100*(sin|(K*K-1.5)/(Pi-3.4*K)|+cos(2+K) В некоторых условных единицах, где К=1991,1992... 2001. Если у(индекс К)>0, то будем считать, что фирма в соотстветствующий(К-тый) год имела прибыль, а в случае у(индекс К)<0 - убытки. Вывети на экран таблицу: год, величина дохода. Выполнить дополнительно: вычислить сумму тех убытков, которые в границах у(индекс К)<-600 или 4у(индекс К)>-100 (в у.е.). Определить общий доход фирмы. Рассмотреть финансовую деятельность фирмы на протяжении 10лет. Вывести сообщения, если искомые данные отсутствуют, например, если прибылей или убытков фирма не имела. 6. Модернизировать решения любых 2-х заданий с 1-5, таким образом, чтобы ввод входных данныхи вывод полученных результатов осуществлялся через текстовый файл. |
09.01.2010, 19:33 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ваш пост по содержанию очень схож с данными темами Pascal, две задачки, нужна помощь Решить задачки Помогите решить задачки в Pascal Задачки на массивы. Паскаль |
09.01.2010, 20:32 | #3 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
1 задание
Определим исходные данные: Г (Германия) континент Европа К (Китай) континент Азия С (США) континент Северная Америка В (Венесуэла) континент Южная Америка Ю (ЮАР) континент Африка Написание программы сводится к правильному построению логических цепочек. Алгоритм работы: вводим 1 символ названия страны, выбираем соответствие в списке, выводим название континента. Листинг может быть примерно следующим: Код:
program land; var name: char; begin writeln('Input name land'); read(name); case name of 'Г','г':writeln('Европа'); 'К','к':writeln('Китай'); 'С','с':writeln('Северная Америка'); 'В','в':writeln('Южная Америка'); 'Ю','ю':writeln('Африка'); else writeln('Такой страны в списке нет'); end; readln; end.
__________________
Убить всех человеков! |
09.01.2010, 22:22 | #5 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
CONST Sack2Litre=109.0; Sack2Strike=1.499; Units:ARRAY[1..3] of STRING=(' Sack',' Litre',' Strike'); VAR Order:ARRAY[1..3] of BYTE; Unit1:BYTE; K2,K3,Min_Value,Max_Value,Step:Real; i:INTEGER; BEGIN WriteLn('Enter the base unit:'); WriteLn('1 - Sack'); WriteLn('2 - Litre'); WriteLn('3 - Strike'); ReadLn(Unit1); CASE Unit1 of 1: begin K2:=Sack2Litre; K3:=Sack2Strike; Order[1]:=1; Order[2]:=2; Order[3]:=3; end; 2: begin K2:=1.0/Sack2Litre; K3:=Sack2Strike/Sack2Litre; Order[1]:=2; Order[2]:=1; Order[3]:=3; end; 3: begin K2:=1.0/Sack2Strike; K3:=Sack2Litre/Sack2Strike; Order[1]:=3; Order[2]:=1; Order[3]:=2; end; END; Write('Enter the low value '); ReadLn(Min_Value); Write('Enter the high value '); ReadLn(Max_Value); Step:=(Max_Value-Min_Value)/10; WriteLn(Units[Order[1]],' ',Units[Order[2]],' ',Units[Order[3]]); For i:=0 to 10 do Writeln((Min_Value+Step*i):9:4,' ', (Min_Value+Step*i)*K2:9:4,' ', (Min_Value+Step*i)*K3:9:4); ReadLn; END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.01.2010, 22:33 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Neonn1k, в задаче 3 проверьте аргумент косинуса. Это что, действительно там просто 8? Или может быть 2x³? Или (2x)³?
|
09.01.2010, 23:00 | #8 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
CONST Family:STRING='LysyhNadezdaOlegovna'; VAR Lng,Number_of_A,i:BYTE; BEGIN WriteLn(Family); Lng:=Length(Family); WriteLn('Length= ',Lng); Number_of_A:=0; For i:=1 to Lng do If Family[i]='a' then Inc(Number_of_A); WriteLn('There are ',Number_of_A,' letters "a" in the string'); For i:=1 to Lng do If (Family[i]<>'a') and (Family[i]<>'A') and (Family[i]<>'o') and (Family[i]<>'O') then Write(Family[i]); ReadLn; END. Код:
VAR Family:STRING; Lng,Number_of_A,i:BYTE; f:TEXT; BEGIN Assign(f,'C:\fff'); ReSet(f); ReadLn(f, Family); Close(f); WriteLn(Family); Lng:=Length(Family); WriteLn('Length= ',Lng); Number_of_A:=0; For i:=1 to Lng do If Family[i]='a' then Inc(Number_of_A); WriteLn('There are ',Number_of_A,' letters "a" in the string'); For i:=1 to Lng do If (Family[i]<>'a') and (Family[i]<>'A') and (Family[i]<>'o') and (Family[i]<>'O') then Write(Family[i]); ReadLn; END. |
|
10.01.2010, 10:48 | #9 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR y:ARRAY[1991..2001] of REAL; k,General_Income:INTEGER; BEGIN General_Income:=0; For k:=1991 to 2001 do begin y[k]:=100*(Sin(ABS((SQR(k)-1.5)/(Pi-3.4*k)))+Cos(2+k)); WriteLn(k,ROUND(y[k]):15); General_Income:=General_Income+ROUND(y[k]); end; WriteLn('General_Income was ',General_Income); ReadLn; END. |
|
10.01.2010, 12:42 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR x,y,h,Sum:REAL; i,Npos:INTEGER; BEGIN h:=0.1; Sum:=0; Npos:=0; For i:=0 to 10 do begin x:=h*i; y:=ABS((SQR(Cos(x*2))*Cos(x*2)+Sin(x)*2)/(x*5-2*Pi)); WriteLn(x:3:1,y:15:5); If y>0 then begin INC(Npos); Sum:=Sum+y; end; end; Writeln('There are ',Npos,' positive values.'); Writeln('Their sum is',Sum:15:5); ReadLn; END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|