Data 1, 0, 1, 0, 0
Data 0, 1, 0, 0, 0 Data 0, 0, 1, 0, 0 Data 0, 1, 0, 0, 0 Data 0, 0, 0, 0, 0
Для вывода исходных данных и результатов их обработки можно воспользоваться следующим сценарием: Матрица А< n> < n>: < а11>... < a1n> … … … < anl> … < ann> Число нулей в столбцах: < d1>... < dn>
Решением поставленной задачи на ЭВМ можно получить с помощью следующего алгоритма и программа на языке Бейсик. Обратите внимание в программе используются массивы переменной длины, которая определяется при вводе размеров матрицы А:
' подсчет нулевых столбцов ' алг «подсчет нулевых столбцов» ' в квадратной матрице Ann ' нач read n ' чтение(п) dim A(n, n), D(n) ' массивы А(1: п, 1: п), D(1: n) print «Матрица A»; n; n; «:» ' вывод («Матрица А»; п; п; «:») for k = 1 to n ' от k = 1 до п цикл for 1 =1 to n ' от l =1 до п цикл read A(k, l) ' чтение A(k, l) print A(k, l) ' вывод A(k, l) next 1 ' кцикл next k ' кцикл for k = 1 to n ' om k= 1 до п цикл D(k) = 0 ' D(k) = 0 for 1 = 1 to n ' от l=1 до п цикл if A(k, l) = 0 then ' если A(k, l) = 0 то D(k) = D(k) + 1 ' D(k) = D(k) + 1 end if ' кесли next 1 ' кцикл print D(k); ' вывод D(k); next k ' кцикл end ' кон
Задача 2. Дана строка символов. Распечатать все слова нечетной длины, отличные от второго слова. (В этой задаче «словом» называется группа символов, разделенная с одной или обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов.)
Пример строки Я волком бы выгрыз бюрократизм. К мандатам почтения нет.
Результат обработки Бы Выгрыз Бюрократизм. Почтения Нет. Для представления строк в программе на Бейсик можно воспользоваться операторами data:
data «Я волком бы выгрыз бюрократизм.» data «К мандатам почтения нет.» data «»
Здесь пустое слово «» означает конец исходного текста. Для вывода исходных данных и результатов их обработки можно принять следующий сценарий: исходный текст: < строка1> … … < строкаn> слова нечетной длины: < слово1> … … < словоm>
Решение поставленной задачи на ЭВМ можно получить с помощью следующих алгоритма и программы на Бейсике, в которых в виде вспомогательного алгоритма и подпрограммы выделена обработка каждой отдельной строки текста:
' выделение слов нечетной длины ' алг «слова нечетной длины» print «исходный текст:» ' вывод «исходный текст;» n = 0: s2$ = «» ' n = 0: s2$ = «» print «исходный текст:» ' вывод «исходный текст:» do ' цикл read str$ ' чтение_строки if str$ = «» then exit do ' при str$ = «» выход print str$ ' вывод_строки gosub stroka ' обработка_строки loop ' кцикл end ' кон
stroka: ' обработка строки ' алг «обработка строки» dl = len(sfr$) ' dl = длuнa(str$) print «слова нечетной длины:» ' вывод «слова нечетной длины:» sl = 0 ' sl=0 for k=l to dl ' от k = 1 до dl цикл if str$(k) 0 «» then ' если str$(k) ¹ «» то sl = sl + 1 ' sl = sl + 1 elseif sl > 0 then ' инеc sl > 0 то p = k - sl + 1 ' p = k - sl + 1 slv$ = mid$(str$, p, sl) ' slv$ = cpeдн.(str$, p, sl) n = n + 1 ' n = n + 1 if n = 2 then ' если n = 2 то sl2$ = slv$ ' sl2$ = slv$ elseif slv$ 0 sl2$ then ' инеc slv$ ^ sl2$ то if (sl/2)*2= si then ' если (sl/2) *2 = sl то print slv$ ' вывод slv$ end if ' кесли end if ' кесли sl = 0 ' sl = 0 end if ' кесли next k ' кцикл return ' кон
|