Алгоритмизация и программирование

Мы постоянно встречается в реальной жизни с множеством задач от самых простых и хорошо известных до очень сложных. Для некоторых из них существуют определенные инструкции или предписания, объясняющие, как решать данную задачу. Эти правила можно изучать заранее или сформулировать самим в процессе решения задачи. Такие правила принято называть алгоритмами.      Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи.    Слово алгоритм происходит от латинской формы написания имени великого математика IX в. аль-Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.
Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

54


Алгоритмизация и программирование

1.Алгоритм и его свойства. Основные типы данных и формы их пред­ставления для обработки на компьютере

Мы постоянно встречается в реальной жизни с множеством задач от самых простых и хорошо известных до очень сложных. Для некоторых из них существуют определенные инструкции или предписания, объясняющие, как решать данную задачу. Эти правила можно изучать заранее или сформулировать самим в процессе решения задачи. Такие правила принято называть алгоритмами.

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

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

Рассмотрим пример алгоритма построения биссектрисы угла при помощи циркуля и линейки.

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

  • Поставить ножку циркуля в вершину угла точку А;

  • Проведем окружность произвольного радиуса;

  • Отметим точки пересечения окружности со сторонами угла и обозначим их С и В;

  • Поставить ножку циркуля в точку В;

  • Провести окружность радиуса ВС;

  • Поставить ножку циркуля в точку С;

  • Провести окружность радиуса ВС;

  • Через точку пересечения окружностей и вершину угла А провести прямую;

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

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

Рассмотрим основные свойства алгоритма, вытекающие из его определения:

  1. Дискретность алгоритма. Разделение выполнения решения задачи на отдельные операции (выполняемые исполнителем по определенным командам). Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели.

  2. Определенность алгоритма. Каждый алгоритм рассчитан на конкретного исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма.

  3. Результативность алгоритма. Исполнение алгоритма должно закончиться за конечное число шагов.

  4. Массовость алгоритма. Каждый алгоритм, разработанный для решения некоторой задачи, должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных.

Выполняя алгоритм, исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. В таком случае говорят, что исполнитель действует формально, т. е. отвлекается от содержания поставленной задачи и только строго выполняет команды алгоритма. Это важная особенность алгоритмов. Наличие алгоритма формализовало процесс, исключило рассуждения.

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

Алгоритмы можно описать различными способами:

  1. Словесно-формульное описание алгоритма, т.е. описание алгоритма с помощью математических формул и слов. Примером может служить любой кулинарный рецепт.

  2. Графическое описание алгоритма. Описание алгоритма с помощью специальных схем, которые принято называть блок-схемами. Алгоритм изображается в виде системы связанных геометрических фигур, порядок выполнения этапов обозначается стрелками. Операции разного вида изображают с помощью разных геометрических фигур. Например, операция присваивания:


  1. ОАлгоритмизация и программирование

    писание алгоритма на алгоритмическом языке. Запись алгоритма на алгоязыке близка к его словесно-формульному описанию, разница заключается в том, что алгоритмические языки пользуются ограниченным набором терминов, с целью обеспечения однозначности понимания алгоритма.

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

Почти во всех современных языках переменную следует объявить, прежде чем использовать. При объявлении переменной указывается ее тип, который определяет множество допустимых значений переменной и набор допустимых действий, которые можно совершать с этой переменной. Как правило, имеются базовые типы и типы, которые может задавать пользователь. Типы условно делятся на скалярные и структурные. Переменная скалярного типа указывает на одно значение, например число или символ. Переменная структурного типа состоит из некоторого числа элементов, как бы содержит в себе множество других переменных и фиксирует их взаимосвязь.


2. Основные алгоритмические конструкции. Основы про­граммирования.

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

  1. ЛАлгоритмизация и программирование

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


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

БАлгоритмизация и программирование

лок-схема такого алгоритма выглядит следующим образом:

  1. Циклические алгоритмы - это алгоритмы, в которых одна или несколько команд выполняются многократно. Блок-схема циклического алгоритма выглядит так:

Алгоритмизация и программирование

Алгоритм любой сложности можно составить используя комбинацию из этих трех основных конструкций. Составив блок-схему алгоритма её можно закодировать на языке программирования.

Рассмотрим один из самых простых алгоритмических языков - Бейсик.

Алфавит языка:

  • заглавные латинские буквы от A до Z;

  • арабские цифры 0,1…9;

  • знаки арифметических операций +, -, /, *, /\ (сложение, вычитание, деление, умножение, возведение в степень);

  • знаки операций отношений =, <, >, < > ;

  • разделители (запятая, точка, точка с запятой, двоеточие);

  • прочие символы: !-признак вещественной величины, #-вещественная величина двойной точности, %-целая величина, &-длинная целая величина, $- символьная величина.

  • скобки, кавычки, апостроф.

Данные: константы и переменные. Константы могут быть вещественными, целыми и текстовыми. Переменные (простые и массивы) - это величины, значения которых могут изменяться в процессе выполнения программы и обозначаются некоторым именем (идентификатором).

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

Выражения на языке Бейсик показывают порядок выполнения операций над некоторыми данными и записываются с помощью символов и математических функций.

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

Основные операторы:

  1. присваивание

LET X=5

  1. Оператор ввода данных с клавиатуры

INPUT X, Y

Вводит две величины. Может включать строку подсказки, которая берется в кавычки и выводится на экран.

  1. Оператор для хранения и ввода данных внутри программы DATA, READ.

Например:

10 DATA 3,5,7

20 READ X, Y, А

значение переменной X=3, Y=5, А=7.

  1. Оператор без аргумента RESTORE служит для повторного чтения данных с помощью оператора READ.

  2. Вывод на печать переменной А производится с помощью команды

PRINT А

Если после оператора вставить в кавычках подсказку, то она будет выведена на печать.

6. Включение в текст пояснений выполняется с помощью команды

REM

  1. Оператор безусловного перехода GOTO n передает управление строке с номером n.

  2. Оператор условного перехода

IF < условие> THEN <номер строки или оператор выполненного условия > ELSE < номер строки или оператор невыполненного условия>.

Этот оператор используется как в полном, так и в сокращенном виде:

IF < условие> THEN <номер строки или оператор выполненного условия >

  1. Оператор цикла

FOR <задание начальных параметров цикла > TO <конечные параметры цикла > STEP <величина изменения параметра цикла >

- тело цикла -

NEXT

  1. Прерывание выполнения программы STOP

  2. Прекращение выполнения программы END

12. Вызов подпрограммы GOSUB n

13. Возврат из подпрограммы RETURN.






3. Решение задач на составление линейных алгоритмов

Задача №1.

В массиве А (1:3, 1:3) элементы главной диагонали поставить на место соответствующих элементов третьей строки и определить сумму угловых элементов ( а11, а13, а3133).

Решение.

  1. Выявим исходные данные и результаты, назначим им имена.

Исходными данными этой задачи будет массив А (1:3, 1:3), состоящий из девяти элементов. Результатом будет также массив из девяти элементов, в котором будут изменены элементы третьей строки и сумма угловых элементов. Обозначим массив-результат также как и исходный массив А (1:3, 1:3), а сумму латинской буквой S.

  1. Выберем порядок (метод) решения задачи.

Рассмотрим двумерный массив А (1:3, 1:3):

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеа11 а12 а13

а12 а22 а23

а31 а32 а33

Главная диагональ двумерного массива включает в себя три элемента, номера строк и столбцов которых совпадают: а11, а22, а33

Наша задача состоит в том, чтобы на место элементов третьей строки поставить элементы главной диагонали:

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеа11 а12 а13

Алгоритмизация и программированиеа12 а22 а23

а31 а32 а33

то есть, заменить элемент а31 элементом а11 , и элемент а32 элементом а22.

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

Значение суммы S найдем, просуммировав указанные в условии элементы:

а11133133.

  1. Разобьем метод решения на этапы:

  1. Введем исходные данные - массив А (1:3, 1:3).

  2. Заменим элементы третьей строки.

  3. Найдем сумму угловых элементов

  4. Выведем результаты: массив А (1:3, 1:3) и.

  5. Составим блок-схему алгоритма решения задачи:


Алгоритмизация и программирование

Задача №2.

В массиве D (1:3,1:3) определить сумму R элементов строки с номером k и каждый элемент столбца с номером l умножить на R.

Решение.

1. Исходные данные: массив D (1:3,1:4), номер строки k и номер столбца l.

Результат: массив D (1:3,1:4), R

2. Метод решения задачи указан в условии.

3. Решим задачу следующим образом

  1. введем исходные данные D (1:3,1:4),

  2. затем просуммируем все элементы строки с номером k (необходимо помнить, что номер строки - первый индекс элемента массива),

  3. каждому элементу столбца l присвоим новое значение, которое вычислим как произведение значения элемента на число R,

  4. выведем результаты D (1:3,1:4), R.

4Алгоритмизация и программирование

. Составим блок-схему алгоритма решения задачи:

Задача №3

Используя данные таблицы

Номер

школы

Число

выпускников

Число

медалистов

5

45

4

14

27

3

26

41

3

32

44

2

определить общее число медалистов в районе и процентное отношение числа медалистов к общему числу выпускников в районе.

Решение.

1. Исходные данные: нам известно количество школ - 4, число выпускников и медалистов в каждой школе, поэтому, исходные данные можно задать в виде двумерного массива размерностью 4строки на 3 столбца, или.

Результаты: число медалистов S и процентное соотношение P.

2. Для того, чтобы найти общее количество медалистов, сложим все элементы третьего столбца. Для определения процентного соотношения, нужно найти общее количество выпускников - то есть сложить все элементы второго столбца, а затем разделить первую сумму на второй и умножить на 100%.

3. Разобьем решение на этапы:

  1. нужно ввести исходные данные А(1:4,1:3),

  2. найдем сумму всех элементов третьего столбца S,

  3. сумму всех элементов второго столбца R,

  4. определить процентное соотношение по формуле: =S/ R *100% ,

  5. вывести полученные результаты S и P.

4. Составим блок-схему алгоритма:

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование


S: = a(13)+a(23)+a(33)+a(34)


R: = a(12)+a(22)+a(32)+a(43)Алгоритмизация и программирование


Алгоритмизация и программирование

P:=S/ R*100%



Алгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование



Задача №4.

Используя данные таблицы


Блюдо

Цена

Борщ

35

Котлета

40

Каша

20

Чай

3


определить общую стоимость обеда в столовой. Определить, во сколько раз возрастет стоимость обеда, если цена котлеты увеличиться вдвое.

Решение.

1. Исходные данные: массив С (1:4). Так как по определению, массив- это множество однородных величин, а название блюда и цена его величины не однородные, то вводить будем только стоимость блюд.

Результаты: стоимость обеда S и P- число которое показывает, во сколько увеличиться стоимость обеда.

2. Метод решения задачи: нужно просуммировать все элементы массива, затем к полученному числу прибавить стоимость котлеты (элемент с(2) ) и найдем отношение полученных чисел.

3. Разобьем решение на этапы:

  1. нужно ввести исходные данные С (1:4)

  2. затем найдем величину S

  3. к полученному значению прибавим с(2), обозначим величину SP

  4. разделим полученное число на S, т.е. найдем P

  5. выведем результаты S и P на печать.

4Алгоритмизация и программирование

. Составим блок-схему алгоритма:



4. Решение задач на составление разветвляющихся алгоритмов и программ


Задача №1.

Составить программу ввода значения температуры воздуха t и выдачи текста ''Хорошая погода!'', если t >10 Со , и текста ''Плохая погода!'', если t < = 10 Со.

Решение.

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

А$="Хорошая погода!"Алгоритмизация и программирование

Алгоритмизация и программированиеДа

Алгоритмизация и программирование

Нет

А$="Плохая погода!"

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование




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

10 REM

20 PRINT «Введите значение температуры t Со»

30 INPUT T

40 IF T >10 THEN 70

50 A$= «Хорошая погода»

60 GO TO 80

70 A$= «Плохая погода»

80 PRINT A$

90 END

Эту же программу можно написать и используя полную форму оператора IF - THEN - ELSE:

10 REM Погода

20 PRINT «Введите значение температуры t»

30 INPUT T

40 IF T >10 THEN A$= «Хорошая погода» ELSE A$= «Плохая погода»

50 PRINT A$

60 END


Задача №2.

Составим программу ввода оценки Р, полученной учащимся, и выдачи текста:

"Молодец!", если Р=5;

"Хорошо!", если Р=4;

"Лентяй!", если Р<=3.

Решение.

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование


Алгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программирование

А$="Молодец!"

Да

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Нет Алгоритмизация и программирование

Алгоритмизация и программирование

А$="Хорошо!"

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеДа

Алгоритмизация и программированиеАлгоритмизация и программирование

Нет

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование






Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

А$="Лентяй!"


Да

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование




2. Составим программу на языке Бейсик:


10 REM Оценка

20 PRINT «Введите вашу оценку: »

30 INPUT P

40 IF Р=5 THEN A$= «Молодец!»

  1. IF Р=4 THEN A$= « Хорошо!»

60 IF Р<=3 THEN A$= « Лентяй!»

80 PRINT A$

90 END


Задача №3.

Заданы длины сторон треугольника - А, В, С. Определить, является ли треугольник равнобедренным.

Решение.

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование




Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программирование

К$="не равнобедренный".


Алгоритмизация и программирование


Алгоритмизация и программирование

К$="равнобедренный".Да

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеДа

Алгоритмизация и программирование

Алгоритмизация и программирование

Нет Алгоритмизация и программирование

Да

Алгоритмизация и программирование

К$="равнобедренный".

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеНет


Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

