![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Лабораторная №6 вариант №13 по информатике, выполненная с использованием подпрограмм-процедур и подпрограмм-функций |
Цель работы. Целью работы является написание программы на языке программирования «Pascal» для DOS с использованием подпрограмм и функций, задания для которых обозначены вариантом лабораторной работы. 2. Постановка задачи. Главной задачей программиста является создание наиболее простого, и, следовательно, быстрого алгоритма программы, выполняющего оба задания – А и Б, причём задание А необходимо оформить в виде процедуры, а задание Б в виде функции. При этом сделать программу как можно проще в использовании. 3. Описание алгоритма программы. Помимо короткого основного модуля программы, который управляет процедурами и функциями, в программу включены две функции и одна процедура, они же и являются подпрограммами, которые было необходимо использовать по условию лабораторной работы. Процедура представляет собой задание А, в котором необходимо было подсчитать количество нулей в матрицах. В программе матрицы представлены двухмерным массивом, числа в которые заносятся автоматически посредством случайного их генератора, после чего над ними производятся вычисления. Необходимо подчеркнуть, что как для занесения в матрицы случайных чисел, так и для подсчёта их нулевых элементов, использовался один двойной цикл оператора FOR. Первая функция – это программное меню, которое предоставляет пользователю программы выбор вычисления заданий и выход. Соответственно вторая функция – это задание Б, для выполнения которого автор программы использовал те же принципы построения подпрограммы, что и для выполнения подпрограммы задания А. 4. Блок-схема программы. См. на следующей странице. 5. Общие условия. В программе использовались два вида условий. Первое из них – условие оператора IF. Оно присутствует в основном модуле программы, который управляет подпрограммами (т. е. процедурами и функциями) и выполняет задание А или Б в зависимости от выбора пользователя из меню программы. Можно также выйти из программы без выведения на экран результатов. Второе условие – это условие оператора FOR, которое является скрытым условием. Оператор проверяет, все ли элементы массивов заполнены. 6. Исходный текст программы. program lab6v13; uses cr ; co s m1=20; 1=20; m2=100; 2=100; var kl,cycle00,cycle01, ull el a, ull el b:i eger; a:array of real; x:array of real; mid x,mid y,sum x,sum y,del x,del y:real; label exi progr,fu c ,s ar prg; procedure labproc q a; begi ull el a:=0; ull el b:=0; for cycle00:=0 o 1 do begi for cycle01:=0 o m1 do begi a:=i (ra dom(40)); if a=0 he ull el a:= ull el a 1; b:=i (ra dom(50)); if b=0 he ull el b:= ull el b 1; e d; e d; wi dow (1,5,75,7); go oxy (2,6); wri e ('Количество нулей в матрице А: ', ull el a:3); clreol; wri el (' '); go oxy (3,7); wri e ('Количество нулей в матрице Б: ', ull el b:3); clreol; e d; fu c io mid del (mid x,mid y,del x,del y:real):real; begi sum x:=0; sum y:=0; for cycle00:=0 o m2 do begi for cycle01:=0 o 2 do begi x:=i (ra dom(200)); sum x:=sum x x; e d; e d; mid x:=sum x/ 2; mid y:=sum y/m2; del x:=mid x/mid y; del y:=mid y/mid x; e d; fu c io me u:by e; var s r1,s r2,s r3:s ri g;kl:by e;key:char; begi s r1:='ФУНКЦИЯ';s r2:='ПРОЦЕДУРА';s r3:='ВЫХОД'; wi dow(25,24,55,24); ex color(15);go oxy(13,1);wri e(s r2); ex color(15);go oxy(25,1);wri e(s r3); ex color(14);go oxy(3,1);wri e(s r1);kl:=1; repea key:=readkey; case key of #75: begi if kl=2 he begi kl:=1; ex color(15);go oxy(13,1);wri e(s r2); ex color(14);go oxy(3,1);wri e(s r1); e d; if kl=3 he begi kl:=2; ex color(15);go oxy(25,1);wri e(s r3); ex color(14);go oxy(13,1);wri e(s r2); e d; e d; #77: begi if kl=2 he begi kl:=3; ex color(15);go oxy(13,1);wri e(s r2); ex color(14);go oxy(25,1);wri e(s r3); e d; if kl=1 he begi kl:=2; ex color(15);go oxy(3,1);wri e(s r1); ex color(14);go oxy(13,1);wri e(s r2); e d; e d; e d; u il key=#13; me u:=kl; e d; begi go oxy (1,1); wri e ('Лабораторная работа - 6, вариант - 13.'
); s ar prg: kl:=me u; ex color(15); if kl=3 he go o exi progr; if kl=2 he labproc q a; if kl=1 he go o fu c ; go o s ar prg; fu c : wi dow (1,5,75,7);clrscr; go oxy (3,6); wri e ('Средние значения массивов X и Y и их отклонения равны: ',mid x:3:3,'; ',mid y:3:3,'; ',del x:3:3,'; ',del y:3:3); clreol; go o s ar prg; exi progr: clrscr; e d. 7. Входные и выходные данные. Входные данные формируются посредством генератора случайных чисел и вносятся в программные массивы данных машиной самостоятельно. Это сделано для упрощения алгоритма программы, в ущерб вводу данных с клавиатуры. Причём в заданиях заносятся в массивы целочисленные данные. Это с деланно, в частности, для задания А с целью увеличения количества нулей в матрицах. Выводные данные в задании А представляют собой целые числа, так как они представляют собой количество нулей, а в задании Б – действительные числа. Лабораторная работа №6 Программирование с использованием подпрограмм пользователя. Цель работы – овладение навыками алгоритмизации задач с использованием подпрограмм пользователя различных видов, овладение навыками написания программ и обращения к ним, выбора параметров подпрограмм. Задание для самостоятельной работы. Изучить: правила записи подпрограмм различных видов и способов обращений к ним; способы передачи параметров в подпрограмму; правила записи программ, использующих подпрограммы. Разработать алгоритм решения задачи. Составить программу решения задачи. Подготовить тестовый вариант программы и исходных данных. Задание к работе Задание А. Выполнить на ЭВМ программу, использующую подпрограмму функцию, в соответствии с номером параметра, указанным в таблице. Проверить правильность выполнения программы с помощью тестового варианта. Вариант Задания Условия задачи Примечания 1 Вычислить большие корни кв. уравнений x2-ax b=0 cy2-dy-f=0 Все корни действительные 2 Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100) Расстояние точки от начала координат вычислять в подпрограмме 3 Определить периметры энугольников, координатами их вершин заданы в массивах X, Y. Длину стороны энугольников вычислять в подпрограмме 4 Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданы массивами X(80), Y(80) Расстояние точки от центра круга определять в подпрограмме 5 Вычислить z=(v1 v2 v3)/3 , где v1 ,v2,v3, - объёмы шаров с радиусами r1 , r2 и r3 соответственно Vi вычислять в подпрограмме 6 Вычислить суммы положительных элементов массивов X( ), Y(M), Z(K)
Модуль, в отличие от программы, не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей. Модули позволяют создавать личные библиотеки процедур и функций и строить программы практически любого размера. Модуль в Pascal представляет собой отдельно хранимую и независимо компилируемую программную единицу. В общем случае модуль это совокупность программных ресурсов, предназначенных для использования другими программами. Под программными ресурсами понимаются любые элементы языка Pascal: константы, типы, переменные, подпрограммы. Модуль сам по себе не является выполняемой программой, его элементы используются другими программными единицами. Все программные элементы модуля можно разбить на две части: 1)Pпрограммные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля; 2)Pпрограммные элементы, необходимые только для работы самого модуля, их называют невидимыми (или скрытыми). В соответствии с этим модуль, кроме заголовка, содержит три основные части, называемыми интерфейсной, исполнимой и инициализируемой
1. Лабораторная работа по информатике, вариант №13, с методическим пособием.zip
2. Тесты по информатике с ответами. Вариант 6
3. Пояснительная записка к выполнению расчетной работы по дисциплине "информатика"
9. Тесты по информатике с ответами. Вариант 4
10. Тесты по информатике с ответами. Вариант 3
12. Лабораторные работы по информатике
13. Лабораторная работа по информатике ( задания )
14. Возможные варианты по управлению дебиторской задолженностью с использованием информационных систем
17. Использование дидактических игр для развития познавательной деятельности 6-классников
18. Внеклассное мероприятие по математике и информатике для 6 класса "Кладоискатели"
19. Использование педагогической оценки в воспитании поведения детей 5-6 лет
20. Использование информатики в экономических расчетах
21. Анализ медико-биологических данных с использованием Excel и СПП STADIA
25. Великобритания (расширенный вариант реферата 9490)
26. Глобальные проблемы человечества. Использование Мирового океана
27. Структурная геология один из вариантов
28. Платежи за использование природных ресурсов
29. Банковские операции с использованием векселей
30. Авторский договор как основание правомерного использования произведения
31. Византийско-Итальянские отношения 11-13 в.в.
32. Проблема нераспространения и не использования оружия массового уничтожения (ОМУ)
33. Контрольная работа по муниципальному праву Вариант 2
34. Кримінальний кодекс України (Проект криминального кодекса Украины, варианты 1998-2001гг.)
36. Животный мир как объект охраны и использования
37. Правовое регулирование использования и охраны животного мира
41. Древнерусское искусство 10-13 веков
44. Фантастика и миф: использование мифологических образов в современной фантастической литературе
45. Использование кабинета для внеклассной работы по иностранному языку
46. Борьба Руси и Прибалтики с немецкой, шведской и литовской агрессией в 13 веке
49. Все темы (информатика) за 3-й семестр в СТЖДТ
50. Замечательные имена в информатике
51. Опыт и перспективы использования сети Интернет в коммерческих целях
52. Информатика
53. История развития информатики
57. Использование компьютерных технологий в деятельности ОВД
58. Использование лазеров в информационных технологиях
59. Возможности средств мультимедиа и перспективы их использования
60. Информатика
61. Задачи графических преобразований в приложениях моделирования с использованием ЭВМ
62. Объектно-ориентированное программирование на С с использованием библиотеки OpenGL
65. Различные классы баз данных по предметным областям использования
67. Формирование и использование информационных ресурсов
68. Программа сложной структуры с использованием меню
69. Билеты и ответы по Информатике за 11-й класс
73. Кадры с использованием программы Microsoft Access 97
74. Использование макросов для программирования в MS ACCESS
75. Экзаменационные билеты по информатике
76. Ответы к экзаменационным билетам по Информатике. 2001-2002 год
77. Использование макросов в MS Access 2000
78. Использование Prolog совместно с другими ЯП
79. Методические рекомендации и задания для лабораторных работ по дисциплине «Вычислительные системы»
80. Visual J++ 6.0
81. Графы. решение практических задач с использованием графов (С++)
82. Теоретический анализ эффективности использования операционной системы ЛИНУКС
83. Microsoft Outlook Express - установка и использование
84. Использование полей и закладок для редактирования и обработки информации в документах Word
85. Разработка цикла лабораторных работ по основам работы в WINDOWS 2000
91. Информатика в условиях устойчивого развития
92. Формулы и шпоры 10-11 кл. (информатика, геометрия, тригонометрия ...) (Шпаргалка)
93. Использование дифференциальных уравнений в частных производных для моделирования реальных процессов
94. Графы. решение практических задач с использованием графов (С++)
95. Лабораторные работы диагностики - анализ мочи и крови
96. Взятие материала для лабораторного исследования на грибок
98. Сравнительная характеристика методов лабораторной диагностики трихомоноза
99. Об использовании лекарственных растений в фармации и медицине