Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Лабораторная работа по информатике, вариант №13, с методическим пособием.zip

Название: Лабораторная работа по информатике, вариант №13, с методическим пособием.zip
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 08:02:37 30 июля 2005 Похожие работы
Просмотров: 721 Комментариев: 21 Оценило: 7 человек Средний балл: 3.7 Оценка: 4     Скачать

Целью работы является написание программ на ЭВМ, согласно условию в выбранном варианте, первая программа для задания А, и вторая программа для задания Б. Для написания программ использовался Borland Turbo Pascal версии 7.1. Рассмотрим по очереди эти два задания.

ЗАДАНИЕ А. Необходимо подсчитать количество нулевых элементов для матриц А(N,M) и В(M,N), причём M и N не могут быть больше 20.

Матрицы А и В представляют в машинном исполнении двухмерные массивы, число элементов в которых не может быть больше 20х20=400 элементов по условию. Каждый индекс числа – M и N представляет собой «координату» числа в матрице, по его строке и столбцу, соответственно. Автор программы ввёл в неё выбор количества строк и столбцов для каждой матрицы (массива), дав пользователю возможность выбрать его в пределах от двух до двадцати (по условию). Программа занесения данных в сами массивы построена на цикле оператора FOR, причём если пользователю будет лень вносить данные самостоятельно – программа может сделать это за него посредством генерации случайных чисел и занесения их в массивы, что на современных компьютерах занимает считанные наносекунды. На программу самогенерации-самоввода элементов матриц автор программы ввёл некоторые ограничения во избежании не занесения в них нулевых элементов, что необходимо для проверки правильности работы программы. Если вручную вы можете ввести любое действительное число от -32768 до 32767, то программа самогенерации генерирует целые числа от нуля до двадцати. И, если вы, к примеру, задали в программе размер матриц 2X3, что составляет всего шесть элементов, то вполне вероятно (как показала практика тестирования программы), что в ней будет хотя бы один нулевой элемент, или, попросту – ноль. Подпрограмма подсчёта количества нулевых элементов тоже построена на цикле оператора FOR, и если бы она не была необходима по условию, без неё можно было бы обойтись, включив подсчёт таких элементов в цикл ввода данных / цикл генерации данных, тем самым повысив быстродействие программы. Эта подпрограмма (так же, как и подпрограмма в задании Б) оформлена в виде процедуры.

ЗАДАНИЕ Б. Найти средние значения и стандартные отклонения для элементов массивов X(N), Y(M), причём количество элементов не может быть более 100.

В этом примере реализована та же подпрограмма ввода / генерации данных, что и в задании А, с разницей в массивах – здесь мы имеем одномерные массивы. На программу генерации элементов массивов наложены те же самые ограничения, что и в задании А, с той разницей, что число генерируется в интервале от нуля до ста, а не до двадцати. В подпрограмму вычисления условий задачи внесён тот же цикл оператора FOR, несущий в этом задании вспомогательную функцию вычисления среднего числа массивов в частности. Подпрограмма оформлена в виде отдельной процедуры, как и в задании А, однако без этой процедуры обойтись, как в первом задании, нельзя, так как разбросав её на алгоритмы ввода и генерации данных мы усложняем, запутываем алгоритм программы, снижая тем самым её производительность (быстродействие).


Лабораторная работа №6

Программирование с использованием подпрограмм пользователя.

Цель работы – овладение навыками алгоритмизации задач с использованием подпрограмм пользователя различных видов, овладение навыками написания программ и обращения к ним, выбора параметров подпрограмм.


Задание для самостоятельной работы.


  1. Изучить:

  • правила записи подпрограмм различных видов и способов обращений к ним;

  • способы передачи параметров в подпрограмму;

  • правила записи программ, использующих подпрограммы.

  1. Разработать алгоритм решения задачи.

  2. Составить программу решения задачи.

  3. Подготовить тестовый вариант программы и исходных данных.


Задание к работе

Задание А.


  1. Выполнить на ЭВМ программу, использующую подпрограмму функцию, в соответствии с номером параметра, указанным в таблице.

  2. Проверить правильность выполнения программы с помощью тестового варианта.


Вариант

Задания

Условия задачи Примечания
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(N), Y(M), Z(K)

N<=60 M<=60 K<=70

7 Вычислить среднее арифметическое положительных элементов для массивов A(N1), B(N2), C(N3)

N1<=100 N2<=100

N3<=100

8

Подсчитать количество элементов матриц X(10,15) и Y(20,12), удовлетворяющих условиям 0<=xij<=1 и 0<=yij<=1


9 Вычислить суммы положительных элементов каждой строки для матриц A(10,12) и B(15,10)
10

Вычислить z=(xm1+xm2)/2 , где xm1 и xm2 – наименьшие элементы массивов X1(70), X2(80)