К$="равнобедренный".Да

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеНет

Алгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование


2. Составим программу на языке Бейсик:

10 REM Проверка треугольника

20 PRINT «Введите длины сторон треугольника»

  1. INPUT А, В ,С

40 К$="Не равнобедренный"

50 IF А=В THEN К$="равнобедренный"

60 IF А=С THEN К$="равнобедренный"

70 IF С=В THEN К$="равнобедренный"

80 PRINT К$

90 END


Задача №4.

Определить сумму элементов массива С (1:3), значение которых больше нуля.

Решение:

1 вариант.

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

S=0



Алгоритмизация и программирование

S=S+ C (1)

Да Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование

S=S+ C (2)

Да

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Нет Алгоритмизация и программирование

Алгоритмизация и программирование

Да

S=S+ C (3)

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеНет

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование





2. Составим программу на языке Бейсик:


10 REM Сумма массива 1 вар.

20 PRINT «Введите элементы массива С(1:3)»

30 INPUT C (1), C(2), C (3)

40 S=0

50 IF C (1)>0 THEN S=S+ C (1)

60 IF C (2)>0 THEN S=S+ C (2)

70 IF C (3)>0 THEN S=S+ C (3)
80 PRINT «S=»;S
90 END

2 вариант.

1. Блок схема алгоритма:

Алгоритмизация и программирование


Алгоритмизация и программирование

i=1


Алгоритмизация и программирование

S=0


Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программирование

S=S+ C (i)

Алгоритмизация и программированиеДа

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

i=i+1

Алгоритмизация и программирование Нет

Алгоритмизация и программированиеАлгоритмизация и программирование Нет

Алгоритмизация и программированиеДа

Алгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программирование



2. Составим программу на языке Бейсик:


  1. REM Сумма массива 2 вар.

20 i=1

30 S=0

40 PRINT «Введите элемент массива номер»; i

50 INPUT C (i)

60 IF C (i)>0 THEN S=S+ C (i)

70 IF i =3 THEN 100

80 i=i+1

90 GO TO 40

100 PRINT «S=»;S
110 END

Задача №5.

Элементы каждой строки матрицы А (1:2,1:2) переставить в порядке возрастания их значений.

Решение:

1 вариант.

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

В= А (1,1)Нет

Алгоритмизация и программирование

Алгоритмизация и программирование

А (1,1)= А (1,2)Алгоритмизация и программирование

Да Алгоритмизация и программирование

А (1,2) = В


Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Нет

В= А (2,1)

Алгоритмизация и программирование

Алгоритмизация и программирование

А (2,1)= А (2,2)Алгоритмизация и программирование

Да

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование




Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

А (2,2) = В


Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование

2. Составим программу на языке Бейсик:


  1. REM Перестановка 1 вар.

20 PRINT «Введите элементы массива»

30 INPUT А (1,1), A (1,2), А (2,1), A (2,2)

40 IF A (1,2)>А (1,1) THEN 100

  1. IF A (2,2) >А (2,1) THEN 140

60 PRINT «Новый массив:»

70 PRINT А (1,1), A (1,2),

  1. PRINT А (2,1), A (2,2)

90 GO TO

100 В= А (1,1)

110 А (1,1)= А (1,2)

120 А (1,2) = В

  1. GO TO 50

140 В= А (2,1)

150 А (2,1)= А (2,2)

160 А (2,2) = В

170 GO TO 60

180 END

2 вариант.

  1. Составим блок-схему алгоритма решения задачи:



Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

i=1



Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

В=А (i,1)

Да

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

А (i,1) = A (i,2)



Нет

Алгоритмизация и программирование

Алгоритмизация и программирование

A (i,2)=В




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

i=i+1



Нет Алгоритмизация и программирование


Алгоритмизация и программирование

Да

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование

2. Составим программу на языке Бейсик:

  1. REM Перестановка 2 вар.

20 PRINT «Введите элементы массива»

  1. INPUT А (1,1), A (1,2), А (2,1), A (2,2)

40 I=1

50 IF A (I, 1)>А (I, 2) THEN 90

  1. IF I= 2 THEN 130

  1. I= I +1

80 GO TO 50

90 В= А (I,1)

100 А (I,1)= А (I,2)

  1. А (I,2) = В

120 GO TO 60

130 PRINT «Новый массив:»

140 PRINT А (1,1), A (1,2),

150 PRINT А (2,1), A (2,2)

160 END

Задача №6.

Элементы массива С (1:3) вывести в порядке возрастания их значений.

Решение:

1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование

Алгоритмизация и программирование

i=1





Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программирование


Нет

i=i+1



Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

i=1




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Да

Алгоритмизация и программирование

к=C (i)



Алгоритмизация и программирование

Алгоритмизация и программирование

C (i)= C (i+1)




Нет Алгоритмизация и программирование

C (i+1)=к





Алгоритмизация и программированиеАлгоритмизация и программирование

Нет Алгоритмизация и программирование

i=i+1



Алгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование



Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Да Алгоритмизация и программированиеАлгоритмизация и программирование

i=1




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеНет

i=i+1



Алгоритмизация и программирование

Да Алгоритмизация и программирование


Алгоритмизация и программирование



2. Составим программу на языке Бейсик:


  1. REM Сортировка массива.

20 I=1

30 PRINT «Введите элемент массива с номером»; I

40 INPUT С (I)

  1. IF I= 3 THEN 80

60 I= I +1

70 GO TO 30

80 I=1

90 IF С (I)>С (I+1) THEN 130

100 IF I= 2 THEN 170

110 I= I +1

120 GO TO 90

130 К= С (I)

140 С (I)= С (I+1)

  1. С (I+1) = К

160 GO TO 100

170 PRINT «Новый массив:»

180 I=1

190 PRINT С (I)

200 IF I= 3 THEN 230

210 I= I +1

220 GO TO 190

230 END


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


Задача №1.

Вычислить значение функции y=(5х²+b)+r, где х=2,3,4,6,7;

b=7,8,10,12,25,30. Результаты представить в виде массива.

Решение.

Исходные данные: r, массивы X(1:5) и B(1:6).

Результат: массив Y(1:30)

Определим метод решения задачи: присвоим переменной Х значение Х1, и вычислим все шесть значений Y, которые получатся при изменении переменной B от В1 до В6.

Очевидно, что сочетание значений Х и В появляется только одлин раз. Всего количество значение функций Y будет равно 5*6=30.

Выбранный метод решения задачи требует пятикратного выполнения одной операции - нахождения значения функции Y при одном значении Х и шести значений B.

Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

I=1

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

K=1


Алгоритмизация и программирование

Y=(5*(xI ) *(xI ) +bК)+rАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование






Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

К=К+1

нет

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программированиеда

нет

I= I +1

Алгоритмизация и программированиеАлгоритмизация и программирование


Алгоритмизация и программирование

да

Алгоритмизация и программирование




