73804

Примеры программ с циклическим алгоритмом

Лекция

Информатика, кибернетика и программирование

Вычисление суммы конечного числа слагаемых алгоритм накопления суммы Рассмотрим сумму конечного числа слагаемых: 1 Здесь n – слагаемое или общий член суммы с номером n. В математике принята следующая сокращенная запись такой суммы: Здесь n слагаемое или общий член суммы с номером индексом суммирования n. Вычислять данную сумму будем последовательно добавляя очередное слагаемое к ранее вычисленному значению суммы. Алгоритм накопления суммы:...

Русский

2014-12-20

458.5 KB

0 чел.

Лекция 6. Примеры программ с циклическим алгоритмом.

Вывод по формату.

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

Табулирование функции

Первый пример – табулирование функции – был подробно рассмотрен в предыдущей лекции и здесь на нем не будем останавливаться, см. Лекцию 5 данного курса.

Вычисление суммы конечного числа слагаемых (алгоритм накопления суммы)

Рассмотрим сумму конечного числа слагаемых:

                                                                          (1)

Здесь an – слагаемое или общий член суммы с номером n. n меняется в данной сумме от значения p до значения q с шагом 1. В математике принята следующая сокращенная запись такой суммы:

Здесь an - слагаемое или общий член суммы с номером (индексом суммирования) n. n – номер слагаемого в сумме, p - номер первого слагаемого в сумме, q – номер последнего слагаемого в сумме. Вычислять данную сумму будем последовательно, добавляя очередное слагаемое к ранее вычисленному значению суммы.

Алгоритм накопления суммы:

                                                                                                                                                      (3)

Пусть вычислено значение суммы Sn-1 первых слагаемых от p-того до (n-1)-го слагаемого включительно, тогда следующее значение суммы с добавлением следующего слагаемого an будет равно Sn = Sn-1 + an.  

Это так называемый алгоритм накопления суммы, аналогичный алгоритму накопления определенной суммы денег на счете банковской карты: каждое последующее перечисление денег увеличивает сумму на величину перечисленных денег.

Так как при вычислении на компьютере не обязательно сохранять каждое вычисленное значение суммы в отдельных ячейках памяти, то для хранения значения суммы выделим одну ячейку памяти S, и в расчетных формулах опустим индексы (номера),

S=S+aрекуррентная формула накопления суммы: каждое последующее значение суммы вычисляется через предыдущее. Как правило, начальное значение S=0 (Sn-1=0, при n=1).

Рассмотрим подробнее на конкретном  примере.

Пример 1. Вычислить значение суммы .

Блок-схема задачи:

Запишем программу:

program SUM1

S = 0

do n=1, 20

   S = S + n**2

enddo

print *,’ S=’,S

end

При решении используем принцип накопления, при котором вычисленное слагаемое в цикле прибавляется к сумме всех предыдущих, т.е. . Здесь Sn и Sn-1 надо представить в виде простых переменных, поэтому оператор присваивания, накапливающий сумму, должен иметь вид  (an = n2). Параметр цикла n одновременно является и индексом суммирования. Перед первым выполнением оператора цикла, начальное значение S должно быть равно нулю. Следовательно, перед циклом должен стоять оператор присваивания S = 0, а оператор  внутри тела цикланакапливает сумму.

Рассмотрим данную программу «по шагам». В этом примере находим сумму , т.е. Sn = S1 + S2 + S3 + … + S20 = 12 + 22 + 32 + 42 + … + 202 = 1 + 4 + 9 + 16 + … + 400. Таким образом,

Шаг 1. S присваивается значение, равное 0 (S = 0).

Шаг 2. Счетчику цикла n присваивается начальное значение n = 1 при первом проходе цикла.

Шаг 3. Рассчитывается новое значение переменной S = 0 + 12 = 1 (добавлено первое слагаемое).

Шаг 4. На 2-ом проходе цикла n становится равным 2 (n = 2) и в цикле происходит добавление следующего слагаемого в переменную S: S = 1 + 22 = 5 (сумма двух слагаемых).

Шаг 5. На 3-ем проходе цикла n = 3, S становится равной S = 5 + 32 = 14 (сумма трех слагаемых).

и т.д. до последнего прохода цикла. Последний раз в переменную S добавится последнее слагаемое 202 = 400 (n = 20) и сумма полностью посчитается. Цикл завершится.

