![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 08.12.2009
Сообщений: 2
|
![]()
Вообщем нужно мне написать свой модуль *.tpu, в котором нужно использовать минимум 3 подпрограммы. В основной программе сделать показ возможностей модуля. Возникла следущая проблема: не могу передать масив для обработки с основной программы в подпрограмму модуля. Ниже текст модуля и основной программы, буду благодарен, если кто скажет что я делаю неправильно.
Модуль: unit my_unit; interface uses crt; type mas=array[1..100] of real; procedure write_mas(var x:mas; var n:byte); procedure sort_up(var x:mas; var n:byte); procedure sort_down(var x:mas; var n:byte); procedure vect(var x:mas; var n:byte; s:real); function log(a,v:real):real; implementation procedure write_mas; var i:byte; begin readln(n); for i:=1 to n do begin write('Vvedit element X[',i,']: '); readln(x[i]); end; end; procedure sort_up; var i:byte; flag:boolean; p:real; begin clrscr; repeat flag:=true; for i:=1 to n-2 do if x[i]>x[i+1] then begin p:=x[i]; x[i]:=x[i+1]; x[i+1]:=p; flag:=false; end; until flag; end; procedure sort_down; var i:byte; flag:boolean; p:real; begin clrscr; repeat flag:=true; for i:=1 to n-2 do if x[i]<x[i+1] then begin p:=x[i]; x[i]:=x[i+1]; x[i+1]:=p; flag:=false; end; until flag; end; procedure vect; var i:byte; begin clrscr; s:=0; for i:=1 to n do s:=s+sqr(x[i]); s:=sqrt(s); end; function log; begin log:=ln(v)/ln(a); end; end. Основная программа: program lib; uses crt, my_unit; type mas=array[1..100] of real; var x:mas; a,v,l,s:real; i,n,k:byte; begin clrscr; writeln('Vuberit potribny diu:'); writeln('1 - vidsortyvatu masuv za zrostanjam;'); writeln('2 - vidsortyvatu masuv za spadanjam;'); writeln('3 - znajtu dovguny vectora;'); writeln('4 - obchuslutu logarufm;'); writeln('5 - vuhid;'); write('Vvedit chuslo potribnoi dii: '); readln(k); case k of 1:begin write('Vvedit kilkist elementiv masuvy: '); readln(n); write_mas(x,n); sort_up(x,n); writeln('Novuy masuv:'); for i:=1 to n do write(x[i]:5:2); readkey; end; 2:begin write('Vvedit kilkist elementiv masuvy: '); readln(n); write_mas(x,n); sort_down(x,n); writeln('Novuy masuv:'); for i:=1 to n do write(x[i]:5:2); readkey; end; 3:begin write('Vvedit kilkist elementiv vectora: '); readln(n); write_mas(x,n); vect(x,n,s); writeln('Dovguna vectora = ',s:8:3); readkey; end; 4:begin write('Vvedit a: '); readln(a); write('Vvedit v: '); readln(v); write('Vidpovid:',log(a,v):6:2); readkey; end; 5:exit; end; end.
Сейчас учу Turbo Pascal 7.0
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 08.12.2009
Сообщений: 2
|
![]()
Все разобрался, нужно с главной проги убрать type mas=array[1..100] of real;
Сейчас учу Turbo Pascal 7.0
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal. Модуль Graph | NitriNKa | Помощь студентам | 1 | 07.11.2009 12:16 |
а free pascal не читает задачи которые написаны на turbo pascal? | demonara | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 25.05.2009 16:28 |
Модуль для работы с множествами [Pascal] | iFool | Помощь студентам | 2 | 20.10.2008 22:04 |
Помогите плс.Pascal-->модуль graph | Бедный студент | Помощь студентам | 0 | 31.05.2008 01:49 |