- •Содержание
- •Глава 1. Описание языка c ......................................................................... 5
- •Глава 2. Описание языка fortran ....................................................... 38
- •Глава 3. Решение задач на языках c и fortran ................................ 70
- •Глава 1. Описание языка c
- •1.1. Структура c-программы
- •1.2. Скалярные типы данных и константы, строковые константы
- •1.3. Описание скалярных переменных. Директива #define
- •1.4. Операции. Выражения
- •1.5. Стандартные математические функции
- •1.6. Ввод-вывод
- •Int printf ( строка формата [ , список вывода ] )
- •Int scanf ( строка формата , список ввода )
- •1.7. Метки, оператор goto, условные конструкции, оператор break, функция exit
- •If ( логическое выражение ) оператор/блок [ else оператор/блок ]
- •1.8. Циклические конструкции
- •1.9. Указатели, адресная арифметика
- •1.10. Массивы
- •1.11. Функции
- •1.12. Классы памяти. Общие правила описания. Оператор typedef
- •1.13. Строковые переменные, ввод-вывод строк, стандартные функции обработки строк. Функции проверки символов
- •Int sprintf(char* s,char* формат [ , список вывода ] )
- •1.14. Макроопределения
- •1.15. Внешние файлы
- •Int fclose(file* указатель на файл )
- •Int feof(file* файл )
- •1.16. Структуры, объединения, битовые поля
- •1.17. Динамическое распределение памяти
- •1.18. Графика
- •Глава 2. Описание языка fortran
- •2.1. Структура fortran-программы
- •2.2. Типы данных. Константы
- •2.3. Описание переменных, правила умолчания, операторы
- •Implicit тип ( буквы ) , ...
- •2.4. Оператор присваивания. Операции
- •2.5. Стандартные математические функции
- •2.6. Ввод-вывод
- •2.7. Оператор соntinue. Операторы перехода. Условные операторы
- •If (логическое выражение)оператор
- •If (арифметическое выражение)метка1,метка2,метка3
- •2.8. Операторы цикла
- •2.9. Функции loc, locfar, locnear
- •2.10. Массивы
- •2.11. Подпрограммы subroutine, function и interface
- •Intrinsic список имен
- •2.12. Общие области, подпрограмма block data. Оператор equivalence
- •2.13. Символьные переменные
- •2.14. Операторные функции
- •2.15. Внешние файлы
- •2.16. Структуры
- •2.17. Динамические массивы
- •2.18. Графика
- •Глава 3. Решение задач на языках c и fortran
- •Задача 1. Вывод натурального числа
- •Задача 2. Сумма ряда
- •Задача 3. Медленная сортировка
- •Задача 4. Быстрая сортировка
- •Задача 5. Слова
- •Задача 6. График
- •Задача 7. Кубическое уравнение
- •Задача 8. Собственное число
- •Комментарии к задачам
2.7. Оператор соntinue. Операторы перехода. Условные операторы
Оператор CONTINUE - пустой оператор, он не выполняет никаких действий и используется, как правило, для улучшения структуры программы. Он практически всегда имеет метку.
Оператор перехода в языке FORTRAN имеет три разновидности: безусловный, вычисляемый и по предписанию. Безусловный оператор перехода записывается в виде:
GOTO метка
Вычисляемый оператор перехода:
GOTO (список меток)целое выражение
передает управление на метку из списка меток с порядковым номером, равным значению целого выражения. Оператор перехода по предписанию имеет вид
GOTO целая переменная
Этой целой переменной предварительно должна быть присвоена одна из меток программы специальным оператором:
ASSIGN метка TO переменная
Целочисленная переменная, которой оператором ASSIGN была присвоена метка, допускает еще одно применение - ее можно использовать в операторах READ и PRINT вместо метки формата. Обратите внимание, что обычный оператор присваивания переменная=метка в этом случае не годится.
Условный оператор IF в языке FORTRAN также имеет три формы: логический IF, арифметический IF и блочный IF. Логический оператор IF записывается в виде:
If (логическое выражение)оператор
Здесь оператор - это любой выполняемый оператор, кроме логического и блочного IF. Логический IF содержит только один исполняемый оператор и не имеет ELSE-конструкции, его используют в самых простых условных алгоритмах. Вторая форма условного оператора - арифметический оператор IF :
If (арифметическое выражение)метка1,метка2,метка3
Он выполняется следующим образом: вычисляется арифметическое выражение (оно не должно быть комплексным), если его значение отрицательно, то осуществляется переход на метку метка1, если оно равно 0, то осуществляется переход на метку метка2, и если оно положительно - на метку метка3.
Блочный оператор IF является обобщением логического условного оператора и соответствует по своим возможностям и структуре условным операторам в языках PASCAL и C :
IF(логическое выражение)THEN
операторы
ELSEIF(логическое выражение)THEN
операторы
...................................
ELSE
операторы
ENDIF
Формально ELSEIF, ELSE и ENDIF являются отдельными операторами и обязательно должны записываться в отдельной строке. Последовательности операторов после IF, ELSEIF, ELSE называют соответственно IF-блоком, ELSEIF-блоком и ELSE-блоком. В любом из блоков можно записать любое количество операторов. Операторы ELSEIF и ELSE могут отсутствовать, но оператор ENDIF обязателен. Операторы, входящие в блоки, сами могут быть условными, что позволяет записывать сколь угодно сложные условные конструкции.
Оператор выбора SELECT CASE аналогичен оператору CASE в языке PASCAL:
SELECT CASE(выражение)
CASE(список значений)
операторы
........................
CASE DEFAULT
операторы
END SELECT
Выражение должно иметь целый, логический тип или тип CHARACTER*1. Список значений состоит из константных выражений соответствующего типа, разделенных запятыми или двоеточиями, например:
SELECT CASE (i**2+3-m)
CASE (-10:1,3,12,22:40)
PRINT*,'A'
CASE (-30:-15,8:10,19,-12)
GOTO 111
CASE DEFAULT
GOTO 222
END SELECT
В любом месте программы можно использовать оператор
STOP [параметр]
который прекращает выполнение программы. Здесь параметр - либо пусто, либо строка символов, либо целая константа в диапазоне от 0 до 99999. Если оператор используется без параметра, то на экран выдается сообщение STOP - Program terminated. Если параметр задан строкой символов, то на экран выводится только эта строка. Если параметр задан целой константой, то выводится сообщение Return code константа.
Оператор PAUSE служит для временной приостановки выполнения программы и имеет точно такой же синтаксис, как и оператор STOP. Если оператор выполнен без параметра, то на экран выводится сообщение Pause - Please enter a blank line (to continue) or a DOS command . Если задан параметр - символьная строка, то выводится эта строка, если задан параметр - константа, то выводится сообщение Pause - константа. После этого пользователь может совершить одно из трех действий: ввести пустую строку, ввести любую команду DOS или ввести слово COMMAND, затем любое количество команд DOS, а затем команду EXIT. После выполнения этих операций выполнение программы продолжается обычным образом.