Последний шаг. Вывод значения суммы S.

Заметим, что начальное значение переменной суммы до цикла задается равным нулю для того, чтобы при первом проходе цикла в переменную S не добавилось ничего лишнего к результирующей сумме. По правилам оператора присваивания, сначала вычисляется выражение, находящееся справа от знака равенства, т.е. S + a, а потом вычисленный результат присваивается переменной, стоящей слева от знака равенства, т.е. переменной S присваивается новое значение, увеличенное на слагаемое a. Т.е. если сначала S ≠ 0, то это число добавится в сумму и окончательный результат будет неверным.

Вычисление целочисленных степеней (алгоритм накопления произведения)

Рассмотрим символ произведения в сокращенной записи

Разница в алгоритмах суммы и произведения только лишь в том, что речь идет не о слагаемых, а о произведении сомножителей tn.

Для вычисления произведения в алгоритме меняется только то, что необходимо перед циклом задать начальное значение P, равное не нулю (иначе результат вычисления обнулиться), а единице P = 1, а в цикле накапливать произведение, используя оператор присваивания, например такой: ; здесь t – множитель произведения, который может быть сложным выражением или элементом массива.

Пример 2. Вычислить значение произведения .

Блок-схема задачи:

Запишем программу:

program PRODUCT

read *, k

P = 1; n = 1

do while (n <= k)

   P = P + n/2.

   n = n + 1

enddo

print *,’ P=’,P

end

С помощью данного алгоритма можно записать программы вычисления различных степеней чисел, например, используя введенное обозначение произведения, можем записать

а)   

или

б)  

а) read*, X,m

   P = 1

   do k=1, m

      P = P * X

   enddo

   print *, P

   end

б) read*, j

   Z = 1

   do k=1, 2*j

      Z = Z * 3

   enddo

   print *, Z

   end

Если необходимо однократное вычисление степени, то, как правило, используется операция возведения в степень Xn  X**n. Вместе с тем, если нужно вычислять несколько раз различные значения степени, например, X2, X3, X4, …, то можно применить алгоритм нахождения произведения.

Пример 3. Программа вычисления факториала. Это специальный вид произведения.

 , например,

 и  . Таким образом, в факториале вид сомножителя определяется порядковым номером.  Напомним, что 0! = 1.

Блок-схема задачи:

Код программы:

program FACTORIAL

print*, ‘ Vvedite n≠0’

read*, n

  P = 1

  do k=1, n

      P = P * k

   enddo

 print *, ‘factorial ’, n,’!=’,P

end

Заметим, что при вычислении факториала, результирующее значение быстро увеличивается в зависимости от того, какой факториал n! вы рассчитываете. В программе стоит воспользоваться описанием переменных и, даже использовать двойную точность для больших n (real*8 или double precision – тип действительных переменных двойной точности, для которых выделено 8 байт памяти и диапазоном изменения от –1,7*10-308 до 1,7*10308).

Алгоритм вычисления количества элементов (счетчик)

По сути это частный случай алгоритма накопления суммы, где в качестве слагаемого принимается единица. Также как и для нахождения суммы, до цикла задается начальное значение равное нулю для переменной, заданной для подсчета количество элементов. Известно, что количество элементов – это всегда целочисленное значение. Например, вы подсчитываете число студентов в вашей группе, присутствующих на занятии – целое число, подсчет машин определенной марки на автостоянке – целое число и т.д. Таким образом, до цикла задаем начальное значение переменной k=0, а в цикле при выполнении условия подсчета, увеличиваем значение переменной на единицу: k=k+1. Рассмотрим алгоритм нахождения количества элементов на примере.

Пример 4. Вычислить отрицательные значения функции y = cosx, если значение переменной x меняется в промежутке x  с шагом изменения равным .

Код программы:

program COUNT                ! название программы

pi = 3.14159                        ! задание значения константы π

k = 0                                    ! начальное значение счетчика

h=pi/4.                                 ! шаг изменения x

do x= -2*pi, 2*pi+h/10., h  ! do начало арифметического цикла do

  y = cos(x)                         ! вычисление переменной y

  if (y <= 0) k = k + 1         ! увеличение счетчика на 1, если y отрицательно

  print *, ‘x=’,x,’ y=’,y      ! контрольный вывод значений x и y

enddo                                 ! do конец цикла do 

print *,’ k=’,k                     ! вывод результата

end                                     ! конец программы

Программирование алгоритмов со структурой вложенных циклов

Определение. Вложенный цикл – это цикл, внутри которого имеется один или несколько других циклов, которые называются внутренними и внешними.

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

а) правильная структура (скобками показано начало и конец циклов)

1.           DO 1

    ……….

    DO 2

     ………

    DO 3

    ……….

  

  3 ENDDO

   ………..

  2 ENDDO

  ………….

  1 ENDDO

2.           DO 1

    ……….

    DO 2

     ………

    2 ENDDO

    ……….

    DO 3

    ……….

  

  3 ENDDO

   ………..

  1 ENDDO

3.           DO 1

    ……….

    DO 1

     ………

    DO 1

    ……….

  

  1 CONTINUE

б) недопустимая структура

4.           DO 1

    ……….

    DO 2

     ………

    1 ENDDO

    ……….

               2 ENDDO

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

Пример 5. Составить программу табулирования следующей суммы:

на интервале изменения x  с шагом изменения равным .

Заметим, что в этой задаче внешним циклом является цикл с параметром x, изменяющимся от 0,1 до 3 и шагом 0,3,  а внутренним циклом – накопление суммы.

Код программы (вариант 1):

program PRIMER5_1

do X = 0.1, 3., 0.3     ! начало внешнего цикла по X

   S = 0                          ! начальное значение суммы S

   P = X                          !  расчет степени X в каждом сомножителе как в примере 2а)

   do j = 2, 13                ! начало внутреннего цикла по j

      P = P * X                     ! накопление степени X

      S = S + P / j                  ! расчет суммы S

  enddo                                 ! конец внутреннего цикла  

  print *, ‘x=’,x,’ S=’,S      ! вывод результата

enddo                        ! конец внешнего цикла по X

end                                     

Код программы (вариант 2, без использования цикла для подсчета степени X):

program PRIMER5_2

do X = 0.1, 3., 0.3     ! начало внешнего цикла по X

   S = 0                          ! начальное значение суммы S

   do j = 2, 13                ! начало внутреннего цикла по j

      S = S + X**j / j                  ! расчет суммы S

  enddo                         ! конец внутреннего цикла  

  print *, ‘x=’,x,’ S=’,S            ! вывод результата

enddo                        ! конец внешнего цикла по X

end                                     

Подумайте, какой из вариантов программы будет работать быстрее и почему.

ОПЕРАТОРЫ ФОРМАТНОГО ВВОДА/ВЫВОДА

В Лекции 3 были рассмотрены простые способы ввода с клавиатуры и вывода на экран с помощью операторов ввода/вывода, дополним эту информацию. Как известно, к операторам ввода-вывода относятся операторы, управляющие обменом информацией между оперативной памятью машины и внешними по отношению к памяти устройствами. Обмен этот может идти в большинстве случаев в двух направлениях и даже для одних и тех же устройств может осуществляться в разных формах. В операторах ввода-вывода должно быть указано, что и в какой последовательности вводится или выводится, и в какой форме.

Операторы ввода и вывода по своей структуре близки и имеют следующий вид:

read f, <список переменных> - оператор ввода со стандартного потока ввода;

print f,<список переменных> - оператор вывода в стандартный поток вывода;

read(n,f,ERR=m1,END=m2) <список переменных> - оператор ввода;

write(n, f,ERR=m1,END=m2) <список переменных> - оператор вывода.

Где n - номер канала ввода или вывода; f - спецификация формата; m1, m2- метки операторов, на которые передается управления при ошибочном и нормальном завершении работы оператора; <список переменных > - вводимые или выводимые переменные. Если в списке несколько переменных, то они разделяются запятыми. Стандартными потоками ввода-вывода являются клавиатура и экран монитора. При помощи простых операций их можно перенаправить. Параметры ERR и END необязательны.

В качестве спецификации формата f может быть метка оператора FORMAT, символьная переменная или символьная константа. Ранее мы уже использовали бесформатный ввод и вывод (первые два случая), когда в операторах read или print (можно также использовать оператор write для вывода) вместо номера устройства ввода/вывода и метки оператора format располагаются символы ‘*’(звездочка), что означает ввод с клавиатуры/вывод на экран.

Пример 6. Бесформатный ввод с клавиатуры числа a и вывод на экран числа на 1 большего.

program add

integer*2 a

print *, ' Введите a '

read *,a

print *,' a+1= ',a+1

end

При бесформатном выводе компилятор сам устанавливает количество символов под одно число, количество знаков после запятой и другие данные. Это бывает удобно при малом объеме вывода. Однако при оформлении отчетов необходимо выводить результаты в удобном для обработки виде. Поэтому применяют форматный вывод. Для ввода информации в подавляющем большинстве случаев удобнее бесформатный ввод. При использовании форматного ввода-вывода необходимо задавать формат ввода-вывода. В этом случае программист явно описывает местоположение и форму вводимых или выводимых переменных в записи (строке).

Формат можно задать при помощи оператора FORMAT либо в виде строковой переменной либо в виде символьной переменной.

Оператор Формат

Оператор FORMAT предназначен для задания способа управления и преобразования данных, а также управления передачей данных. Оператор FORMAT – это невыполняемый оператор и может располагаться в любом месте программы, кроме ее начала. Разные операторы ввода/вывода могут ссылаться на один и тот же оператор формата.

Общий вид оператора:

m FORMAT12, . . . , сn)

где m - обязательная метка оператора; с12, . . . , сn - список спецификаций формата.

Для каждого типа данных существует своя спецификация: для целых величин - спецификация I и G; для вещественных величин - F, E и G; для вещественных величин двойной точности - D и G; для логических величин - L и G; для текстовых величин спецификация A.

Спецификация I

Общая форма спецификации I:

Iw

где w - беззнаковая целая константа, показывающая количество символов (длину поля), отводимых для ввода или вывода целых величин. Если элемент занимает меньше места, чем отведено под него, то число печатается в правой части отведенного поля, а левые позиции остаются незаполненными. Если при выводе отведенного места не хватает, то вместо знака и левых значащих цифр будет отпечатан символ *.

Примеры печати по спецификации i4:

Число

Будет напечатано

237

237

-25

-25

-1999

*1999  не верно

-78953

*953    не верно

Если при вводе число занимает больше w символов, то считываются только w левых символов. Например, запись -1234567 по спецификации I5 будет считана как -1234.

Таким образом, при задании спецификации необходимо учитывать порядок вводимых или выводимых чисел. Заметим, что с помощью спецификации i11 можно ввести или вывести любую целую величину, поскольку диапазон изменения целых чисел от (- 2147483648) до 2147483647.

Спецификация F

Общая форма спецификации F:

Fw.d

где w - беззнаковая целая константа, показывающая количество символов (длину поля), отводимых для ввода или вывода целых величин, включая знак числа и десятичную точку, а d - число цифр после десятичной точки.

Спецификация F предназначена для вещественных чисел без показателя степени. Во всех случаях w>d для положительных чисел и w>d+1 для отрицательных. Если при выводе целая часть числа занимает больше w-(d+1) символов, то в отводимом для записи числа поле будут напечатаны *.

Пример: печать чисел по спецификации f6.3.

Число

Будет напечатано

3.14

3.140

-0.00231

-0.002      не верно

981.3

*1.300     не верно

Спецификация E

Вещественные числа с порядком представляются с помощью спецификации E, общий вид которой:

Ew.d

где w ⎯ общая длина поля, а d ⎯ число цифр после десятичной точки в мантиссе, причем w должно быть больше d+6, так как в поле надо записать:

знак числа, десятичную точку, мантиссу, символ Е, знак порядка и величину порядка.

Пример: в спецификации Е11.4 записать числа.

Число

Будет напечатано

-0.256 *10-11

-0.2560Е-11

2.3 *102

2.3000Е 2

В спецификации Е могут быть записаны любые вещественные числа, поэтому ее хорошо использовать, особенно при выводе, когда неизвестен порядок величины. При выводе число округляется до значения, которое определяется количеством значащих цифр в мантиссе при заданной спецификации.

Спецификация D

Спецификация вещественных величин двойной точности имеет вид:

Dw.d

где w- общая длина поля, а d- число цифр после десятичной точки в мантиссе. Эта спецификация аналогична спецификации Е, и к ней применимы те же правила, с учетом того, что символ D определяет показатель степени.

