- •«Информатика»
- •Содержание
- •1. Константы
- •2. Типы констант
- •3. Переменные
- •4. Типы переменных
- •5. Операторы описания
- •6. Арифметические операции Операции по приоритету:
- •7. Расположение текста программы на экране дисплея
- •Правила набора текста программ:
- •Правило:
- •4 Write(6,*)’ Введите значения сторон треугольника a,b,c’
- •8. Технология прохождения фортран – программ на эвм
- •Технология прохождения фортран – программ на эвм
- •9. Арифметический оператор if
- •If(арифметическое выражение) m1, m2, m3
- •Примечание:
- •Правило:
- •If арифметический не может быть последним оператором в цикле do.
- •4 Write(6,*)’ Введите значения сторон треугольника a,b,c’
- •8 Write(6,*)’ Площадь треугольника равна нулю’
- •9 Write(6,*)’ Такой треугольник не существует’
- •10. If логический
- •If(логическое выражение) выполняемый оператор
- •70% Ошибок у программистов возникает из-за несоответствия типов переменных!.
- •Условные обозначения логических операторов на блок-схемах
- •If арифметический if логический
- •11. Табулирование функции
- •12. Оператор цикла do
- •Внимание:
- •Примечание:
- •3 Write(6,*)’Введите переменные a,b,c’
- •13. Массивы
- •Примечание:
- •Вычисление определенного интеграла
- •1 Write(6,*)’Введите значения a,b,dx’
- •14.Работа содномерными массивами Ввод массивов
- •Первый способ ввода массивов:
- •Второй способ ввода массивов:
- •Третий способ ввода массивов:
- •15. Вывод массивов Первый способ вывода массива
- •Второй способ вывода массива:
- •Третий способ вывода массива:
- •Четвёртый способ вывода массива:
- •Способ вывода массива в два столбца:
- •Фрагменты задач с одномерными массивами
- •If(b.Eq.K) write(6,*)’ Число m является чётным’
- •Сортировка массива
- •Второй способ сортировки массива:
- •16. Конструкция if then–else if then–else – end if
- •If (логическое выражение 1) then
- •Правила:
- •Примечания:
- •17. Оператор data
- •Правило:
- •Правило:
- •18.Работа с двухмерными массивами
- •19. Ввод двухмерного массива
- •Второй способ ввода массивов:
- •Третий способ ввода массивов:
- •Четвертый способ ввода массивов:
- •Фрагменты задач с двухмерными массивами
- •20. Вывод двухмерного массива
Правила:
– Войти в конструкцию IF THEN ELSE можно лишь только через оператор IF в самом начале конструкции, т.е. запрещена передача управления из внешней части программы внутрь конструкции IF THEN ELSE (например, через оператор GO TO).
– Передача управления из одного блока конструкции в другой запрещена.
– Выйти из конструкции можно в любое, не запрещённое место программы с помощью операторов IF или GO TO.
Первый оператор конструкции IF THEN не может быть последним оператором в цикле DO.
Примечания:
Внутри любого блока конструкции могут содержаться свои законченные конструкции типа IF THEN ELSE.
Циклы типа DO не могут начинаться в одном блоке конструкции, а заканчиваться в другом.
Задача:
В одномерном массиве из Nэлементов выделить и записать в отдельные массивы:
1). Элементы, значения которых меньше нуля.
2). Элементы, значения которых лежат в пределах от 0 до 100.
3). Все элементы, значения которых больше 100.
Вывести, сколько процентов от общего количества составляет количество первого, второго, третьего массивов. При составлении программы использовать структуру IFTHENELSE.
DIMENSION A(1000),A1(1000),A2(1000),A3(1000)
J=1 Переменные J,K,L служат счетчиками для количества элементов массива. Почему L=0 – разберитесь в программе ниже.
K=1
L=0
WRITE(6,*)’Введите количество элементов массива и их значения’
READ(5,*) N,(A(I),I=1,N)
DO 10 I=1,N
C Блок записи в массив А1 отрицательных элементов массива А:
IF(A(I).LT.0.) THEN
A1(J)=A(I) запоминается в массиве А1 отрицательное число
J=J+1 счетчик первого массива увеличиваем на 1
С В массив А2 записываем значения элементов массива А от 1 до 100.
ELSE IF (A(I).GE.0..AND.A(I).LE.100.) THEN
A2(K)=A(I)
K=K+1 счетчик второго массива увеличиваем на 1
С Блок записи в массив А3 элементов массива А, больших 100.
ELSE
L=L+1 поняли?
END IF
A3(L)=A(I)
END IF
CONTINUE
C Вычисление процентных соотношений
P1=(J-1.)/N*100.
Если в выражении (J-1.) не поставить точку после единицы, то после вычисления этого выражения получится целое число. После деления целого на целое число N результат также будет целого типа, т.е. ноль.
P2=(K-1.)/N*100.
Другой способ записи: P2=100.*(K-1)/N – здесь точка после единицы не нужна, т.к. сначала вычислится целое К-1, а затем слева направо будут идти умножение вещественного 100 на целое К-1 и делиться на N. Но если у числа 100 не поставить точку, то результат будет искажен.
P3 = L * 100. / N Отметьте, что в этом выражении стоит просто L.
WRITE(6,*)’Количество отрицательных чисел, в %=’,P1
WRITE(6,*)’ Количество чисел в диапазоне от 0 до 100, в %=’,P2
WRITE(6,*)’ Количество чисел, значения которых больше 100’,P3
PAUSE
GO TO 15
STOP
END
Программа проанализирует каждый элемент массива А и, в зависимости от их величины, занесёт в разные массивы (в А1 – если число меньше нуля; в А2 – если число лежит в диапазоне от 0 до 100; в А3 – если число больше ста). Затем определит, какой процент от всех чисел массива А содержится в массивах А1, А2, А3 и выведет полученные значения на дисплей.