Реферат по предмету "Информатика, программирование"


Разработка форматов хранения программ. Структурирование

Министерство Образования и Науки Украины
Государственный Университет Информатики
и Искусственного Интелекта
                                                                                         Кафедрапрограммного обеспечения интеллектуальных систем
Лабораторная работа №2
по дисциплине: Основы алгоритмизации ипрограммирования
на тему: «Разработка форматов хранение программ.Структурирование.»
Выполнил студент
группы ПО-07д
Канатников Дмитрий
Проверил     
                                        
2007год

План
1. Титульный лист
2. План
3. Задание
4. Описание блоков
5. Описаниеподпрограмм
6. Листинг программы
7. Тестовые примеры

Пункт №3 Задание.
Задание: Лабораторной работы №2 подисциплине: основы алгоритмизации и программирования.
Вариант №5
На плоскости задано множествоточек. Из каждого квадранта взята точка максимально удаленная от началакоординат. Проверить, будет ли параллелограммом четырехугольник построенный повыбранным из множества точкам.
 
Пункт №4 Описаниеблоков.
Данная задача может бытьразделена на 3 основных блока, а второй в свою очередь еще на 3 подблока.
1 – Ввод данных.
Основная цель этого блокаввод данных для работы программы. Дополнительная цель вывод информации. В этомблоке есть два условие проверки вводимых данных. Первое условие проверки на количествоточек. Второе на правильность ввода координат точек.
в этой части программывозникает следующая ситуация программа не прохождение условия, присвоениепеременным не подходящий тип, и при правильном вводе передача данных второмублоку. В этом блоке существует три подпрограммы.
2 – Основная частьпрограммы.
 Цель данного блока это ответ на основной вопрос программы. Блок как выше былосказано, делится еще на 3 подблока.
 2.1 – Проверка наналичие точек в каждом квадранте. Возможно, что в каком-то или каких-точетвертях нет точек вследствие программа выдает результат не наличия точек вовсех квадрантах.
 2.2 – В этом подблокепрограммы мы используем четыре переменных  в которых будет храниться номерячейки массива в которой находится наиболееудаленная точка от начала координат после поиска в каждой четвертисоответственно переменные max1, max2, max3, max4.
 2.3 – Это часть блокапроверяет принадлежность четырех угольнику построенному по точкам наиболееудаленным от начала координат уникальных свойств параллелограмма (стороныпопарно равны и параллельны) положительный или отрицательный результат присваивается функции otvet (логического типа).
3 – Вывод данных.
В этом блоке завершающийэтап программы выводятся точки выбранные в подблоке 2.2 и ответ на основнойвопрос программы он же зависит от функции otvet, если функция имеет значение ИСТИНА то ответположительный и если ЛОЖЬ то отрицательный. По окончание этого блокапредлагается повторно использовать программу.
На этом программазавершает свою работу.
 
Пункт №5 Описание подпрограмм.
В этом пункте мырассмотри все используемые процедуры и функции в программе их действия
Созданные подпрограммы:
 Процедура max_kvan это процедура использующая аргумент А файл типа tochka (новый тип данных типа запись) каждый  элемент файла имеетдва поля Х и У вещественого типа. Процедура находит растояние от начала координатдо заданной точки паралельно деля точки по квадрантам в конце программы аргументам b, c, d, e присваивается номер ячейки файла покоторому потом можно обратится к файлу за координатами точки. В процедуреиспользуется ключевое слово varперед аргументами процедуры что позволяет изменять эти аргумент в ходе процедуры.
 Процедура vivod выводит точки максимально удаленныеот начала координат и ответ на вопрос задачи (для этого используется функция otvet которая будет описана ниже).
Функция kvan_zapoln делает проверку на наличие точек в каждом квадрантеаргументы файл с координатами точек. Функция логического типа соответственносама функция показывает на наличие или отсутствия точек в квадрантах.
Функция otvet функция логического типа проверяетусловие существования четырехугольника построенного повыбранным из множества точкам как параллелограмма. Аргументы это координатыточек.
 
