20.12.2014, 12:09 | #1 (permalink) |
Member
Регистрация: 19.12.2014
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Составить программу вычисления
Вот так выглядит задание: 1. Составьте программу вычисления выражения: MAX (X•Y, Y•Z, X•Z) +20 2. Используя метод детализации, найти самую маленькую цифру целого числа. 3.Создать одномерный массив из 12 элементов. Поменять местами наибольший элемент с последним. Вывести новый массив. 4. Разработать алгоритм программы, вычисления выражения. Использовать структуру итерационного цикла Х=(1 + 1 / 12) • (1 + 1 / 22) • (1 + 1 / 32) •... ? = 0,0001 PS:как я понял это блок схемы или что то подобное))Методичку прикрепил. Прошу помогите к понедельнику нужно сдать. |
20.12.2014, 12:09 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Зачастую проблему можно решить быстрее, если ознакомиться с похожими обсуждениями Составьте программу вычисления произведения простых делителей натурального числа Составить программу для вычисления значения Составить программу Помогите составить программу |
20.12.2014, 13:44 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Всё, чем могу помочь - написать программы решения этих пустых задачек на Паскале. А что касается приложенного пособия - виноват, но я, который занимается программированием около 40 лет, почти ничего там не понял. Увидел лишь бурный поток каких-то надуманных, пустых, но очень высокопарно-напыщенных слов и фраз. Так что извините, но со всеми этими "методами детализации" у меня нет ни малейшего желания разбираться.
Кроме того, рисовать блок-схемы не умею. Мне они сто лет в обед не нужны. Так что если устроят чисто паскалевские листинги - сделаю. С остальным - сожалею, но... |
20.12.2014, 20:27 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Код:
Program N1; Var X,Y,Z:Real; Function Max_2(a,b:real):real; begin if a>b then Max_2:=a else Max_2:=b; end; Function Max_3(a,b,c:real):real; var d:real; begin d:=Max_2(a,b); if d>c then Max_3:=d else Max_3:=c; end; Begin Write('X = '); Readln(X); Write('Y = '); Readln(Y); Write('Z = '); Readln(Z); Writeln((Max_3(X*Y,Y*Z,X*Z)+20):0:5); End. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.12.2014, 20:40 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Program N2; Var Num,L,i,Min,m:Integer; Begin Write('Enter the number: '); Readln(Num); if Num=0 then Min:=0 else begin Min:=9; L:=Trunc(Ln(Num)/Ln(10))+1; for i:=1 to L do begin m:=Num mod 10; if m<Min then Min:=m; Num:=Num div 10; end; end; Writeln('Minimal figure is ',Min); End. |
|
20.12.2014, 20:52 | #7 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Program N3; Const N=12; Var A:Array[1..N] of Integer; i,temp,Max,Imax:Integer; Begin Randomize; Writeln('Initial array:'); Imax:=1; A[1]:=Random(100); Write(A[1]:4); Max:=A[1]; for i:=2 to N do begin A[i]:=Random(100); Write(A[i]:4); if A[i]>Max then begin Max:=A[i]; Imax:=i; end; end; writeln; writeln; Writeln('New array:'); temp:=A[Imax]; A[Imax]:=A[N]; A[N]:=temp; for i:=1 to N do write(A[i]:4); End. |
|
20.12.2014, 21:03 | #8 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Program N4; Const eps=0.0001; Var n,k:Integer; Y_old,Y_new,Delta:Real; Begin n:=12; Y_old:=(1+1/n); k:=1; Repeat n:=n+10; Inc(k); Y_new:=Y_old*(1+1/n); Delta:=Y_new-Y_old; Y_old:=Y_new; Until Delta<=eps; Writeln('Y = ',Y_new:0:5); Writeln('k = ',k); Writeln('Last = ',(1+1/n):0:15); End. |
|
21.12.2014, 10:46 | #9 (permalink) |
Member
Регистрация: 19.12.2014
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо , за ваш труд!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|