Задача №2. Вычислить значение функции р; р=(6ln²х+d)+3a², где х=2,4,6,8,10,12,14; а=1,2,3,7,9,10; d-принимает значения из отрезка [3,7] с шагом 0.5. Результаты представить в виде массива.

Решение.

Исходные данные: Х{2,4,6,7,10,12,14}; A{1,2,3,7,9,10}; d{3,3.5,4,4.5 … 7}. Исходные массивы Х и d можно не вводить, а задать их начальные и конечные значения и шаг изменения.

Результат: линейный массив Р, количество элементов которого определим как произведение 7х6х9 - количество элементов исходных массивов.

Алгоритмизация и программирование

Алгоритмизация и программирование

I=1,К=1




Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование







Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование


D=3


Алгоритмизация и программирование


Алгоритмизация и программирование

X=2

Алгоритмизация и программирование



Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

P(К)=(6ln²x+d)+3А(I)²


Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование


К=К+1


Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Х=Х+2

Нет


Алгоритмизация и программирование

Алгоритмизация и программированиеДа

D=D+0.5Алгоритмизация и программирование

Алгоритмизация и программированиеНет


Алгоритмизация и программирование

Да

Алгоритмизация и программирование

I=I+1


Нет

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование





Задача №3. Записать элементы массива D(1:20) в виде матрицы С(1:4,1:5) и вычислить сумму угловых элементов матрицы.

Решение.

Шаг 1. Рассматриваем решение всей задачи в целом.

1. Исходные данные: массив D(1:20).

Результаты: матрица C(1:4,1:5), S.

2.Метод решения задачи заключается в однократном решении двух подзадач:

  1. образование матрицы C(1:4,1:5);

  2. вычисление суммы S.

3.Рисуем укрупненную схему алгоритма задачи:

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование Блок1

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование Блок 2

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование Блок 3

Алгоритмизация и программирование

Алгоритмизация и программирование

Шаг 2. Рассматриваем задачу укрупненного блока 2.

1.Исходные данные: массив D(1:20).

Результат: матрица C(1:4,1:5).

2.Метод решения задачи. Первые пять элементов массива D записываем в первую строку матрицы С, следующие пять элементов- во вторую строку, следующие пять элементов - в третью и т.д.

3.Описываем этапы решения задачи:

Этап 1. Из элементов с d (1) по d(5) образуем первую строку матрицы С.

Этап 2. Из элементов с d(6) по d(10) образуем вторую строку матрицы С.

Этап i. Из элементов с d(5*i-4) по d(5*i)образуем i-ю строку матрицы C.

Алгоритмизация и программирование1

4.Записываем параметры переменной i: i:= i +1.

4

5.Рисуем подробную схему алгоритма блока 2.



Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

Алгоритмизация и программирование


В полученной блок-схеме легко увидеть, что можно ввести дополнительный цикл по столбцам матрицы, и тогда наша блок-схема примет вид:


Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

Алгоритмизация и программирование

Алгоритмизация и программированиеНет

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеДа


Шаг 3. Рассматриваем задачу укрупненного блока 3.

Исходные данные: матрица C(1:4,1:5).

Результат: S.

Метод решения задачи тривиален: S= С(1,1) + С( 1,5) + С(5,1) + С(5,5).

Блок - схема:









Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование





Алгоритмизация и программирование







Шаг 4. Рассмотрим задачу ввода массива D(1:20).

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программированиеДа




Соединив блок-схемы задач укрупненных блоков 1,2 и 3 мы получим блок-схему алгоритма решения всей задачи.


6. Решение задач с использованием подпрограмм; программирование сложных алгоритмов.



Задача №1.

Дана матрица в (1:3; 1:3). Вычислить произведение сумм элементов 1-й и 3-й строк матрицы.

Пояснение. Составить подпрограмму вычисления суммы элементов k-й строки матрицы А и использовать её дважды: при k=1 и при k=3.

Решение:

  1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование


Алгоритмизация и программирование

n=1





Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

i=1




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование


i=i+1



Алгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

n = n +1



Алгоритмизация и программированиеНет Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

k=1





Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование




Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование

Алгоритмизация и программирование

A=S




Алгоритмизация и программирование


k=3





Алгоритмизация и программирование

подпрограмма




Алгоритмизация и программирование


Алгоритмизация и программирование

PR=A*S





Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование




Составим блок-схему подпрограммы:

Алгоритмизация и программирование


Алгоритмизация и программирование

i=1




Алгоритмизация и программирование

S=0




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

S= S+ Р (k , i)





Алгоритмизация и программирование

Нет Алгоритмизация и программирование

i=i+1



Алгоритмизация и программирование

Алгоритмизация и программированиеДа

Алгоритмизация и программирование


2. Составим программу на языке Бейсик:


  1. REM Произведение.

20 N =1

30 I =1

40 PRINT «Введите элемент массива »; N, I,

50 INPUT Р (N, I )

60 IF I= 3 THEN 90

  1. I= I +1

80 GO TO 40

90 IF N = 3 THEN 80

100 N = N +1

110 GO TO 30

120 К= 1

130 GOSUB 200

140 A=S

150 К= 3

160 GOSUB 200

170 PR=A*S

180 PRINT «Произведение равно:»; PR

190 END

200 REM Подпрограмма сумма элементов строки

210 I=1

220 S=0

230 S= S+ Р (К, I)

240 IF I= 3 THEN 90

250 I= I +1

260 GO TO 230

270 RETURN

Задача №2.

Переставить элементы массива Р (1:6) - 1-й с 6-м, 2-й с 3-м, 4-й с 5-м, составив и используя подпрограмму перестановки двух элементов массива Р с номерами i и q.

Решение:

  1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование



Алгоритмизация и программированиеАлгоритмизация и программирование

i=1





Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование



Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование


i=i+1



Алгоритмизация и программированиеНет

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

i=6




Алгоритмизация и программирование


q=1




Алгоритмизация и программирование


подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

i=2




Алгоритмизация и программирование

q=3




Алгоритмизация и программирование

подпрограмма


Алгоритмизация и программирование


Алгоритмизация и программирование

i=4




Алгоритмизация и программирование


q=5





Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

i=1




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование



Алгоритмизация и программирование

i=i+1



Нет Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

Алгоритмизация и программирование




Блок-схема подпрограммы:



Алгоритмизация и программирование

Алгоритмизация и программирование


С=А (i)





Алгоритмизация и программирование

А (i)= А (q)




Алгоритмизация и программирование

А (q) =С




Алгоритмизация и программирование

Алгоритмизация и программирование

2. Составим программу на языке Бейсик:


  1. REM Перестановка.

20 I=1

30 PRINT «Введите элемент массива с номером»; I

40 INPUT Р (I)

  1. IF I= 6 THEN 80

60 I= I +1

70 GO TO 30

80 i= 6

90 q = 1

100 GOSUB 240

110 i= 2

120 q = 3

130 GOSUB 240

140 i= 4

