Задания на тему: составление подпрограмм типа SUBR0UTINE
Составить тексты программ иблок-схемы к заданиям 1), 2), 3).
(смотри на стр. 65 возможные варианты решений)
1) Билеты, на городском транспорте имеют номера от 000 000 до 999 999. Билет считается «счастливым», если сумма первых трех цифр его номера равна сумме трех последних цифр. Найти количество всех «счастливых» билетов (смотри на стр. 60 программу с именем LUCK).
2) Вычислить К членов последовательности, общий член которой
* Раздел – SUBROUTINE,
* Вычислить К членов последовательности, общий член которой
* A(N)=A(N-1)/N , A(1)=B . Дописать головную программуVUZAIK, из которой
* происходит вызов подпрограммы AIK.
SUBROUTINE AIK (A,B,K)
DIMENSION A(K)
A(1)=B
DO 5 L=2,K
D=L
A(L)=A(L-1)/D
5 CONTINUE
RETURN
END
3) Расположить элементы одномерного массива в порядке их возрастания. Дописать головную программу мas_rost, из которой происходит вызов подпрограммы rost(A,N).
| |||
| |||
6.5 Задания к лабораторным работам №5 и №6(Составить тексты программ иблок-схемы).
1. Составить программу вычисления значения функции
g = log2 (x) (logb (x + y) + logb+1 (x - у))
при заданных значениях b, x и у. Для вычисления логарифма по произвольному основанию использовать оператор-функцию (logat = ln t / ln a).
2. Составить программу вычисления значения функции
для заданных значений х и t. Вычисление многочлена ax2 + bx + c организовать в виде оператора-функции.
3. Составить программу вычисления среднего арифметического положительных элементов массивов A (50) и C (80), используя подпрограмму FUNCTION. Если в массиве нет положительных элементов, то их среднее арифметическое считать нулем.
4. Составить программу вычисления суммы положительных и отрицательных элементов массивов X (40) и Y (50) с использованием подпрограммы SUBROUTINE.
5. Составить программу вычисления значения функции
где amin и bmin — минимальные элементы массивов A (50) и B (20) соответственно. Вычисление минимального элемента массива оформить в виде подпрог-
раммы FUNCTION с именем MIN.
6. Составить программу вычисления значения функции
,
где nx, mx, lx — соответственно количество отрицательных, положительных и нулевых элементов массива X (20); ny, my, ly — соответствующие характеристики массива Y (30). Для вычисления характеристик массивов использовать подпрограмму SUBROUTINE.
7. Составить подпрограмму записи элементов прямоугольной матрицы в одномерный массив в порядке следования строк. Используя подпрограмму, сформировать соответствующие одномерные массивы для матриц A (5,2) и Y (3,3).
8. Составить подпрограмму вычисления координат минимального элемента квадратной матрицы. Используя подпрограмму, заменить эти элементы нулями в матрицах А (5,5) и М(3,3).
9. Составить программу вычисления значения функции
где ai и bi - элементы массивов A(20) и B(40) соответственно. Вычисление суммы заданного количества элементов массива оформить в виде подпрограммы FUNCTION.
Контрольные вопросы к пройденному материалу
1. В какой последовательности выполняются операторы программы?
2. Какие действия ЭВМ определены операторами: а) присваивания; б) ввода/вывода.
3. Какую информацию задает предложение FORMAT ?
4. По блок-схеме программы объяснить алгоритм решения задачи.
5. Объяснить различие числовых данных целого и вещественного типов.
6. Как определить тип констант и переменных?
7. Перечислить основные правила задания арифметических выражений.
8. Что определяют спецификации I , Е ,F , Х , литерал? Что определяет список специ
фикаций предложения FORMAT ?
9. Объясните взаимодействие оператора вывода с предложением FORMAT.
10. В каком порядке выполняются операторы программы?
11. Объяснить действия безусловного и условного операторов перехода?
12. Объяснять алгоритмы и программы примеров.
13. Объяснить алгоритм и программу, разработанную в соответствии с индивиду
альным вариантом задания.
14. Правила записи переменных с индексами.
15. Правила описания массивов с индексами в памяти ЭВМ.
16. Структура и действие оператора цикла.
17. Правила программирования с использованием оператора цикла.
18. Основные способы ввода-вывода массивов.
19. Объяснить примеры, приведенные в разд.4.
20. Перечислить требования к формальным параметрам операторов-функций.
21. Могут ли в состав выражения операторов-функций входить переменные, отлич
ные от формальных параметров?
22. В какой части программы должны размещаться операторы-функции?
23. Перечислить основные отличия подпрограммы-функции от операторов-функций.
24. Как оформляется подпрограмма-функция?
25. Перечислить требования, которым должны удовлетворять фактические парамет
ры при обращении к функции.
26. Правила обращения к функциям, описанным операторами.
27. Правила обращения к подпрограммам-функциям.
28. Как оформляется подпрограмма общего вида?
29. Как производится обращение к подпрограммам общего вида?
30. Каким образом результаты, полученные в подпрограмме,могут передаваться в
основную программу?
31. Как определяются допустимые типы фактических параметров при обращении к
подпрограмме?
32. В чем состоит модульная структура программы, целью ее использования ?
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
1. Г.Г. Калиш Основы вычислительной техники. – Москва “Высшая школа”. 2000. с 269
2. Дж. Ашкрофт, Р. Элдридж, Р. Полон, Г. Уилсон Программирование на Фортране 77. – Москва “Радио и связь”. 1990. с. 265
3. О.В. Бартеньев Современный Фортран. – 2-е изд., испр. - М.: “Диалог - МИФИ”, 1998г.- 397с.
4. О.В. Бартеньев Фортран для студентов. М.: “Диалог - МИФИ”, 1999г. 397 с.
5. В.Е. Краскевич, К.Х. Зеленский, В.И. Гречко Численные методы в инженерных исследованиях. – Киев, «Вища школа». 1986. с. 261
6. А.И. Плис. Н.А. Сливина Лабораторный практикум по высшей математике. – Москва “Высшая школа” 1983. с 192
7. Вычислительная техника в инженерных и экономических расчетах / Под ред. А.В.Петрова. - М.: Высшая школа, 1984. - 320 с.
8. Сапрыкина Л.Т., Фомина А.А. Методические указания к выполнению лабораторных работ «Программирование на ЭВМ и численные методы». – Николаев: НКИ, 1985. – 72с.
9. Ю.В. Петропавлов, Ю.Г. Тендитный Избранные вопросы вычислительной математики. Херсон, филиал УГМТУ, 1999.
Примечание 1:Варианты возможных решений заданий 5.6 и 6.4.
раздел 6.4 ; задание 1)
* Раздел – SUBROUTINE,
* Пример использования
* вложенных циклов.
PROGRAM LUCK
NC=0
DO 2 I=1,10
DO 2 J=1,10
DO 2 K=1,10
DO 2 L=1,10
DO 2 M=1,10
DO 2 N=1,10
IF(I+J+K-L-M-N) 2,1,1
1 NC=NC+1
2 CONTINUE
PRINT 3, NC
3 FORMAT ( ' ЧИСЛО СЧАСТЛИВЫХ
*БИЛЕТОВ РАВНО ', I 6)
END
|
| |||||
раздел 5.6 ; задание 2)
| |||
| |||
С 0 Д Е Р Ж А Н И Е
Введение…………………………………………............………………..…….…….......3
1. Операционная система (ОС)…………..………..………….…………..………...…...3
1.1 Семейство операционных систем Windows ….……………………………….….....3
1.2 “Мышь”……………….………………………………………………………………..4
1.3 Магнитные носители ……..….………………………………………………….……4
РАЗДЕЛ I.Контрольная работа (части I II). Лабораторная работа №1………….......5
1.1. Общие сведения о языке Фортран. Этапы обработки программ…...………......5
1.1.2 Основные символы и ключевые слова……………………………………….…...5
1.1.3 Осповные элементы ФОРТРАНа………………………………………………….6
1.1.4 Типы данных в ФОРТРАНе ……………………………………………………....6
1.1.5 Арифметические выражения и операции……………………………………...….7
1.1.6 Операции над вещественными и целыми величинами…………………..….......8
1.1.7 Возведение в вещественную степень ( )……………………………..8
1.1.8 Возведение в отрицательную степень………………………………………..…....8
1.1.9 Корень квадратный……………………………………………………………..…...9
1.1.9.1 Таблицы с примерами записей выражений на Фортране…(1,2,3)……….........9
1.1.9.2Операции отношения…………………………………………………………...10
1.1.9.3 Логические значения…………………………………………………………….10
1.1.10 Тригонометрические функции…………………………………………………..11
1.1.11 Обратные тригонометрические функции……………………………………...12
1.1.12 Арифметический оператор присваивания………………………………………12
1.2 Запись программ на Фортране………………………………………………….…...12
1.2.1 Обработка программ на компьютере…………………………………………......14
1.2.2 Оператор бесформатного ввода READ…………………………………………...15
1.2.3 Операторы вывода……………………………………………….………………....15
1.2.4 Отчет по лабораторной работе….............................................….……….............17
1.2.5 Оператор PARAMETER…………………………………………………………....17
1.2.6 БЛОК – СХЕМЫ ……....……………………………………………………….........18
1.2.7 Алгоритм выполнение практической работы…………………………….……...19
1.2.8 Консоль-проект ………………………………………………………………........20
1.3 Задания к контрольной работе (часть 1)………………………………………....21
1.3.1 Оператор FORMAT………………………………………………………………...24
1.3.2 Задания к контрольной работе (часть 2) ………………………………………...27
1.3.3 Пример выполнения контрольной работы (часть1, 2) ………………………..…24
1.3.4 Задания к лабораторной работе № 1…………………………………………......28
1.3.5 Пример выполнения лабораторной работы № 1……………………………….....31
1.3.6 Метки операторов………………………………………………………………...…32
1.3.7 Форматный ввод………………………………………………………………….....32
РАЗДЕЛ II.Лабораторная работа № 2..……………..…………………………….....33
2.1. Алгоритмы……………………………..….………………………………….…….....33
2.2 Рассмотрим пример составления схем алгоритмов…………..…..…………..…....34
2.3 Операторы передачи управления……………….……………………………..…......35
2.4 Вычисляемый оператор перехода…………..……….………………………….…....35
2.5 Условный арифметический оператор IF……..………………………………..….....35
2.6 Логический условный оператор IF …………………………………………….......36
2.7 Пример выполнения задания в работе № 2 …………………………………........37
2.8 Задания к лабораторной работе № 2…………………………………………….….38
РАЗДЕЛ III.Лабораторная работа № 3 ………………………………………........40
3.1 Циклический алгоритм …………………………………………………………......40
3.2 Вспомогательные операторы управления…………………………...………….....42
3.3 Оператор паузы …………………………………………………………………......43
3.4 Массивы………………………………………………………………………….......43
3.5 Оператор DIMENSION……………………………………………………….…......44
3.6 Индексные выражения……………….………………………………………….…..44
3.7 Ввод – вывод одномерных массивов………………………….……………………44
3.8 Оператор цикла DO……………………………………………………………….…46
3.9 Задания к лабораторной работе № 3………………………………………………..47
3.10 Пример выполнения задания к лабораторной работе № 3……………………....47
РАЗДЕЛ IV. Лабораторная работа № 4 …………………………………………......48
4.1Дополнение к оператору цикла DO……………………………………………......48
4.2 Двумерные массивы……………………………………………………………...…49
4.2.1 Ввод/вывод элементов матрицы………………………………………………....49
4.3 Вложенные циклы…………………………………………………………………..50
4.4 Задания к лабораторной работе № 4…………………………………………..…..51
4.5 Пример выполнения задания к лабораторной работе № 4…………………....…51
РАЗДЕЛ V. Лабораторная работа № 5………………………………..………........52
5.1 Программные единицы………………………………………………………….....52
5.2 Оператор FUNCTION………………………………………………………….…...53
5.3 Другие операторы, входящие в подпрограммную – функцию……………….....54
5.4 Обращение к подпрограмме – функции……………………………………….....54
5.5 Примеры решения заданий к лабораторной работе № 5 .............….………..........56
5.6 Задания на тему: составление подпрограмм типа FUNCTION ……………......57
РАЗДЕЛ VI.Лабораторная работа № 6……………………………..…………..…..58
6.1 Подпрограммы типа SUBR0UTINE………………………………..………....…...58
6.2 соответствия между формальными и фактическими аргументами..……......….59
6.3 Примеры выполнения задания к лабораторной работе № 6………..….…..........61
6.4 Задания на тему: составление подпрограмм типа SUBR0UTINE……..….........61
6.5 Задания к лабораторным работам №5 и №6…………………………..…..…..…62
Контрольные вопросы к пройденному материалу…………………………..…........63
Литература………………………………………………………………………...........64
Примечание 1 (возможные решения)…….……………………………………..........65
Содержание……………………………………………………………………….........66
Примечание 2 (для заметок)…………………………………………………….........67
Для заметок: