Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 20.12.2014, 12:09   #1 (permalink)
bender93
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:как я понял это блок схемы или что то подобное))Методичку прикрепил. Прошу помогите к понедельнику нужно сдать.
Вложения
Тип файла: doc КР_5_УчебноеПособие_Алгоритмы.doc (253.5 Кб, 335 просмотров)
bender93 вне форума   Ответить с цитированием

Старый 20.12.2014, 12:09
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Зачастую проблему можно решить быстрее, если ознакомиться с похожими обсуждениями

Составьте программу вычисления произведения простых делителей натурального числа
Составить программу для вычисления значения
Составить программу
Помогите составить программу

Старый 20.12.2014, 12:13   #2 (permalink)
bender93
Member
 
Регистрация: 19.12.2014
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Язык всё тот же Паскаль(
bender93 вне форума   Ответить с цитированием
Старый 20.12.2014, 13:44   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Всё, чем могу помочь - написать программы решения этих пустых задачек на Паскале. А что касается приложенного пособия - виноват, но я, который занимается программированием около 40 лет, почти ничего там не понял. Увидел лишь бурный поток каких-то надуманных, пустых, но очень высокопарно-напыщенных слов и фраз. Так что извините, но со всеми этими "методами детализации" у меня нет ни малейшего желания разбираться.
Кроме того, рисовать блок-схемы не умею. Мне они сто лет в обед не нужны.
Так что если устроят чисто паскалевские листинги - сделаю. С остальным - сожалею, но...
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2014, 14:09   #4 (permalink)
bender93
Member
 
Регистрация: 19.12.2014
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ну напишите, что сможете
bender93 вне форума   Ответить с цитированием
Старый 20.12.2014, 20:27   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от bender93 Посмотреть сообщение
1. Составьте программу вычисления выражения: MAX (X•Y, Y•Z, X•Z) +20
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 20.12.2014, 20:40   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от bender93 Посмотреть сообщение
2. Используя метод детализации, найти самую маленькую цифру целого числа.
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2014, 20:52   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от bender93 Посмотреть сообщение
3.Создать одномерный массив из 12 элементов. Поменять местами наибольший элемент с последним. Вывести новый массив.
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2014, 21:03   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от bender93 Посмотреть сообщение
4. Разработать алгоритм программы, вычисления выражения. Использовать структуру итерационного цикла Х=(1 + 1 / 12) • (1 + 1 / 22) • (1 + 1 / 32) •... ? = 0,0001
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 21.12.2014, 10:46   #9 (permalink)
bender93
Member
 
Регистрация: 19.12.2014
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо , за ваш труд!
bender93 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:04.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.