Пример: печать в D16.9.

Число

Будет напечатано

-0.256789012*10-11

-0.256789012D-11

2.345 *102

0.234500000D 3

Спецификация L

Спецификация логических величин имеет вид:

Lw

где w - длина поля. При вводе логических величин поле просматривается слева направо, и если первым встречается символ T, то переменной присваивается значение .true. , иначе переменной присваивается значение .false.

При выводе символы T или F располагаются в крайней правой позиции поля, а остальная часть поля заполняется пробелами. Отметим, что спецификации должны соответствовать типу вводимых или выводимых данных.

Спецификация G

Спецификация G используется для ввода-вывода целых, вещественных и логических переменных. Ее формат

Gw.d

При выводе целых и логических чисел она эквивалентна спецификациям Iw и Lw. При выводе вещественных чисел в зависимости от величины числа и параметров w и d числа выводятся либо в формате Fw.d, либо в формате Ew.d. При этом действует правило: если число не умещается в формате с фиксированной запятой (формате F), то оно печатается в формате с плавающей запятой (формате E).

Спецификация A

Спецификация A предназначена для ввода-вывода текстовых переменных. Формат спецификации Aw или A, где w – количество позиций ввода-вывода. Если w не указано, то предполагается, что данный текст занимает столько позиций, какова длина соответствующего элемента ввода-вывода. Если w меньше длины данного текста (l), то данное усекается слева на (l-w) позиций, а если больше, то слева дополняется (w-l) пробелами. Длина текстовой константы не должны превышать 256 символов.

Спецификация X имеет вид nX и предназначена для пропуска n позиций.

Символы управления переходом на новую строку /, \.

При встрече символа / (слеш) происходит переход к следующей строке, а при встрече символа \ (обратный слеш) происходит запрещение перехода к следующей строке, и следующий вывод производится в конец предыдущей строки.

Итак, подведем итоги и запишем таблицу спецификаций форматов.

Спецификатор

Общий вид

Назначение

I

aIw

ввод/вывод целых чисел

F

aFw.d

ввод/вывод вещественных чисел

E, D

aEw.d, aDw.d

ввод/вывод вещественных чисел

G

aGw.d

ввод/вывод целых, вещественных чисел, логических переменных

X

aX

ввод/вывод пробелов

A

aAw

ввод/вывод текстовых данных

литерал [символ]

символ

для вывода сообщений

/, \

разделение на строки

Здесь a – повторитель, w – количество позиций, отводимых под число, d – число цифр после десятичной точки в мантиссе.

Примеры. Требуется вывести значения следующих переменных:

A = -0.789         B = 0.9*103  0.9E-03

I = 125               K = 2131               C = -121.3

В программе:    

print 10, A, B, I, K, C

10 format(F6.3, E7.1, I3, I4, F6.1)

Вывод на экране:   -0.7890.9E-031252131-121.3

Для удобства чтения и записи необходимо предусмотреть пробелы между значениями, для этого можно использовать спецификатор X или добавить лишние позиции в спецификаторах формата: в программе

а)  10 format(F6.3, 1X, E7.1, 1X, I3, 1X, I4, 1X, F6.1)

б)  10 format(F6.3, E8.1, I4, I5, F7.1)

на экране в обоих случаях увидите: -0.789 0.9E-03 125 2131 -121.3

Если хотите вывести текст, кроме самих значений (текст записывается в апострофах):

в) 10 format(‘ A=’,F6.3,’ B=’, E7.1,’ I=’, I3,’ K=’, I4,’ C=’, F6.1)

Вывод на экране:  A=-0.789 B=0.9E-03 I=125 K=2131 C=-121.3

Ввод/вывод текстовых сообщений: в программе

print 20

20 format(1X,A/) ! пропустить первый символ и напечатать текст строки

! переходя на новую строку

на экране:  DISITION

Заметим, что формат неопределенной длины допускается только для спецификации А.

Группы спецификаций (использование повторителя)

Пусть P1,...,Pk ⎯ список переменных в операторе ввода или вывода, а S1,...,Sl ⎯ список спецификаций в соответствующем операторе format, который связан с данной записью (строкой). Количество символов в строке однозначно определяется списком спецификаций. Каждой спецификации в порядке слева направо отводится соответствующее поле в строке. При этом спецификации пробелов при вводе-выводе и спецификации текста при выводе присутствуют в соответствующих местах строки, без каких либо изменений.

Числовые и логические спецификации из списка S1,...,Sl в порядке слева направо ставятся с соответствие переменным P1,...,Pk, которые согласно этим спецификациям представляются в строке. Если список переменных меньше, чем количество числовых и логических спецификаций, то ввод-вывод осуществляется на первой строке до конца списка спецификаций, а последующие переменные вводятся или выводятся с новой строки вместе с переходом в начало списка спецификаций, и т.д. до конца списка переменных.

Запись повторяющихся спецификаций и групп спецификаций

Запись

m format(...,S,S,...,S,...)

                    N раз

эквивалентна записи:

m format(...,NS,...)

А запись

m format(...,S1,...,Sn,..., ,S1,...,Sn,...)

                                N раз

эквивалентна записи

m format(...,N(S1,...,Sn),...)

При форматном выводе первый символ интерпретируется как управляющий. Если в качестве первого символа стоит символ 0, то происходит переход через две строки; 1 – переход в начало следующей строки; + – не происходит переход к следующей строке; любой другой символ – переход к следующей строке.

Пример 7. Бесформатный ввод с клавиатуры числа a и форматный вывод на экран чисел на a+1, b=a+2 и c=a+3.

program redd1

integer*2 a,b,c

write (*,*) ' Vvedite celoe chislo a'

read (*,*) a

b=a+2

c=a+3

write (*,4) a+1,b,c

4 format (2x,' 1-е Chislo=',i2,2(' Drugoe chislo=',I3))

end

Еще примеры: Вывести числа a=8.978, b=0.3, c=1.25

В программе:

WRITE(*,5) a,b,c

5 FORMAT(3F6.3) ! все три числа выводятся по одному формату, в одну строку

Тогда на экране увидим:   _8.978_0.3_ _ _1.25_ (пробелы показаны знаком подчеркивания)

Если записать оператор формата в виде: 5 FORMAT(F5.3/F3.1/F4.2),

То на экране вы увидите вывод в три строки:

8.978

0.3

1.25

Вопросы к лекции 6:

  1.  Сформулируйте задачу табулирования функции.
  2.  Объясните, как происходит накопление суммы нескольких слагаемых?
  3.  Приведите пример программы вычисления суммы.
  4.  Для чего при программировании алгоритма накопления суммы начальное значение переменной S должно быть равно нулю?
  5.  Как строится программа вычисления произведения? Какое начальное значение для переменной произведения P необходимо задать до начала цикла?
  6.  В каких случаях можно использовать алгоритм накопления произведения?
  7.  Почему алгоритм вычисления количества элементов является частным случаем накопления суммы?
  8.  Какое начальное значение дается переменной-счетчику K при вычислении количества элементов и почему?
  9.  Приведите блок-схему вычисления факториала произвольного числа.
  10.  Какой из алгоритмов применяется при вычислении факториала?
  11.  Что такое вложенные циклы?
  12.  Сформулируйте и покажите с помощью схем правила использования вложенных циклов в программе.
  13.  Что называют форматным вводом/выводом? Какой оператор используется для форматного ввода/вывода?
  14.  Почему чаще всего формат используют при выводе информации?
  15.  Запишите общий вид операторов форматного ввода/вывода.
  16.  Какой оператор используется для задания формата, как он записывается в программе?
  17.  Для чего служат различные спецификации формата?
  18.  Для вывода каких типов данных используется спецификация I?
  19.  Какие спецификации используются для вывода вещественных чисел в Фортране?
  20.  Какой тип переменных можно выводит с помощью спецификации G?
  21.  Какой записать оператор форматного вывода текста на экран? Какой тип спецификатора в этом случае надо использовать?
  22.  Что такое повторитель и для чего он используется в форматном выводе?
  23.  Для чего используются знаки / (слэш) и \ (обратный слэш) при форматном выводе в Фортране?
  24.  Что вы увидите в выводе числа на экране, если в спецификации формата выделено недостаточно позиций под число?
  25.  Как сделать форматный вывод нескольких чисел с учетом пробелов между ними?


 

А также другие работы, которые могут Вас заинтересовать