150 q = 5

160 GOSUB 240

170 PRINT «Новый массив:»

180 I=1

190 PRINT С (I)

200 IF I= 3 THEN 230

210 I= I +1

220 GO TO 190

230 END

240 REM Подпрограмма перестановки 2 элементов

250 С=А (i)

260 А (i)= А (q)

270 А (q) =С

280 RETURN


Задача № 3.

Найти площадь кругового кольца с заданными внешним R и внутренним r радиусами, используя подпрограмму вычисления площади круга.

РАлгоритмизация и программированиеешение:

  1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование


Алгоритмизация и программирование


Алгоритмизация и программирование


Алгоритмизация и программирование

R=RB




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

SB= S




Алгоритмизация и программирование

R=RM




Алгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

SM= S




Алгоритмизация и программирование

SK=SB-SM




Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование



Блок-схема подпрограммы:

Алгоритмизация и программирование


Алгоритмизация и программирование

S=PI* R^2




Алгоритмизация и программирование

Алгоритмизация и программирование


2. Составим программу на языке Бейсик:

10 REM Площадь кольца.

20 INPUT«Введите радиус внешней окружности кольца»; RB

30 INPUT«Введите радиус внутренней окружности кольца»; RМ

40 R=RB

50 GOSUB 110

60 SB= S

70 R=RМ

80 GOSUB 110

90 SM= S

100 SK=SB-SM

110 PRINT «Площадь кольца:»; SK

120 END
130 REM Подпрограмма нахождения площади круга

140 S=PI* R^2

150 RETURN

Задача №4

Задан массив D (1:6).Определить сумму каждой из следующих троек элементов массива:d1 - d3, d3 - d5, d2 - d4.

Пояснение: Составить подпрограмму вычисления суммы трех последовательно расположенных элементов массива D с номерами от k m. Решение задачи потребует трехкратного обращения к подпрограмме.

Решение:

  1. Составим блок-схему алгоритма решения задачи:

Алгоритмизация и программирование

Алгоритмизация и программирование

i=1




Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование



Алгоритмизация и программирование

i=i+1



Нет Алгоритмизация и программирование

Алгоритмизация и программирование

Алгоритмизация и программирование

Да

k =1




Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программированиеАлгоритмизация и программирование

Алгоритмизация и программированиеАлгоритмизация и программирование

S (1)= S





Алгоритмизация и программирование

k =3



Алгоритмизация и программирование

Алгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

Алгоритмизация и программирование

S (2)= S



Алгоритмизация и программирование

k = 2




Алгоритмизация и программирование

подпрограмма



Алгоритмизация и программирование


Алгоритмизация и программирование

S (3)= S




Алгоритмизация и программирование

Алгоритмизация и программирование



Алгоритмизация и программирование

Алгоритмизация и программирование


Алгоритмизация и программирование

Блок-схема подпрограммы:

Алгоритмизация и программирование

S=D(k) + D(k+1) + D(k+2)




Алгоритмизация и программирование

Алгоритмизация и программирование





2. Составим программу на языке Бейсик:

10 REM Нахождение трех сумм.

20 I=1

30 PRINT «Введите элемент массива с номером»; I

40 INPUT D (I)

50 IF I= 6 THEN 80

60 I= I +1

70 GO TO 30

80 К=1

90 GOSUB 190

100 S(1)= S

110 К=3

120 GOSUB 190

130 S(2)= S

140 K=2

150 GOSUB 190

160 S(3)= S

170 PRINT «Искомые суммы равны:»; S(1), S(2), S(3)

180 END
190 REM Подпрограмма нахождения суммы трех элементов

200 S= D(k) + D(k+1) + D(k+2)

210 RETURN


7. Основные идеи структурного подхода к программирова­нию и методика построения алгоритмов.

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

Основные составляющие структурного подхода к программированию:

- нисходящее пошаговое проектирование;

- структурное программирование;

- модульное программирование;

- структурный контроль,

Суть принципа нисходящего пошагового проектирования - исполь­зование укрупненных схем алгоритмов (составление плана решения задачи). Это поможет разбить большую задачу на более мелкие и привлечь к процессу решению несколько человек, каждый из которых будет решать какую-либо одну или две задачи. Это значительно ускоряет процесс решения задачи и позволяет его контролировать.

Структурное программирование предполагает составление алгоритма задачи из конструкций строго определенного вида.

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

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

После составления алгоритма задачи его необходимо перевести на язык ЭВМ. При таком переводе каждый блок схемы алгоритма будет описываться некоторым фрагментом программы, более или менее слож­ным. Сложность его зависит от вида используемого языка.

Данная методика применяется и к решению таких задач, как:

-вычисления значений функций нескольких переменных (вычисления по заданным формулам);

-обработка массивов (таблиц).

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

К тому же наиболее доступные и распространенные языки програм­мирования (Бейсик, Паскаль и пр.) предназначены, в первую очередь для решения именно таких задач.

Рассмотрим задачу, в которой функция несколь­ких переменных задана аналитически, т.е. формулой, содержащей имена нескольких переменных, аргументов -X, Y, W...; задано множество возможных значений каждого аргумента.

Требуется вычислить значения функции У при изменении значений различного числа ее аргументов в заданных диапазонах.

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

Суть нашей задачи - перебор значений аргументов.

Метод ее решения должен обеспечить такой порядок их пере­бора, чтобы каждый возможный набор значений X и Z(или X, Z, и W)

появлялся один и только один раз.

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

В салоне модной одежды некоторая дама желает подобрать для себя наилуч­ший ансамбль (сочетание) "пальто-шляпка". Допустим, что в магазине 5 моделей пальто и 6 моделей шляпок ее размера. Ей потре­буется, очевидно, перебрать все возможные сочетания пальто и шляпок. Как она поступит? Сначала она одевает 1-е пальто и примеривает его с 1-й, 2-й и т.д., с 6-й шляпкой, оценивая качество сочетания каждой пары. Затем одевает второе пальто и опять примеривает его поочередно с каждой шляпкой - 1-й,2-й,..6-й. Аналогично поступает она и с остальными пальто. Очевидно, что ей придется выполнить 5x6=30 примерок. В том случае, если бы даме потребовалось подобрать ансамбль "пальто-­шляпка-шарф", при числе подходящих видов шарфов, например 4,то коли­чество примерок было бы равно 5х6х4=120, т к. в этом случае пришлось бы оценивать сочетание каждого шарфа с каждой парой-"пальто-шля­пка"(которых 5х6)

Таким образом обеспечивается полный перебор вариантов. В программировании такая задача решается с использованием так называемых вложенных циклов.

Отметим особенности алгоритмов, вычисляющих функции нескольких переменных, и процесса их состав­ления:

1. Число вложенных циклов алгоритма равно числу аргументов функции.

2. При вычислении значений любой функции с двумя (тремя) аргументами можно использовать один и тот же метод перебора вариантов.

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