Пункт № 6 Листинг программы.
programLaba_var_5;
  type
       tochka = record
         x,y: real;
       end;
  var
       s:array [1..100] of tochka;
       g,n:integer;
       t:tochka;
       istin:boolean;
       r:string;
       io:real;
       i,max1,max2,max3,max4:integer;
      procedure max_kvan(var b,c,d,e:integer; j,q:integer;var a:array of tochka);
          begin
            b:=0;
            d:=0;
            c:=0;
            e:=0;
           for j:=1 to q do
            begin
               if (a[j].x>0) and (a[j].y>0) then
                  if sqrt(sqr(a[j].x)+sqr(a[j].y))>b then
                      b:=j;
               if (a[j].x0) then
                  if sqrt(sqr(a[j].x)+sqr(a[j].y))>c then
                      c:=j;
               if (a[j].x
                  if sqrt(sqr(a[j].x)+sqr(a[j].y))>d then
                      d:=j;
               if (a[j].x>0) and (a[j].y
                  if sqrt(sqr(a[j].x)+sqr(a[j].y))>e then
                      e:=j;
             end;
         end;
        function otvet(bx,by,cx,cy,dx,dy,ex,ey:real):boolean;
          begin
            if (bx-cx=ex-dx) and (cy-dy=by-ey)
                 and (by-cy=ey-dy) and (cx-dx=bx-ex) then
              otvet:=true
             else
              otvet:=false;
          end;
        function kvan_zapol (a:array of tochka):boolean;
             var k1,k2,k3,k4:integer;
             begin
             k1:=0; k2:=0;
             k3:=0; k4:=0;
             for i:=1 to n do
              begin
                  if (a[i].x>0) and (a[i].y>0) then
                    k1:=K1+1;
                  if (a[i].x0) then
                    k2:=K2+1;
                  if (a[i].x
                    k3:=K3+1;
                  if (a[i].x>0) and (a[i].y
                    k4:=K4+1;
              end;
             if (k1>0)and(k2>0)and(k3>0)and(k3>0)then
               kvan_zapol:=true
              else
               kvan_zapol:=false;
            end;
        procedure vivod (bx,by,cx,cy,dx,dy,ex,ey:real;a:array of tochka);
           begin
             writeln('Координаты точки 1 четверти[',bx:5:2,':',by:5:2,']');
             writeln('Координаты точки 2 четверти[',cx:5:2,':',cy:5:2,']');
             writeln('Координаты точки 3 четверти[',dx:5:2,':',dy:5:2,']');
             writeln('Координаты точки 4 четверти[',ex:5:2,':',ey:5:2,']');
             writeln('Паралеллограм состоящий из этих точек');
              if otvet(a[max1].x,a[max1].y,a[max2].x,a[max2].y,
                      a[max4].x,a[max4].y,a[max4].x,a[max4].y) then
                writeln('действительный')
               else
                writeln('Недействительный');
            end;
 procedureinfo ;
     begin
         writeln('Здравствуйте вы используете программ для решения следующей задачи:');
         writeln('На плоскости задано множество точек.');
         writeln('Из каждого квадранта взята точка, максимально');
         writeln('удаленная от начала координат. Проверить,');
         writeln('будет ли параллелограммом четырехугольник');
         writeln('построенный по выбранным из множества точкам.');
     end;
     procedure kol_toch (var rio:real; var q:integer);
     begin
       {$i-}
       repeat
        writeln('Введите количествоточек.');
        readln(q);
        rio:=ioresult;
         if rio 0 then
            begin
              writeln('Ошибка ввода.ПосленажатияENTER попробуйтеешераз.');
              readln;
            end
           else
             if q
               writeln('Недостаточно точек. Введите значение заново.');
        until (rio = 0) and (q>3) ;
       {$i-}
    end;
procedurevvod_toch (q:integer; var rio:real; var a: array of tochka);
   begin
   {$i-}
    repeat
     for i:=1 to q do
      begin
        writeln('введите x[',i,']');
        readln(a[i].x);
        writeln('введитеy[',i,']');
        readln(a[i].y);
      end;
    rio:=ioresult;
    if rio0 then
     begin
      writeln('Ошибка ввода.Посленажатия ENTER попробуйте еше раз сначала.');
      readln;
     end
    until rio = 0;
   {$i+}
   end;
   procedure povtor(var f:integer; rio:real);
          begin
            {$i-}
           repeat
            writeln('1-Да');
            writeln('0-Нет');
            readln(f);
            rio:=ioresult;
            if (rio0)or(f0)and(f1) then
             writeln('Ошибкаввода. Попробуйте еще раз.');
           until (rio=0)and(f=0)or(rio=0)and(f=1);
            {$i+}
          end;
begin
    repeat
     info;
     kol_toch(io,n);
     vvod_toch(n,io,s);
     kvan_zapol(s);
     if kvan_zapol(s) then
       begin
        max_kvan(max1,max2,max3,max4,i,n,s);
        vivod(s[max1].x,s[max1].y,s[max2].x,s[max2].y,
           s[max4].x,s[max4].y,s[max4].x,s[max4].y,s);
       end
      else
       begin
        writeln('Точки не во всех квадрантах. Воспользоваться программой еще раз');
       end;
     povtor(g,io);
    until g=0 ;
    readln;
end.

Пункт № 7 Текстовыепримеры программ.
Первый вариант работыпрограммы.
/>
Вариант второй.
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Материальные блага
Реферат Влияние способов основной обработки почвы
Реферат Сущность собственности и ее многообразие в современной российской экономике
Реферат Современная Индия
Реферат Пищевые инфекции
Реферат Іcторія Болгарії
Реферат Much Ado About Dogberry Essay Research Paper
Реферат Совершенствование методов экономической эффективности инвестиционных проектов
Реферат Электричество, электромагнитные поля и оружие массового поражения
Реферат Волжско-Камская Булгария
Реферат Русская православная церковь и иноверные и инославные исповедания в России в XVIII и XIX веках
Реферат Безработица: понятие, причины, виды, социально-экономические последствия
Реферат Анализ современного ассортимента и оценка качества пушно меховых и овчинно шубных изделий в магазине
Реферат My Own Person Experience With The Horror
Реферат Інститут управління природними ресурсами Кафедра фундаментальних наук Реферат з концепції сучасного природознавства на тему