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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2008, 16:11   #1
Smith777
 
Регистрация: 22.02.2008
Сообщений: 3
По умолчанию Работа с файлами, консольные приложения

Помогите сделать лабы, сам нихрена незнаю вопрос жизни и смерти.Знаю что наглею, но выхода просто нет.
1)Задание
Разработать приложение, позволяющее выполнять действия над данными, в соответствии с заданием. Исходные данные записываются в файлах текстового типа. Для открытия и сохранения файлов предусмотреть использование компонент OpenDialog и SaveDialog. Операции, связанные с записью и чтением данных, выполнять с помощью процедур и функций модуля System.
2)Дан файл, в котором записаны вещественные числа. Требуется найти: среднее геометрическое наибольшего и наименьшего по абсолютной величине из чисел, записанных в файле.
Задание 1. Табулирование функции
Составить программу вычисления значений функции F(x) на отрезке [a,b] в точках xi = a + ih, где h=(b-a)/m, m – заданное целое число.
Варианты задания приведены в таблице 4.
Для формирования значений x и соответствующих значений функции следует использовать простые переменные. Значение шага h должно вычисляться один раз. При изменении значения аргумента x следует использовать оператор присваивания x:=x+h, а не оператор с использованием операции умножения x:=a+ih, так как это сокращает количество выполняемых операций.
При решении задачи можно использовать любой из операторов цикла.
F(x)=sin x – cos x a=0 b=pi/2 m=20
3)Задание 3. Матрицы
Дан двумерный массив размерности m×n(m<=8, n<=10). Дополнительные сведения, относящиеся к отдельным вариантам, приведены ниже.
задано натуральное k. Значение k не превышает число строк
Требуется найти:
квадрат суммы элементов, расположенных в последних k строках
4)Задание 4. Обработка массивов
Даны два массива целых чисел А(n*n), X(n), где n<=10. Требуется четные строки массива А заменить на Х и найти значение наибольшего элемента массива Х.

Последний раз редактировалось Smith777; 22.02.2008 в 16:22.
Smith777 вне форума Ответить с цитированием
Старый 22.02.2008, 16:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
2)Дан файл, в котором записаны вещественные числа. Требуется найти: среднее геометрическое наибольшего и наименьшего по абсолютной величине из чисел, записанных в файле.
Ну я лично примерно так себе это представляю:
Код:
var a,mx,mn:real;   f:file of real;
begin
if OpenDialog1.Execute then begin
 AssignFile(f,OpenDialog1.FileName);reset(f);
  readln(f,a);
 mn:=a;mx:=a;
 while not eof(f) do begin
  readln(f,a);
  if a<mn then mn:=a;
  if a>mx then mx:=a;
 end;
 a:=mn*mx/2; // Это ср геометрическое между максом и мином
end;
Цитата:
3)Задание 3. Матрицы
Это примерно так:
Код:
var a:array[1..8,1..10] of integer;u,e,k:byte;s:integer;
begin
 //********* FOR ******************
 for e :=8-k  to 8   do
 begin
   //********* FOR ******************
   for  u:=1  to 10  do
   begin
      s:=s+a[e,u];
   end;
   //******* END FOR ****************{}
 end;
 // Квадрат суммы сам найдеш
 //******* END FOR ****************{}
end;
I'm learning to live...

Последний раз редактировалось Stilet; 22.02.2008 в 16:59.
Stilet вне форума Ответить с цитированием
Старый 22.02.2008, 19:34   #3
WittySpark
Пользователь
 
Регистрация: 14.08.2007
Сообщений: 13
По умолчанию

Stilet, у меня замечание: ср геометрическое есть корень квадратный из произведения.
Строку "a := mn * mx / 2" необходимо заменить на "a := Sqrt(mn * mx)".
Удачи, Smith777!
WittySpark вне форума Ответить с цитированием
Старый 22.02.2008, 20:34   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
4)Задание 4. Обработка массивов
Даны два массива целых чисел А(n*n), X(n), где n<=10. Требуется четные строки массива А заменить на Х и найти значение наибольшего элемента массива Х.
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var a:array[1..10,1..10]of integer;
    x:array[1..10]of integer;
    n,i,j,max:integer;
begin
write('n=');readln(n);
randomize;
writeln('massiv:');
for i:=1 to n do
   begin
     x[i]:=random(10);
     write(x[i],' ');
   end;
writeln;
writeln('matrica:');
for i:=1 to n do
   begin
     for j:=1 to n do
       begin
         a[i,j]:=random(20)-9;
         write(a[i,j]:3);
       end;
     writeln;
   end;
readln;
Writeln('Obrab matrica:');
for i:=1 to n do
if i mod 2 = 0 then
for j:=1 to n do
a[i,j]:=x[j];
for i:=1 to n do
   begin
     for j:=1 to n do
     write(a[i,j]:3);
     writeln;
   end;
readln;
max:=x[1];
for i:=1 to n do
if x[i]>max then max:=x[i];
writeln('max=',max);
readln
end.
puporev вне форума Ответить с цитированием
Старый 23.02.2008, 05:08   #5
Smith777
 
Регистрация: 22.02.2008
Сообщений: 3
По умолчанию

Спасибо всем большое и с праздником
Smith777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03
Работа с файлами Stiker Общие вопросы C/C++ 1 10.04.2008 22:47
Работа с файлами ShVad Общие вопросы Delphi 4 03.02.2007 10:43
Работа с файлами El_Bint0 Помощь студентам 1 20.12.2006 02:07