4. В указанных задачах число значений функции очень быстро растет с ростом числа аргументов и числа значений аргументов функции.

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

- выделение в задаче наиболее крупных подзадач, разбиение ее на подзадачи на каждом шаге проектирования программы (алгоритма);

- необходимость запомнить процедуру вывода укрупненного алгоритма, особенно в случае циклической структуры его, и, в частности, понять - что является исходными данными и результатами на каждом этапе и правильно указывать их (или их границы).

Задача. Матрица A(1:n,1:m) (m - кратно четырем) разделена по вертикали на две половины. Определить сумму элементов каж­дого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A.

Решение. Шаг 1.Рассматриваем решение всей задачи в целом.

Она заключается в однократном решении двух подзадач:

  1. определить сумму элементов каж­дого столбца левой половины матрицы A;

  2. определить сумму элементов каждого четного столбца правой половины матрицы A.

Шаг 2. Рассматриваем задачу 2 как самостоятельную

Исходные данные: матрица A(1:n,1:m).

Результат массив: S(1:m/4).

Описывая теперь порядок решения этой задачи, указываем (пока) только последовательность обработки столбцов, умалчивая и даже вообще не вникая в то, каким образом будем суммировать элементы в пределах столбца, т.е. описываем порядок решения задачи в самом общем виде:

Этап 1. Суммировать элементы (m/2+2)-го столбца и образовать эле­мент s .

Этап 2. Суммировать элементы (m/2+4)-го столбца и образовать эле­мент s .

Этап i. Суммировать элементы (m/2+2i)-го столбца и образовать элемент s .

Шаг 3. Рассматриваем задачу каждого этапа как самостоятельную. Формулировка этой задачи - суммировать элементы (m/2+2i)-го столбца и образовать элемент s ..

Исходные данные: элементы k-го столбца матрицы А, где k=m/2+2i,

Результат: s

Теперь описываем порядок суммирования элементов одного, k-го столбца, общий для всех столбцов:

S= А(1, k)+ А(2, k)+…+ А(2, k)

ДОПОЛНИТЕЛЬНЫЕ ЗАДАЧИ ПО ТЕМЕ:


1.Дана матрица А(1:n,1:m).Умножить ее 1-ю и n-ю строки на 20, остальные элементы - на 40.

2.Найти сумму матриц А(1:n,1:m) и В(1:n,1:m) и произведение элементов главной диагонали каждой матрицы.

3.Найти сумму элементов каждой четной строки и произведение элементов каждой нечетной матрицы А(1:n,1:m) .

4.Определить наибольший элемент в каждом четном столбце матрицы B(1:n,1:m) и минимальный элемент главной диагонали.

5.Записать элементы матрицы A(1:n,1:m) в виде массива В(1:n*m)(построчно) и вычислить сумму элементов 1-го столбца.

6.В матрице В(1:l,1:k) сместить каждую строку, начиная со второй, на одну вверх. Первую строку поставить на место последней.

7.Переставить строки матрицы C(1:l,1:k): первую с последней, вторую с предпоследней и т.д.

8.Элементы матрицы B(1:n,1:m),отвечающие условию b(і,j) >10,запи­сать в массив С(1:nm).

9.Образовать матрицу B(1:l,1:l),все элементы главной диагонали которой равны единице. Все остальные элементы принять равными нулю.

10.Элементы массива B(1:k) расположить в порядке возрастания их значений, используя дополнительный массив. Определить число элементов, равных максимальному.

11.Определить, имеются ли равные строки в матрице D(1:n,1:m).

12.Определить число строк матрицы А(1:n,1:k),совпадающих с мас­сивом D(1:k).

13. Опишите алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов. Решение запишите в словесной форме или на алгоритмических языках Бейсик или Паскаль.

14. Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов равных максимальному в числовом массиве из 30 элементов.

15. Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 30 различных элементов.





8. Тренировочные тестовые задания по теме «Алгоритмизация и программирование»

Раздел «Алгоритмизация и программирование» курса Информатики был представлен 9 заданиями базового, повышенного и высокого уровня сложности во всех трех разделах работы. Проверялись знания и умения учащихся связанные с использованием основных алгоритмических структур, исполнение и анализ блок-схем отдельных алгоритмов, алгоритмов на алгоритмическом языке или на языках программирования, составление алгоритмов для конкретного исполнителя а также умение программировать сложные задания с развернутым ответом в части С экзаменационной работы.

1. Понятное и точное предписание исполнителю при заданных начальных данных выполнить конечную последовательность команд, приводящую к искомому результату, называется


1)

технологией

2)

системой

3)

алгоритмом

4)

моделью


2. Алгоритм, в котором в зависимости от выполнения или невыполнения какого-либо условия, выполняется та или иная последовательность действий называется........

1)

Разветвляющимся


2)

Циклическим


3)

Линейным


4)

Древовидным

3Алгоритмизация и программирование. Алгоритмическая конструкция какого типа изображена на фрагменте блок-схемы?

1)

линейная

2)

циклическая

3)

разветвляющаяся

4)

структурная



4. Дан фрагмент блок-схемы:

Алгоритмизация и программирование







Он представляет алгоритм, который содержит две команды ветвления, -


1)

команду ветвления в полной форме, в которую вложена команда ветвления в сокращенной форме

2)

обе команды ветвления в полной форме, одна из которой вложена в другую

3)

обе команды ветвления в сокращенной форме, одна из которой вложена в другую

4)

команду ветвления в сокращенной форме, в которую вложена команда ветвления в полной форме


5. Чему равно значение Z после выполнения данной программы?

10 Х = 27

20 Z = Х + 3

30 Z = Z + 5

40 Z = Z/5

1)

7

2)

5

3)

3

4)

30


6. Чему равно значение Y после выполнения данной программы?

10 Х = 5

20 Y = Х

30 Z = X + Y

40 Y = Y + 1

1)

5

2)

6

3)

10

4)

12


7. Что появится на экране?

10 С = 8

20 Н = С/4

30 Н = Н * Н

40 PRINT "С ="; С

50 PRINT "Н ="; Н

1)

С = 6 Н = 4

2)

С = 4 Н = 4

3)

С = 8 Н = 4

4)

С = 8 Н = 6


8. Напишите результат выполнения данной программы:

10 A=5

20 B=7

30 IF A>B THEN MAX=A ELSE MAX=B

40 PRINT MAX

1)

5

2)

12

3)

2

4)

7


9. Какая строка программы соответствует условию: Если А больше В или В равно С, то В=1 ?

1) IF A>B=C THEN B=1

2) IF A>C THEN B=1

3) IF A>B OR B=C THEN B=1

4) IF A>B AND B=C THEN B=1

1)

1

2)

3

3)

2

4)

4

10. Указать номера строк, в которых содержатся операторы, составляющие тело цикла:

5 S = 0

10 FOR I = 1 то 20

20 S = S + I * 2

30 K = S + 2

40 NEXT I

50 ? S, K

1)

5,10

2)

10,20

3)

20,30

4)

30,40


11. Какие строки программы надо поменять местами?

10 FOR I = 1 то 2

20 FOR J = 2 то 0 STEP - 2

30 ? I; J

40 NEXT I

50 NEXT J

1)

10,20

2)

20,30

3)

30,40

4)

40,50


12. Определите значение переменной a после выполнения фрагмента алгоритма:

Алгоритмизация и программирование


1)

8

2)

16

3)

30

4)

14


13. Определите значение целочисленной переменной х после выполнения следующего фрагмента программы:

Алгоритмизация и программирование

















1)

2

2)

5

3)

15

4)

12


14. Определите значение переменной с после выполнения фрагмента алгоритма:

Алгоритмизация и программирование


1)

1

2)

45

3)

55

4)

66



15. Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:

Бейсик

Паскаль

Алгоритмический


x=5
y=7
t=x
' MOD - стандартная операция, вычисляющая
остаток от деления нацело первого аргумента на второй `
x= y MOD x
y=t

x:=5;

y:=7;
t:=x;
x:= y mod x; {mod - стандартная операция, вычисляющая остаток от деления нацело первого аргумента на
второй}
y:=t;

x:=5;

y:=7;
t:=x;
x:=mod (y,x); | mod - стандартная функция, вычисляющая остаток от деления нацело первого аргумента на второй|
y:=t;


1)

x=2, y=5, t=5

2)

x=7, y=5, t=5

3)

x=2, y=2, t=2

4)

x=5, y=5, t=5


16. Определите значение целочисленных переменных a и b после выполнения фрагмента программы (ниже представлена одна и та же программа, записанная на разных языках программирования):


Бейсик

Паскаль

Алгоритмический

a=42
b=14
a=a\b
b=a*b
a=b\a

\ - стандартная операция, вычисляющая
результат деления нацело первого аргумента на второй

a:=42;

b:=14;
a:=a div b;
b:=a*b;
a:=b div a; {div -

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

a:=42

b:=14
a:= div(a, b)
b:= a*b
a:= div(b, a) | div -

стандартная функция, вычисляющая результат деления нацело первого аргумента на второй|


1)

a = 42, b = 14

2)

a = 1, b = 42

3)

a = 0, b = 588

4)

a = 14, b = 42





17. Определите значение целочисленных переменных a и b после выполнения фрагмента программы:

Бейсик

Паскаль

Алгоритмический

a=2468
b=(a MOD 1000)*10

a=a\1000+b

'\ и MOD - операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

a:=2468;

b:=(a mod 1000)*10;

a:=a div 1000+b;

{div и mod - операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

a:=2468

b:=mod(a, 1000)*10

a:=div(a, 1000)+b
|div и mod - функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно|

1)

a = 22, b = 20

2)

a = 4682, b = 4680

3)

a = 8246, b = 246

4)

a = 470, b = 468

18. Определите значение целочисленных переменных a и b после выполнения фрагмента программы:


Бейсик

Паскаль

Алгоритмический

a = 1819
b = (a \ 100) * 10 + 9
a = (10*b - a) MOD 100
'\ и MOD - операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

a:= 1819;
b:= (a div 100)*10+9;
a:= (10*b-a) mod 100;
{div и mod - операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

a:= 1819
b:= div(a,100)*10+9
a:= mod(10*b - a,100)
|div и mod - функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно|


1)

a = 81, b = 199

2)

a = 81, b = 189

3)

a = 71, b = 199

4)

a = 71, b = 189


19. Все элементы двумерного массива A размером 10х10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:

Бейсик

Паскаль

Алгоритмический

FOR n=1 TO 4

FOR k=n TO 4

A(n,k)=A(n,k)+1

A(k,n)=A(k,n)+1

NEXT k

NEXT n

for n:=1 to 4 do

for k:=n to 4 do

begin

A[n, k]:=A[n, k]+1;

A[k, n]:=A[k, n]+1;

end

нц для n от 1 до 4

нц для k от n до 4

A[n, k]:=A[n, k]+1

A[k, n]:=A[k, n]+1

кц

кц

Сколько элементов массива в результате будут равны 1?

1)

0

2)

16

3)

12

4)

4


20. Значения двумерного массива размера 77 задаются с помощью вложенного оператора цикла в представленном фрагменте программы

Бейсик

Паскаль

Алгоритмический

FOR n=1 TO 7

FOR k=1 TO 7

B(n, k)=k-n

NEXT k

NEXT n

for n:=1 to 7 do

for k:=1 to 7 do

B[n, k]:=k-n;

нц для n от 1 до 7

нц для k от 1 до 7

B[n, k]=k-n

кц

кц

Сколько элементов массива будут иметь положительные значения?

1)

49

2)

28

3)

21

4)

7


21. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:

Бейсик

Паскаль

Алгоритмический

FOR n=1 TO 100
A(n)=n-10
NEXT n
FOR n=1 TO 100
B(n)=A(n)*n
NEXT n

for n:=1 to 100 do
A[n]:=n-10;
for n:=1 to 100 do
B[n]:=A[n]*n

нц для n от 1 до 100
A[n]=n-10
кц
нц для n от 1 до 100
B[n]=A[n]*n
кц

Сколько элементов массива B будут иметь положительные значения?

1)

10

2)

50

3)

90

4)

100


22. Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы

Бейсик

Паскаль

Алгоритмический

FOR n=1 TO 5

FOR k=1 TO 5

B(n, k)=n+k

NEXT k

NEXT n

for n:=1 to 5 do

for k:=1 to 5 do

B[n,k]:=n+k;

нц для n от 1 до 5

нц для k от 1 до 5

B[n, k]=n+k

кц

кц

Чему будет равно значение B(2,4)?

1)

9

2)

8

3)

7

4)

6



23. В приведенном ниже фрагменте алгоритма, записанном на алгоритмическом языке, переменные a, b, c имеют тип «строка», а переменные i, k - тип «целое». Используются следующие функции:

Длина (a) - возвращает количество символов в строке a. (Тип «целое»)

Извлечь (a, i) - возвращает i-тый (слева) символ в строке a. (Тип «строка»)

Склеить (a, b) - возвращает строку, в которой записаны сначала все символы строки a, а затем все символы строки b. (Тип «строка»)

Значения строк записываются в одинарных кавычках
(Например, a := 'дом').

Фрагмент алгоритма:

i := Длина (a)

k := 2

b := 'А'

пока i > 0

нц

c := Извлечь (a, i)

b := Склеить (b, c)

i := i - k

кц

b := Склеить (b, 'Т')

Какое значение будет у переменной b после выполнения вышеприведенного фрагмента алгоритма, если значение переменной a было 'ПОЕЗД'?

1)

'АДЕПТ'

2)

'АДЗЕОП'

3)

'АДТЕТПТ'

4)

'АДЗОТ'

24. Следующий фрагмент программы записывает в переменную Max максимальный элемент в двумерном массиве Dist размера NxN, заполненном целыми неотрицательными числами:

Max:=0;

for i:=1 to N do

for j:=1 to N do

if Dist [i,j]>Max then Max:=Dist [i,j];

На очень медленном компьютере эта программа при N=1000 работала 5 секунд. Оцените время работы этой программы на том же компьютере при N=2000:

1)

10 сек.

2)

20 сек.

3)

30 сек.

4)

40 сек.

25. Имеется исполнитель Кузнечик, который живет на числовой оси. Система команд Кузнечика: "Вперед N" (Кузнечик прыгает вперед на N единиц); "Назад M" (Кузнечик прыгает назад на M единиц). Переменные N и M могут принимать любые целые положительные значения. Известно, что Кузнечик выполнил программу из 50 команд, в которой команд "Назад 2" на 12 больше, чем команд "Вперед 3". Других команд в программе не было. На какую одну команду можно заменить эту программу, чтобы Кузнечик оказался в той же точке, что и после выполнения программы?

1)

Вперед10

2)

Вперед2

3)

Назад3.

4)

Назад5

26. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:

Вперед n, где n целое число, вызывающая передвижение черепашки на n шагов в направлении движения.

Направо m, где m целое число, вызывающая изменение направления движения на m градусов по часовой стрелке.

Запись Повтори 5 [Команда1 Команда2 ]означает, что последовательность команд в скобках повторится 5 раз.

Черепашке был дан для исполнения следующий алгоритм:

Повтори 5 [Вперед 10 Направо 72]

Какая фигура появится на экране?

1)

Незамкнутая ломаная линия

2)

Правильный треугольник

3)

Квадрат

4)

Правильный пятиугольник


27. Исполнитель Робот действует на клетчатой доске, между соседними клетками которой могут стоять стены. Робот передвигается по клеткам доски и может выполнять команды 1 (вверх), 2 (вниз), 3 (вправо), 4 (влево), переходя на соседнюю клетку в направлении, указанном в скобках. Если в этом направлении между клетками стоит стена, то Робот разрушается. Робот успешно выполнил программу

3233241.

Какую последовательность из трех команд должен выполнить Робот, чтобы вернуться в ту клетку, где он был перед началом выполнения программы, и не разрушиться вне зависимости от того, какие стены стоят на поле?

1)

123

2)

414

3)

312

4)

423


28. У исполнителя Калькулятор две команды, которым присвоены номера:

1. прибавь 2

2. умножь на 3

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, утраивает его. Запишите порядок команд в программе получения из 0 числа 28, содержащей не более 6 команд, указывая лишь номера команд которая преобразует число 1 в 19.

1)

121211

2)

112212

3)

121212

4)

112212


29. У исполнителя Утроитель две команды, которым присвоены номера:

1. вычти 1

2. умножь на 3

Первая из них уменьшает число на экране на 1, вторая - увеличивает его в три раза.

Запишите порядок команд в программе получения из числа 3 числа 16, содержащей не более 5 команд, указывая лишь номера команд которая преобразует число 1 в 4.

1)

121211

2)

112212

3)

12211

4)

112212


30. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:

Вперед n, вызывающая передвижение Черепашки на n шагов в направлении движения.

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

(Вместо n и m должны стоять целые числа).

Запись:
Повтори 5 [Команда1 Команда2]
означает, что последовательность команд в квадратных скобках повторится 5 раз.

Какое число необходимо записать вместо n в следующем алгоритме:

Повтори 7 [Вперед 40 Направо n],

чтобы на экране появился правильный шестиугольник?

1)

30

2)

45

3)

50

4)

60


31. Записано 7 строк, каждая имеет свой номер - от «0»- до «6»-й.

В начальный момент в строке записана цифра 0 (ноль). На каждом из последующих 6 шагов выполняется следующая операция: в очередную строку записывается удвоенная предыдушая строка, а в конец строки приписывается очередная цифра (на i-м шаге приписывается цифра i).

Для удобства в скобках пишется номер строки (начиная с 0).
Ниже показаны первые строки, сформированные по описанному правилу:

(0) 0

(1) 001

(2) 0010012

(3) 001001200100123

Какая цифра стоит в последней строке на 123-м месте (считая слева направо)?

1)

1

2)

2

3)

0

4)

3


32. Цепочки символов (строки) создаются по следующему правилу.

Первая строка состоит из одного символа - цифры «1».

Каждая из последующих цепочек создается такими действиями: в очередную строку дважды записывается цепочка цифр из предыдущей строки (одна за другой, подряд), а в конец приписывается еще одно число - номер строки по порядку (на i-м шаге дописывается число «i»).

Вот первые 4 строки, созданные по этому правилу:

(1) 1

(2) 112

(3) 1121123

(4) 112112311211234

Какая цифра стоит в седьмой строке на 120-м месте (считая слева направо)?

1)

1

2)

2

3)

3

4)

0


33. Цепочки символов (строки) создаются по следующему правилу.

Первая строка состоит из одного символа - цифры «1».
Каждая из последующих цепочек создается следующим действием:
в очередную строку дважды записывается предыдущая цепочка цифр (одна за другой, подряд), а в конец приписывается еще одно число - номер строки по порядку (на i-м шаге дописывается число «i»).

Вот первые 4 строки, созданные по этому правилу:

(1) 1

(2) 112

(3) 1121123

(4) 112112311211234

Сколько раз в общей сложности встречаются в восьмой строке четные цифры (2, 4, 6, 8)?

1)

62

2)

87

3)

85

4)

65


34. Как выглядит массив А, состоящий из 3 строк и 4 столбцов, если A(i,j)=max(i,j)?

1. 1 2 3 4

2 2 3 4

4 2 3 4

2. 1 2 3 4

2 2 3 4

3 3 3 4

3. 1 3 3 4

2 4 3 4

3 3 3 4

4. 1 2 3 4

1 2 3 4

1 2 3 4

1)

2

2)

1

3)

3

4)

435. Как выглядит массив А, состоящий из 3 строк и 4 столбцов, если A(i,j)=1?

1. 1 1 1 1

1 1 1 1

1 1 1 1

2. 1 2 3 4

1 2 3 4

1 2 3 4

3. 1 1 1 1

2 2 2 2

3 3 3 3

4. 3 3 3 3

2 2 2 2

1 1 1 1

1)

2

2)

4

3)

1

4)

4



Ответы к тесту по теме: ««Алгоритмизация и программирование»



№ задания

Ответ

№ задания

Ответ

1

3

19

3

2

1

20

3

3

3

21

3

4

2

22

4

5

1

23

1

6

2

24

2

7

3

25

4

8

4

26

4

9

2

27

2

10

3

28

1

11

3

29

3

12

2

30

4

13

2

31

2

14

3

32

1

15

1

33

3

16

4

34

1

17

2

35

3

18

4





© 2010-2022