40805. Частотный (спектральный) метод анализа электрических цепей 67.46 KB
  Поскольку частотные характеристики являются характеристиками установившегося режима гармонических колебаний то целесообразно произвольное воздействие представить в виде совокупности гармонических и реакцию линейной цепи искать как совокупность реакций вызванных каждым гармоническим воздействием в отдельности. Таким образом частотный метод анализа включает в себя задачу частотного или спектрального представления воздействия в виде суммы гармонических составляющих с определенными амплитудами начальными фазами и частотами а также задачу...
40806. Цепи с распределенными параметрами 65.82 KB
  Однако на практике часто приходится иметь дело с цепями линии электропередачи передачи информации обмотки электрических машин и аппаратов и т. уже при к линии следует подходить как к цепи с распределенными параметрами. Для исследования процессов в цепи с распределенными параметрами другое название – длинная линия введем дополнительное условие о равномерности распределения вдоль линии ее параметров: индуктивности сопротивления емкости и проводимости. Уравнения однородной линии в стационарном режиме Под первичными параметрами линии...
40807. Линии без искажений 80.64 KB
  Пусть сигнал который требуется передать без искажений по линии является периодическим т. Таким образом для отсутствия искажений что очень важно например в линиях передачи информации необходимо чтобы все гармоники распространялись с одинаковой скоростью и одинаковым затуханием поскольку только в этом случае сложившись они образуют в конце линии сигнал подобный входному. Однако искажения могут отсутствовать и в линии с потерями.
40808. Переходные процессы в цепях с распределенными параметрами 63.07 KB
  Пример такого сведения на основе принципа наложения для задачи на подключение в конце линии нагрузки схематично иллюстрирует рис. Таким образом если к линии в общем случае заряженной подключается некоторый в общем случае активный двухполюсник то для нахождения возникающих волн необходимо определить напряжение на разомкнутых контактах ключа рубильника после чего рассчитать токи и напряжения в схеме с сосредоточенными параметрами включаемой на это напряжение при нулевых начальных условиях. При отключении нагрузки или участков линии для...
40809. Нелинейные электрические цепи 59.57 KB
  Нелинейными называются цепи в состав которых входит хотя бы один нелинейный элемент. полюсов с помощью которых они подсоединяются к электрической цепи. Нелинейные электрические цепи постоянного тока Нелинейные свойства таких цепей определяет наличие в них нелинейных резисторов.
40810. Расчет нелинейных электрических цепей 63.85 KB
  Если в сложной электрической цепи имеется одна ветвь с нелинейным резистором то определение тока в ней можно проводить на основе теоремы об активном двухполюснике методом эквивалентного генератора. Ветвь содержащая нелинейный резистор выделяется из исходной цепи а вся остальная уже линейная схема представляется в виде активного двухполюсника АД. Если необходимо также найти токи в линейной части исходной цепи то после расчета нелинейной схемы на рис. 1б в соответствии с теоремой о компенсации нелинейный резистор заменяется...
40811. Магнитные нелинейные электрические цепи 57.18 KB
  Для концентрации магнитного поля и придания ему желаемой конфигурации отдельные части электротехнических устройств выполняются из ферромагнитных материалов. Векторные величины характеризующие магнитное поле Наименование Обозначение Единицы измерения Определение Вектор магнитной индукции Тл тесла Векторная величина характеризующая силовое действие магнитного поля на ток по закону Ампера Вектор намагниченности А м Магнитный момент единицы объема вещества Вектор напряженности магнитного поля А м где Гн м магнитная постоянная Основные...
40812. Расчет магнитных нелинейных электрических цепей 67.12 KB
  Указанная в предыдущей лекции формальная аналогия между электрическими и магнитными цепями позволяет распространить все методы и технику расчета нелинейных резистивных цепей постоянного тока на нелинейные магнитные цепи. При этом для наглядности можно составить эквивалентную электрическую схему замещения исходной магнитной цепи с использованием которой выполняется расчет. При расчете магнитных цепей на практике встречаются две типичные задачи: задача определения величины намагничивающей силы НС необходимой для создания заданного...
40813. История развития печатающих устройств 13.56 MB
  при печати на такой машинке был виден набираемый текст рис. printer печатник устройство печати цифровой информации на твёрдый носитель обычно на бумагу. Процесс печати называется вывод на печать а получившийся документ распечатка или твёрдая копия.