Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2013, 17:30   #1
Otar4ik
Форумчанин
 
Регистрация: 16.04.2010
Сообщений: 123
По умолчанию Типизированный файл и массивы

Среда:Pascal ABC.NET
Задача:Реализовать программу с текстовым или графическим интерфейсом. В программе должно быть несколько процедур и как минимум одна функция (желательно каждый пункт меню реализовать в виде отдельной подпрограммы).
В программе обязательно должен быть пункт меню "Выход".
Обязательно необходимо обрабатывать исключения.
Во всех вариантах сделать пункт меню "Запись в позицию" и "Чтение позиции" - пользователь вводит номер элемента файла на место которого он хочет записать значение или прочитать значение.
Также обязательно добавить пункт меню "Печать файла" - происходит вывод содержимого файла

Дан одномерный массив вещественных чисел из 10 элементов. При запуске программы выводится меню: 1 - заполнить массив случайными числами, 2- ввести элементы массива с клавиатуры, 3-найти сумму элементов массива, 4 - записать элементы массива и сумму в файл.

Одна из ошибок - пишет встречено end а нужно begin.
2-ая если я закомментю-программа запускается и висит,видать что-то внутреннее.

Код:
Код:
program variant_2;
uses crt;
var
a:array[1..10] of real;
i,s:integer;
f:file of real;
minind:real;
k:byte;

procedure menu2(var n: integer);
Const K=10;
var
StrMenu: array [1..k] of string [20]:=
('1.random_array'
'2.add_array'
'3.find_min'
'4.write_min'
'5.write_position;
'6.read_position;
'7.print_file;
'8.exit');
begin
end;

procedure random_array;
begin
randomize;
for i:=1 to 10 do 
begin
a[i]:=random(10);
write(a[i],'');
end;
end;

procedure add_array;
begin
for i:=1 to 10 do
begin
writeln('Введите ',i,'й элемент массива:');
readln(a[i]);
end;
end;

procedure find_min;
begin
 min := a[1]; 
  minind := 1;
  for var i:=2 to N do
    if a[i]<min then 
    begin
      min := a[i];
      minind := i;
    end; 
    end;

//procedure write_position;///
//begin//
//end;//

procedure read_position;
begin
  reset(f);
  Seek(f,ch.Value);
  Write(f,ch.Value);
end;

procedure print_file;
begin
assign(f, 'c:\test.txt');
reset(f);
   while not eof(f) do
   begin
      readln(f,s);
      reads(s,p);
      print(p);
      p^.next:=h;
      h:=p;
   end;
   a:=i;
   while a<>i do
   begin
     print(f);
     f:=f^.next;
   end;
   end;
   
 procedure exit;
 begin
 reset(f);
 close(f);
end;
end.
Otar4ik вне форума Ответить с цитированием
Старый 15.09.2013, 17:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
встречено end а нужно begin.
Правильно пишет. Процедуры есть а главного begin нет.
Цитата:
2-ая если я закомментю-программа запускается и висит,видать что-то внутреннее.
Отладчиком конечно не прошелся?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл vaako Паскаль, Turbo Pascal, PascalABC.NET 1 06.04.2012 21:05
Типизированный файл Pyxy Помощь студентам 2 22.12.2011 23:32
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00
Типизированный файл aleksandrdss Помощь студентам 0 08.04.2009 05:01