• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Составить программу вычисления

bender93

Новые
Регистрация
19 Дек 2014
Сообщения
17
Реакции
0
Баллы
0
Составить программу вычисления

Добрый день ! помогите решить задание ... Учусь на заочном, а преподаватель ничего не объясняет.... и сам путается:tehnari_ru_093:)))

Вот так выглядит задание:
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:как я понял это блок схемы или что то подобное))Методичку прикрепил. Прошу помогите к понедельнику нужно сдать.:tehnari_ru_837:
 

Вложения

Язык всё тот же Паскаль(
 
Всё, чем могу помочь - написать программы решения этих пустых задачек на Паскале. А что касается приложенного пособия - виноват, но я, который занимается программированием около 40 лет, почти ничего там не понял. Увидел лишь бурный поток каких-то надуманных, пустых, но очень высокопарно-напыщенных слов и фраз. Так что извините, но со всеми этими "методами детализации" у меня нет ни малейшего желания разбираться.
Кроме того, рисовать блок-схемы не умею. Мне они сто лет в обед не нужны.
Так что если устроят чисто паскалевские листинги - сделаю. С остальным - сожалею, но...
 
Ну напишите, что сможете
 
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.
 
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.
 
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.
 
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.
 
Спасибо , за ваш труд!
 
Назад
Сверху