11 Вычислить суммы элементов главных диагоналей матриц A(N,N) B(M,M)

M<=20 N<=30

12

Вычислить z=(s1+s2)/2, где s1- сумма положительных элементов массива X(50); s2- сумма отрицательных элементов массива Y(60)

Обе суммы вычислять в одной подпрограмме

13

Подсчитать число нулевых элементов для матриц A(N,M) и B(M,N)

M<=20 N<=20

14 Вычислить суммы элементов нижних треугольных матриц для матриц A(15,15) и B(20,20)
15 Определить число положительных элементов до первого отрицательного в массивах X(40), Y(50), Z(N)

N<=50


Задание Б.


  1. Выполнить на ЭВМ программу, использующую подпрограмму-процедуру в соответствии с номером, указанным в таблице.

  2. Проверить правильность выполнения программы с помощью тестового варианта .


Вариант

Задания

Условие задачи

Примечания
1

Вычислить z = (s1+s2)/k1k2 ,где s1 и k1 – сумма и количество положительных элементов массива X(N); s2 и k2 – сумма и количество положительных элементов массива Y(M).

M<=100 N<=100

2

Вычислить z = (es1+es2)/k1k2, где s1 и k1 – сумма и количество положительных элементов массива X(100); s2 и k2 – сумма и количество положительных элементов массива Y(80).

Обе суммы вычислять в одной подпрограмме
3 Вычислить и запомнить суммы положительных элементов каждой строки матицы A(10,20), B(15,10).
4

Вычислить z = (x1+y1)/(x2-y2), где x1 и x2 – корни уравнения 2x2+x-4 = 0, y1 и y2 – корни уравнения ay2+2y-1 = 0 .

Все корни действительные
5 Найти наибольшие элементы и их порядковые номера массивов X(N) и Y(M)

N<=80 M<=70

6 Переписать положительные элементы массива X(100) и Y(80) в массив Z подряд Запись в массив Z осуществлять в подпрограмме
7 Найти наименьшие элементы и номера строк и столбцов, в которых они расположены, для матриц A(10,15) и B(15,12)
8 Вывести на печать элементы целочисленных матриц N(5,8) и M(10,6), кратные трём

9

Вычислить z, где xi и yi – заданы массивами


Все суммы вычислять в одной подпрограмме
10

Вычислить z = (xmax-ymin)/2, где xmax – максимальный элемент массива X(50); ymin – минимальный элемент массива Y(40)

xmax и ymin вычислять в одной подпрограмме

11 Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц A(10,10), B(15,20)
12 Вычислить суммы элементов верхней треугольной матрицы для матриц A(10,10), B(15,15)

13

Найти средние значения и стандартные отклонения для элементов массивов X(N), Y(M)

N<=100 M<=100

14 Вычислить суммы и количества элементов, находящихся в интервале от a до b для матриц X(10,8) и Y(10,12)
15 Преобразовать массивы X(50) и Y(60), расположив в них подряд только положительные элементы. Вместо остальных элементов записать нули

Пример выполнения работы

Задание А.

Выполнить на ЭВМ решение задачи. Определить ближайшую к началу координат точку, находящуюся в верхней полуплоскости, и наиболее удалённую точку, лежащую в нижней полуплоскости. Координаты точек, находящихся в верхней полуплоскости , заданы массивами X1(N) и Y1(N), а лежащие в нижней полуплоскости ,- массивами X2(M) и Y2(M), где N<=40, M<=60.

Для каждой точки верхней полуплоскости следует определить расстояние от начала координат. Из этих расстояний необходимо найти наименьшее. Такие же действия выполнить для точек, находящихся в нижней полуплоскости, однако найти наибольшее расстояние от начала координат.

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

Использование одной подпрограммы для нахождения наибольшего и наименьшего значений потребует введения дополнительного параметра, который необходим для проверки условия K*R>K*RM. Если K=1, то условие R>RM используется для нахождения наибольшего; если K= -1, то условие
R

В подпрограмму необходимо передать массивы координат точек, их размер, а также параметр K, который может принимать значения +1 или –1. Результат, полученный в подпрограмме–функции, присваивается её имени. Программа, реализующая алгоритм, имеют вид:


program coord;

usec crt;

const n=40;

type mas =array[1..n] of real;

var i,n : byte;

s : real;

x ,y : mas;

function vec(x,y:mas; n,kx:integer):real;

var j : integer;

r,rm : real;

begin

rm := -1e20;

for j := 1 to n do begin

r := sqrt(sgr(x[i])+sgr(y[i]));

if (kx*r>=kx*rm) then rm := r;

end;

vec := rm

end;


{ исполняемая часть главной программы }


begin

textattr:=27;clrscr;

gotoxy(30,2);writeln(‘');


write('Введите кол-во координат верхней полуплоскости. ');

readln(n);

writeln('Введите координаты');

for i :=1 to n do begin

read(x[i]); write(‘ ‘);readln(y[i]);

end;

writeln(‘Ближайшая точка удалена на расстояние =’, s:=vec(x,y,n,-1);

write('Введите кол-во координат нижней полуплоскости. ');

readln(n);

writeln('Введите координаты');

for i :=1 to n do begin

read(x[i]); write(‘ ‘);readln(y[i]);

end;

writeln(‘Наиболее удаленная точка находится на расстояни =’, s:=vec(x,y,n,1);

end.


Проверить правильность выполнения программы для массивов, заданных значениями:

Для верхней полуплоскости x={-4,0,3}; y={0,5,4};

Для нижней полуплоскости x={-4,0,2}; y={-2,-5,-1};

Для которых наименьшее расстояние от начала координат в верхней полуплоскости s = 4, а наибольшее - в нижней полуплоскости s = 5.


Задание Б.

Решить на ЭВМ задачу. Переписать положительные элементы массивов X(n),Y(m) в массив Z подряд. Запись положительных элементов в массив осуществить в подпрограмме. Принять ограничения: n<=100 и m<=100.

В подпрограмме должна осуществляться запись положительных элементов исходного массива в массив результатов.

Для этого в подпрограмму необходимо передать следующие параметры: имя и количество элементов исходного массива, имя и номер элемента с которого дописывать результирующий массив. Поскольку в массив результатов Z записывается подряд положительные элементы из нескольких массивов, в списке параметров должны фигурировать также: входной параметр L – номер ячейки, начиная с которой необходимо осуществлять запись в массив результатов.

При первом обращении к подпрограмме в неё необходимо передать имя массива Х, количество его элементов N; входной параметр L=1, запись осуществляется в массив Z, начиная с элемента с индексом 1. При завершении первого обращения L хранит номер последней занятой ячейки в массиве Z.

При втором обращении необходимо передать соответственно массив Y, количество его элементов M, и L=L+1 равной номеру ячейки преднозначенной для до записи в массив Z.

В схеме алгоритма при первом обращении к подпрограмме параметр L задан равным нулю, так как в подпрограмме перед записью элемента в массив z индекс L увеличивается на 1. По этой же причине при втором обращении параметру L опять увеличивается на 1, что даёт возможность обратиться к следующей ячейки массива Z при втором обращении.

Программа, реализующая алгоритм, имеют вид:


program sort (input,output);

uses crt; {подключение модуля упровляющего текстовым режимом монитора}

const n=200;

type mas:array[1..n] of real;

var i,n,m,l: byte;

x,y,z:mas;

procedure st (var a,c:mas;n:byte;var l:byte);

var j:byte;

begin

for j:=1 to n do

if a[i]>0 then begin

inc(l);

c[l] := a[j];

end;

end;

{ исполняемая часть главной программы }

begin

window(1, 1, 80, 25);textattr := 27; clrscr;

gotoxy(5, 2);write('Введите кол-во элементов массива X');

readln(n);

gotoxy(5, 3);write('Введите значения массива X');

for i := 1 to n do begin

gotoxy(i*4-2, 5); read(x[i]);

end;

gotoxy(5, 9);write('Введите кол-во элементов массива Y');

readln(m);

gotoxy(5, 10);write('Введите значения массива Y');

for i := 1 to m do begin

gotoxy(i*4-2, 12); read(y[i]);

end;

l := 0;

st(x,z,n,l);

st(y,z,m,l);

gotoxy(5, 15);write(‘Результативный массив Z’);

for i:=1 to l do begin

gotoxy(i*4-2, 17);write(z[i]);

end;

end.


Данная конкретная программа в тестировании не нуждается, так как выведенные на печать результаты позволяют однозначно судить о правильности выполнения программы.


Контрольные вопросы


  1. Указать, при каких условиях целесообразно использование подпрограмм, какие выгоды они представляют пользователю.

  2. Указать, в чём отличие различных видов подпрограмм пользователя.

  3. Указать способы обращения к подпрограммам пользователя.

  4. Указать способы передачи параматров в подпрограмму.

  5. Указать, как организовывать подпрограмму без параметров.

  6. Перечислить, как согласуются формальные и фактические параметры.

  7. Указать конструкции, которые могут быть формальными и фактическими параметрами.

  8. Пояснить, как и куда осуществляется выход из подпрограммы.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита02:03:50 02 ноября 2021
.
.02:03:48 02 ноября 2021
.
.02:03:48 02 ноября 2021
.
.02:03:47 02 ноября 2021
.
.02:03:47 02 ноября 2021

Смотреть все комментарии (21)
Работы, похожие на Реферат: Лабораторная работа по информатике, вариант №13, с методическим пособием.zip

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(292114)
Комментарии (4206)
Copyright © 2005-2022 HEKIMA.RU [email protected] реклама на сайте