- •Лабораторная paбота №1
- •Указания по выполнению работы
- •Лабораторная работа №2 Программирование алгоритмов линейной структуры
- •Указания по выполнению работы
- •Лабораторная работа №3 Программирование алгоритмов разветвленной структуры
- •Указания по выполнению работы
- •Варианты заданий к лабораторной работе № 3
- •Оформить отчет по лабораторной работе. Указания по выполнению работы
- •Лабораторная работа № 4 Программирование алгоритмов циклической структуры.
- •Получить распечатки программ и результатов расчета.
- •Составить программу вычисления k членов последовательности
- •Составить программу вычисления суммы k членов последовательности
- •Составить программу вычисления произведения k членов последовательности
- •Лабораторная работа №6 Программы для обработки одномерных массивов
- •Получить распечатку программы и результатов расчета.
- •Оформить отчет по лабораторной работе. Указания по выполнению работы
- •Лабораторная работа №5 Программирование с использованием подпрограмм
- •Получить распечатку программы и результатов расчета.
- •Оформить отчет по лабораторной работе. Указания по выполнению работы
- •200 Rem' подпрограмма вычисления
- •210 Rem факториала
Составить программу вычисления k членов последовательности
№ п.п |
Формула общего члена |
k |
№ п.п |
Формула общего члена |
k |
|
|
|
5 |
|
|
7 |
|
|
|
10 |
|
|
9 |
|
|
|
8 |
|
|
12 |
Составить программу вычисления суммы k членов последовательности
№ п.п |
Формула общего члена |
k |
№ п.п |
Формула общего члена |
k |
|
|
|
10 |
|
|
6 |
|
|
|
9 |
|
|
8 |
|
|
|
7 |
|
|
5 |
Составить программу вычисления произведения k членов последовательности
№ п.п |
Формула общего члена |
k |
№ п.п |
Формула общего члена |
k |
|
|
|
5 |
|
|
7 |
|
|
|
8 |
|
|
6 |
|
|
|
6 |
|
|
9 |
|
|
|
7 |
|
|
10 |
Лабораторная работа №6 Программы для обработки одномерных массивов
Цель работы: приобрести практические навыки в составлении программ для обработки одномерных массивов.
Задание
Изучать оператор описания массивов языка Бейсик, правописание индексированных переменных одномерных массивов и особенности их применения.
Для заданного варианта составить схему алгоритма и реализующую его программу для обработки одномерного массива.
Произвести на ЭВМ расчеты по разработанной программе для исходных данных приведенных в табл. 6.1.
Получить распечатку программы и результатов расчета.
Оформить отчет по лабораторной работе. Указания по выполнению работы
Массивом называется упорядоченная последовательность величий (элементов массива), обозначаемая одним именем. В одномерном массиве положение элемента определяется его номером или индексом массива. Для обозначения элементов одномерного массива в Бейсике служат переменные с индексом вида A(n), где A - имя переменной (массива) образуется с помощью буквы и цифры; n – индекс переменной (массива) может обозначаться числом, простой переменной или арифметическим выражением. Начинаются индексы с 0, наибольшее значение индекса 255. Например, A(4) – четвертый элемент массива A; B1(k) – k-й элемент массива B1.
Язык Бейсик не всегда требует объявления массива при использовании его в программе. Если массив содержит 11 элементов, то достаточно одного упоминания имени переменной, чтобы Бейсик автоматически выделил ячейки в памяти ПЭВМ для массива с 11 элементами и присвоил им нулевые значения. Первый элемент массива по умолчанию имеет ноль, а не 1, поэтому последний элемент будет иметь порядковый номер 10.
Если вы хотите работать с большими массивами, необходимо уведомить Бейсик с помощью оператора DIM. Общая форма данного оператора следующая:
DIM имя1 (индекс1) [, имя2(индекс2), …]
где имя1, имя2 – имена массивов переменных; индекс1, индекс2 – размерность массива, выражаемая следующим образом:
[нижний TO] верхний [, нижний TO] верхний …,
где нижний – нижнее значение индекса массива (по умолчанию ноль); верхний – верхнее значение индекса массива.
Оператор DIM резервирует в памяти ЭВМ место для описываемого массива. При описании одним оператором DIM нескольких массивов их описания располагаются в строке оператора через запятую. Например, оператор
DIM А(3),В(2)
резервирует в памяти ЭВМ места для четырех элементов А(0),А(1), А(2),А(3) массива А и трех элементов В(0),В(1),В(2) массива В.
Описание всех массивов рекомендуется давать в начале программы, если оно отсутствует, то по умолчанию максимальное значение индекса равно 10.
При программировании следует иметь в виду, что ввод, вывод и обработка массивов выполняются поэлементно и легко реализуются в программах с помощью циклов, позволяющих организовать выбор элементов массива путем изменения их индексов. При этом индексы массивов используются, как правило, в качестве управляющих переменных. Вывод одномерных массивов целесообразно выполнять в строку, сопровождая комментариями.
В
качестве примера на рис.6.1 приведены
алгоритм и программа формирования
одномерного массива В из элементов
массива А размером n,
удовлетворяющих условию
.
Программа составлена в общем виде и может использоваться для массивов размером до 20, который задан оператором DIM в строке 20. Размер обрабатываемого массива А вводится в переменную N.
Операторы первого цикла обеспечивают поэлементный ввод массива А. При этом оператор INPUT выполняется N раз (по числу элементов массива) и при каждом его выполнении в цикле значение элемента массива вводится с клавиатуры. Оператор PRINT каждый раз выводит на дисплей запрос о вводе очередного элемента массива.
Операторы второго цикла с целью контроля ввода исходного массива А обеспечивают вывод его элементов на дисплей в плотном формате в одну строку с заголовком МАССИВ А:. Оператор PRINT без списка вывода осуществляет возврат каретки после вывода последнего элемента и выхода из цикла Выбор элементов массива А, удовлетворяющих заданному условию формирование из них и вывод элементов массива В совмещены в целях сокращения программы в третьем цикле. Управляющей переменной I этого цикла является индекс массива А. Индексом формируемого массива B служит переменная К, значение которой до входа в цикл задается равным нулю и увеличивается на единицу при каждом выполнении условия А(I)>С, проверяемого в цикле условным оператором IF. Вывод элементов массива В осуществляется оператором PRINT в плотном формате в одну строку с заголовком МАССИВ В.
|
REM Программа формирования массива DIM А(20),В(20) REM Ввод исходных данных PRINT “Введите значение С=”; INPUT С PRINT “Введите размер массива A N=” INPUT N FOR 1=1 ТО N PRINT “Введите значение A(“;I;”)=”; INPUT A(I) NEXT I REM Контрольный вывод массива A PRINT “Массив A:”; FOR I=1 TO N PRINT А(I); NEXT I REM Формирование и вывод массива B PRINT ”Массив В:”; К=0 FOR I=1 ТО N IF A(I) > C THEN К=К+1 B(К)=А(I) PRINT В(К); END IF NEXT I END
|
Рис.6.1. Пример программирования алгоритма формирования одномерного массива: а - схема алгоритма; б - его программная реализация.
Таблица 6.1
Варианты заданий к лабораторной работе № 6
№ п.п |
Составить программу обработкиодномерного массива А размером n |
n |
k |
|
|
Вычислить произведение всех элементов |
15 |
- |
|
|
Вычислить сумму всех элементов |
14 |
- |
|
|
Удалить k-й элемент и сформировать новый массив размером n-1 |
11 |
6 |
|
|
Включить дополнительный элемент в k-ю позицию и сформировать новый массив размером n+1 |
17 |
3 |
|
|
Переставить местами k-й и (k+1)-й элементы и образовать новый массив |
9 |
4 |
|
|
Определить максимальный элемент |
20 |
- |
|
|
Определить минимальный элемент |
25 |
- |
|
|
Определить количество положительных элементов |
22 |
- |
|
|
Определить количество отрицательных элементов |
30 |
- |
|
|
Сформировать новый массив, состоящий из положительных элементов |
19 |
- |
|
|
Сформировать новый массив, состоящий из отрицательных элементов |
30 |
- |
|
|
Определить максимальный из отрицательных элементов |
16 |
- |
|
|
Определить минимальный из положительных элементов |
27 |
- |
|
|
Определить число элементов, превосходящих по величине первый элемент |
29 |
- |
|
|
Сформировать новый массив, состоящий только из элементов, превосходящих по величине первый элемент |
18 |
- |
|
|
Сформировать новый массив, состоящий только из элементов, не превосходящих по величине первый элемент |
20 |
- |
|
|
Сформировать
новый массив В, элементы которого
|
19 |
3,14 |
|
|
Сформировать новый массив В, элементы которого
,
|
16 |
5,74 |
|
|
Выполнить
сортировку массива так, чтобы
|
10 |
- |
|
|
Выполнить
сортировку массива так, чтобы
|
12 |
- |
№ п.п |
Из двух одномерных массивов А и В одного размера n сформировать массив C, элементы которого равны: |
n |
k |
|
|
|
27 |
3,14 |
|
|
|
29 |
1,57 |
|
|
|
23 |
6,28 |
|
|
|
15 |
2,56 |
|
|
|
20 |
8,34 |
|
|
|
27 |
- |
|
|
|
29 |
- |
|
|
|
23 |
6,28 |
|
|
|
15 |
2,56 |
|
|
|
20 |
8,34 |
Примечание. Значения элементов массивов во всех вариантах заданий выбираются произвольно
Лабораторная работа №7
Программы для обработки двумерных массивов
Цель работы: приобрести практические навыки в составлении программ для обработки двумерных массивов.
Задание
1. Изучить опоратор описания массивов языка Бейсик, правописание индексированных переменных двумерных массивов и особенности их применения. г. Для заданного варианта составить схему алгоритма и реализующую его программу для обработки двумерного массива.
Произвести на ЭВМ расчеты по разработанной программе для исходных данных, приведенных в табл. 7.1.
Получить распечатку программы и результатов расчета.
Оформить отчет по лабораторной работе..
Указания по выполнению работы
Алгоритмический язык Бейсик кроме одномерных массивов, рассмотренных в лабораторной работе №6, допускает использование двумерных массивов. Положение элемента в двумерном массиве определяется двумя номерами, или индексами массива, обозначающими номер строки и номер столбца, на пересечении которых он расположен. Для обозначения элементов двумерного массива в Бейсике служат переменные с индексами вида A(n,m), где А - имя переменной (массива); п,ш - записываемые через запятую индексы переменной (массива) - первый индекс обозначает номер строки, второй - номер столбца. Имя переменной двумерного массива и ее индексы образуются так же, как и одномерного массива. Наибольшее допустимое значение индексов двумерного массива (255,255). Например, А(3,Ч) - переменная двумерного массива, стоящая в третьей строке и четвертом столбце (нумерация строк и столбцов на- чинается с нуля).
Правила описания двумерных массивов такие же, как одномерных. Например, при описании двух массивов оператор DIM имеет вид
DIM В(4,5), С(5,5)« где верхние границы изменения индексов записываются через запятую. Этот оператор резервирует в памяти ЭВМ места для 30 элементов массива В, содержащего 5 строк и 6 столбцов, и 36 элементов массива С, состоящего из 6 строк и 6 столбцов.
Если описание двумерного массива отсутствует, то по умолчанию максимальное значение каждого из двух индексов par но 10.
Ввод и вывод двумерных массивов выполняется, как правило, по строкам, для чего организуется двойной цикл: внешней - по номеру строки, внутренний - по номеру столбца. При этом первый индекс применяется в качестве управляющей переменной внешнего цикла, а второй индекс - в качестве управляющей переменной внутреннего цикла.
В качестве примера на рис.7.1 приведены алгоритм и программа получения транспонированной матрицы В из матрицы А размером п х т. Транспонирование матрицы заключается в замене ее строк столбцами, а столбцов - строками.
Программа составлена в общем виде и может использоваться для матриц размером 20x20, который задан оператором DIM в строке 20. Размеры обрабатываемой матрицы А вводятся в переменные N и М.
Операторы первого двойного цикла (строки 100-130) обеспечивают поэлементный ввод матрицы А по строкам. При этом оператор INPUT (строка 110), являясь телом внутреннего цикла, выполняется (п х т) раз (по числу элементов матрицы) и при каждом его выполнении значение элемента матрицы, вводится с клавиатуры. Оператор PRINT (строка 90) входит в тело внешнего цикла и выводит на дисплей запрос, идентифицирующий номер вводимой строки.
Операторы второго двойного цикла (строки 160-210) осуществляют контрольный вывод матрицы А после ввода ее элементов, оператор PRINT (строка 180), являясь телом внутреннего цикла, выполняется (п х т) раз и выводит построчно элементы матрицы А в плотном формате. После вывода строки матрицы и выхода из внутреннего цикла оператор PRINT без списка вывода (строка 200)
10 REM ПРОГРАММА ТРАНСПОНИРОВАНИЯ МАТРИЦЫ 20 DIM А(20,20),В(20,20) 30 REM ВВОД МАТРИЦЬ' А 40 PRINT 'ВВЕДИТЕ ЧИСЛО СТРОК N='; 50 INPUT N
60 PRINT 'ВВЕДИТЕ ЧИСЛО СТОЛБЦОВ М='; 70 INPUT М 80 FOR 1=1 ТО N
90 PRINT 'ВВЕДИТЕ 'Г-Ю СТРОКУ' 100 FOR J=i ТО М 110 INPUT A(I,J) 120 NEXT J
130 NEXT I
140 REM КОНТРОЛЬНЫЙ ВЫВОД МАТРИЦЫ A 150 PRINT 'МАТРИЦА A' 160 FOR 1=1 TO N 170 FOR J=1 TO M 180 PRINT A(I,J); 190 NEXT J 200 PRINT 210 NEXT I
220 PRINT 'ТРАНСПОНИРОВАННАЯ МАТРИЦА В' 230 FOR.1=1 TO M 240 FOR J=i TO N 250 B(I,J)=A(J,I) 260 PRINT B(I,J); 270 NEXT J 280 PRINT 290 NEXT I 300 END
6)
Рис.7.1. Пример программирования алгоритма транспонирования матрицы: а - схема алгоритма; 6 - его программная реализация.
осуществляет возврат каретки, чем обеспечивается вывод яовой строки матрицы с новой строки экрана дисплея.
Вычисление элементов транспонированной матрицы В и их построчный вывод совмещены в целях сокращения программы в третьем двойном цикле (операторы в строках 230-280).
Таблица 7.1
Варианта заданий к лабораторной работе № 7
! ft, \ Составить программу обработки ! Исхо; { п/п ! двумерного массива А размером n х тГ п |
хные данные J m 1 ■ к 1 |
! I ! 2 13 |
4 ! 5 ! |
! 1 \ Вычислить сушу всех элементов ! 5 |
5 ! - ! |
» 2 ! вычислить произведение всех ! 1 \ элементов ! 7 |
7 i - 1 |
! 3 ? Вычислить сумму диагональньк ! ? элементов 1 9 |
9 i - ' |
! 4 ! Вычислить сумму и произведение ! ! элементов k-й строки ! 8 |
8 f 5 ! |
! 5 1 Вычислить сумму и произведение ! ! элементов k-го столбца ! 6 |
\ i 6 ! 4 f |
! 8 ! Сложить кчо и (к+1)~ю строки и ? ? ? ? ! \ сформировать новый массив ! ! ! ! ! размером (n-1) х в \ 10 ! 7 ! 7 ! |
|
! 7 ! Сложить k-й и (к~1)~й столбцы и ! ! сформировать новый массив ! ! ! размером R X (ш-1) ! 6 |
8 ! 3 ! |
1 8 1 Сложить элементы всех строк и ! ! ! сформировать одномерный массив \ У f размером п > * » f 7 |
9 1 - 1 |
J 9 ! Удалить k~$ .строку и сформировать 1 ! новый массив размером уьО х ш 1.9 |
! 8 i 4 i |
! 10 * Удалить k-й столбец и сформировать ! ! ! 1 ! новый массив размену n х (ш-1) ! 5 ! 7 ! 2 ! |
|
J 11 f Переставить местами k-ю и (к+1)-ю ! ! ? ? строки и'сформировать новый массив ! 5 ! 5 ! 1 ! |
|
• 12 ! Переставить местами k-й и (k-D-й \ ! • 1 1 столбцы и сформировать яовый массив! 8 ! Я ' 9 ? |
|
Продолжение табл. 7.1
! 1 1 2 ! |
3 ! |
4 |
! 5 ! |
1 13 !Определить минимальный элемент, его ! !номер строки и Столбца ! |
1 5 ! |
4 |
t i i - ! |
! 14 !Определить максимальный элемент, его ! !номер строки и столбца ! |
f 6 ! |
8 |
? I |
1 15 !Определить минимальный и максимальный! !, !элементы k-й строки ! |
f 9 I |
7 |
! \ ! 5 I |
1 18 {Определить минимальный и максимальный! iэлементы к-го столбца ! |
! 5 ! |
9 |
! 7 ! |
1 17 !Умножить k-ю строку и (к+1)-й столбец! ! !на число к ! |
! 9 ! |
9 |
! 4 ! |
! 18 !Разделить к-ю строку и (к-1)-й ! ! !столбец на число к ! 1 |
! 7 ! |
7 |
! i ! 3 ! t |
! . 18 'Умножить все элементы массива ! V !на число к ! |
i 8 ! |
5 |
I t ! 4,86! t |
! 20 {Разделить все элементы массива ! ! !на число к ! » |
f 6 ! |
8 |
! ! ! 7,35! |
! if ! Из двух двумерных массивов А и В ! ! ! размером n х m сформировать массив !- j п/п ! о элементы которого равны: ! |
Исходные данные ! » |
||
ri |
1 |
ш ! |
|
j 21 { с, au+ bu, 1=1,...,л, >1,...,в { |
4 |
I |
6 j , . ■ . i |
j 22 ! cie.= au-bu, i=l,...,n, 4«l,...-,m } |
8 |
I |
9 ! i |
j 23 j с = a b i=l,...,n, j=l,...,m | • • it \A n ■ |
9 |
! |
7 ! i |
j 24 | cusaw/bi(j, i=l,...,n, j |
6 |
i |
9 ( |
! 25 ! Найти матрицу С, равную произведению! ! матриц А и В* одного размера n х ш ! |
7 |
i i |
7 i I |
! Примечание. Значения элементов массивов во всех вариантах ! * заданий выбираются произвольно.
Библиографический список
Г. И. Светозарова, А. А. Мельников, А. В. Козловский. Практикум по программированию на языке Бейсик/Под ред. С. В. Емельянова. М.: Наука, 1988. 358 с.
В. П. Дьяконов. Справочник по алгоритмам и программам
на языке Бейсик для персональных ЭВМ. М.: Наука, 1989. 240 с.
В. М. Заварыкин, В. Г. Житомирский,' М. П. Ланчик. Тех
ника вычислений и алгоритмизация. М.: Просвещение, "1987 160 с
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам по вычислительной технике и программированию
Составители: Алексей Анатольевич Аллилуев, Виктор Анатольевич Аллилуев
Редактор Н. И. Губарева Корректор С. В. Щедрина
Темплан 1990 г.
Подписано в печать 9.04-90. Формат 60x84 1/16. Бумага тип. № 2. Плоская печать (ротапринт). Усл. п. л. 2,09. Уч.-изд. л. 2,25. Усл..кр-отт. 2,09. Тираж 300. Заказ 702. Беоплатно.
Новочеркасский ордена Трудового Красного Знамени политехнический
институт имени Серго Орджоникидзе
Типография Новочеркасского политехнического института.
Адрес института и типографии:
346400, Новочеркасск, ГСП-1, ул. Просвещения, 132.
Составители: А. А. Аллилуев, В. А. Аллилуев
УДК 519.682(076.5)
Методические указания к лабораторным работам но вычислительной технике и программированию/Новочерк. политехи. ин-т. Новочеркасск, 1990. 36 с.
Методические указания предназначены для студентов I курса энергетического факультета специальностей 1001 и 2104, изучающих курс «Вычислительная техника и программирование».
Цель указаний — получение и закрепление начальных - навыков программирования на алгоритмическом языке Бейсик. В методических указаниях дается описание языка Бейсик применительно к микроЭВМ типа ДВК-3, на которых предусмотрено выполнение лабораторных работ.
Ил. 8. Табл. 5. Библиогр.: 3 назв.
Рецензент канд. техн. наук В. К. Хлебников
Новочеркасский политехнический институт, 1990
Общиe указания
Алгоритмический язык Бейсик является одам аз распространенных языков программирования высокого уровня, отличается простотой, доступностью и используется при организации-диалогового режима человека и ЭВМ..В предлагаемых методических указаниях дается описание языка Бейсик применительно к микроЭВМ типа ДВК-3, на которые ориентированы лабораторные работы.
Лабораторные работы предусматривают обязательную предварительную подготовку, которая включает изучение операторов языка Бейсик, разработку алгоритма и программы расчета на ЭВМ, Перед выполнением лабораторной работы студент, должен представить преподавателю подготовленную программу и получить разрешение на выполнение работы на ЭВМ. Отчет по лабораторной работе оформляется каждт студентом й допоен содержать: задание с исходным данными; схему алгоритма решаемой-задачи; распечатку разработанной программы; результаты расчетов на ЭВМ.
Алгоритм глредставляет собой четкой описание действий, которые необходимо выполнить для рёшшя задачи. Для ого разработка задача разбивается на последовательно выполняемые этапы, определяется содержание каждого этапа,, порядок их вы- полкэния. Изобрэ^тся яягорит графически в.виде ехемы.
Программа, на алгоритшчееком языке Бейсик состоит из последовательности операторов,: записываемых построчно большими латинскими буквами. Операторы предназначены дя* задания ЭВМ операций обработки.информации. В одной отроке может быть один оператор или несколько, разделенных наклонной чертой (\). Строки программы нумеруются. Рекомендуете^ нумерация кратная 10* что позволяет при необходимости вносить изменения в программу. Программа завершается оператором Ш), • - -
Ввод программы можно начинать, если на экране дисплея высвечивается READY, а в начале следующей строки находится курсор, указывающий позицию, в которую будет вводиться с
