Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.11.2016
Сообщений: 27

Можно ли сократить код?

13.04.2017, 22:40. Показов 924. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа выводит разноцветный график функции y=1-e^-x. Можно ли объединить циклы из 5 в 2(цикл для нахождения
номера звездочки и цикл для постоения графика)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
uses
  Crt;
var
  i, m, n, p, t1, t2, t3: integer;
  x, y, x1, x2, x3, y1, y2, y3: real;
 
begin
  ClrScr;
  t3 := 80;
  i := 1;
  
  while y < 0.5 do
  begin
    x := i * (4 / 79) - (4 / 79);//определение границы первого куска
    y := (1 - exp(-x));
    i := i + 1;
  end;
  t1 := i - 2;
  while y < 0.8 do
  begin
    x := i * (4 / 79) - (4 / 79);//определение границы второго куска
    y := (1 - exp(-x));
    i := i + 1;
  end;
  t2 := i - 2;
  
  for m := 1 to (t1) do
  begin
    x1 := m * (4 / 79) - (4 / 79);//первый кусок
    y1 := 24 - (1 - exp(-x1)) * 22;
    
    gotoXY(m, trunc(y1));
    TextColor(Red);
    write('*');
  end;
  for n := (t1 + 1) to t2 do
  begin
    x2 := n * (4 / 79) - (4 / 79);//второй кусок
    y2 := 24 - (1 - exp(-x2)) * 22;
    
    gotoXY(n, trunc(y2));
    TextColor(White);
    write('*');
  end;
  
  for p := (t2 + 1) to t3 do
  begin
    x3 := p * (4 / 79) - (4 / 79);//третий кусок
    y3 := 24 - (1 - exp(-x3)) * 22;
    
    gotoXY(p, trunc(y3));
    TextColor(Yellow);
    write('*');
  end;
  gotoXY(1, 25)
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2017, 22:40
Ответы с готовыми решениями:

Сократить код программы
Сократите код данной программы: const n=5; var i,m,j,x:integer; A:ARRAY OF INTEGER; begin writeln('Введите массив'); ...

Сократить код программы
Пожалуйста помогите сократить код программы: const n=5; var i,m,j,x:integer; A:ARRAY OF INTEGER; begin ...

Вывести номер автозаправки, которую можно сократить
Фирма «АйОйЛ» построила на скоростном шоссе Москва-Тверь N автозаправок. Каждая автозаправка имеет свой номер, который присваивался ей при...

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
14.04.2017, 06:54
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
uses
  Crt;
 
const
  k  = 4 / 79;
  t3 = 80;
 
function f(x : Real) := 1-exp(-x);
 
function tt(p : Real; var i : Integer) : Integer;
begin
  repeat i += 1; until f(i * k) >= p;
  Result := i - 3;
end;
 
procedure star(clr, L, R : Integer);
begin
  TextColor(clr);
  for var m := L to R do
    begin
      gotoXY(m, trunc(24 - f(m * k) * 22));
      write('*');
    end;
end;
 
begin
  ClrScr;
  
  var i := 0;
  var t1 := tt(0.5, i); //определение границы первого куска
  var t2 := tt(0.8, i); //определение границы второго куска
  star(Red   , 0 , t1-1);
  star(White , t1, t2-1);
  star(Yellow, t2, t3  );
 
  gotoXY(1, 25)
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2017, 06:54
Помогаю со студенческими работами здесь

Можно ли сократить код?
Program Pr1; var k,j,n,f,m:integer; g,x,f1,r:real; begin writeln('введите x и n'); readln(x,n); g:=0; r:=1; f:=1; for...

Можно ли сократить?
И если несложно проверте правильно ли работает а то у меня сомнения вот задание Множество 1 заполнено цифрами в интервале от 1 до 10,...

Сократить код
Необходимо чтобы после ввода матрицы, программа находила минимакс по строкам и максимин по столбцам, прошу помочь в максимальном сокращении...

Необходимо оптимизировать (сократить) код
Необходимо оптимизировать (сократить) код. Сам код: program M25; i,j, n: byte; min,max,x: integer; a: array of integer; ...

Можно ли как-нибудь сократить программу, оставив её работающей?)
uses crt; const Nmax=20; type mass=array of integer; matr=array of mass; sum=array of integer; procedure vvod (var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru