- •Алгоритмизация и программирование
- •Алгоритмы. Блок-схемы алгоритмов
- •Контрольные вопросы
- •Задачи для самостоятельного решения
- •Линейные алгоритмы
- •Разветвляющиеся алгоритмы
- •Цикл с предусловием
- •1.2.4. Цикл с постусловием
- •Языки и системы программирования
- •Контрольные вопросы
- •Язык программирования Паскаль
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Целый и логический типы данных. Условный оператор
- •Целый тип данных. Цикл с параметром
- •Целый тип. Циклы с условиями
- •Вещественный тип. Циклы с условиями
- •Процедуры и функции. Рекурсия
- •Одномерные массивы
- •Двумерные массивы
- •Цикл с предусловием запишется в виде:
- •Цикл с параметром запишется в виде:
Одномерные массивы
Найти сумму всех четных элементов массива (или сумму элементов, кратных заданному числу).
Найти сумму всех четных элементов массива, стоящих на четных местах, то есть имеющих четные номера.
Найти сумму элементов, принадлежащих промежутку от А до В (А и В вводить с клавиатуры).
Примечание. В задачах 1 — 3 можно находить не только сумму, но и произведение, или проверять, что сумма первых двух цифр равна сумме последних двух цифр.
Найти номера всех отрицательных элементов (вывести их на экран); если таких нет, то сообщить об этом.
Найти номера всех элементов с максимальным значением.
Найти число нечетных элементов.
Сколько элементов массива превосходят по модулю заданное число А?
Есть ли в данном массиве два соседних положительных элемента? Найти номера первой (последней) пары.
Изменить знак у максимального по модулю элемента массива.
Заменить все четные элементы на их квадраты, а нечетные удвоить.
Даны два целочисленных массива, состоящие из одинакового числа элементов. Получить третий массив той же размерности, каждый элемент которого равен большему из соответствующих элементов данного массива.
Дан первый член геометрической прогрессии и ее знаменатель. Найти первые п членов этой прогрессии.
Даны два массива. Найти среднее арифметическое элементов каждого и сравнить эти значения.
Поменять местами:
а) первый и максимальный элементы;
б) второй и минимальный;
в) первый и последний отрицательный.
В массиве А, состоящим из 2п элементов, поменять его половины следующим образом: первый элемент поменять с последним, второй с предпоследним и так далее.
Переставить в обратном порядке элементы одномерного массива, расположенные между его минимальным и максимальным элементами.
Двумерные массивы
1. Найти сумму и число элементов каждого столбца с заданным условием (хранить эти значения в массивах):
а) элементы, кратные k1 или k2;
б) элементы, попадающие в промежуток от А до В;
в) элементы, которые являются простыми числами;
г) данные элементы положительны и лежат выше главной диагонали.
2. Найти сумму элементов в строках с k1- й по k2-ю.
3. Найти номера:
а) всех максимальных элементов;
б) первых отрицательных элементов каждой строки (столбца);
в) последних отрицательных элементов каждой строки (столбца).
4. Найти число элементов в каждой строке, больших (меньших) среднего арифметического элементов данной строки.
Найти произведение двух двумерных массивов А и В, если массив А имеет размерность n х т, а В — т x п. Определить размерность результирующего массива и правило нахождения элемента с номерами i и j.
Даны два квадратных массива А и В. Вывести на экран тот из них, у которого меньше сумма элементов главной диагонали.
Определить, есть ли в данном массиве:
а) отрицательный элемент;
б) два одинаковых элемента;
в) данное число А среди элементов массива;
г) есть ли в заштрихованной области массива элемент, равный А (массив имеет размерность п*п):
Определить:
а) является ли массив логическим квадратом, то есть суммы по всем горизонталям, вертикалям и двум диагоналям должны быть равны;
б) добавить к предыдущему условию требование, чтобы сумма была равна данному числу А.
Определить, есть ли в данном массиве строка (столбец):
а) состоящая только из положительных элементов;
б) состоящая только из положительных или нулевых элементов;
в) состоящая только из элементов, больших числа А;
г) состоящая только из элементов, принадлежащих промежутку от А до В.
В каждой строке сменить знак максимального по модулю элемента на противоположный.
Последний отрицательный элемент каждого столбца заменить нулем.
Положительные элементы умножить на первый элемент соответствующей строки, а отрицательные — на последний элемент этой строки.
Заменить все элементы строки с номером k и столбца с номером m на противоположные по знаку (элемент, стоящий на пересечении k-й строки и m-го столбца, не изменять).
К элементам столбца k1 прибавить элементы столбца k2.
Даны два двумерных массива одинаковой размерности. Создать третий массив той же размерности, каждый элемент которого равен сумме соответствующих элементов первых двух.
Даны два двумерных массива А и В одинаковой размерности. Создать массив С, где каждый элемент равен 1 (True), если соответствующие элементы А и В имеют одинаковый знак, иначе элемент равен 0 (False).
Тест
Что называют операторными скобками?
( ); 2) { }; 3) begin..end; 4) [ ].
Процедуры и функции — это:
операторы; 2) подпрограммы; 3) имена; 4) переменные.
Упорядоченный тип — это:
тип переменной, значения которой упорядочены в обычном смысле;
запись;
целые и вещественные;
значения переменных такого типа находятся в порядке, случайно выбранном.
Выражение — это:
конструкция языка, значение которой может меняться;
текст программы, заключенный в операторные скобки;
множество символов, которые являются упорядоченными;
конструкция, задающая правила вычисления значений переменных.
Рекурсия — это:
повторение выполнения функции или процедуры внутри себя;
оператор;
цикл;
метод определения функции или процедуры.
Массив — это:
запись множества переменных разного типа;
неупорядоченная совокупность отличных друг от друга однотипных элементов;
последовательность, состоящая из фиксированного числа однотипных элементов;
тип одномерных величин.
Для обозначения величин используют имена. Именем будет являться:
Nаmе-«Петя»; 2) 1Name; 3) /Name; 4) .Namel.
N будет константой в описании:
const N = 5; 2) N:const = 5; 3) N = 5; 4) N: integer = 5.
Оператор присваивания выглядит следующим образом:
<имя переменной> :- <значение>;
<имя переменной> := <выражение>;
<имя переменной > ::= <выражение>;
<значение> := <имя переменной>.
Над вещественными величинами определены операции:
not, and, or и стандартные;
<, >, =, odd(), abs(), и стандартные;
*, +, -, / и стандартные;
odd (), abs(), sin(), cos ().
Над логическими величинами определены операции:
+, -, *, /;
not, and, or, odd();
sin (), cos(), tg(), abs();
trunc(), round (), ord().
Цикл с постусловием записывается в виде:
While <логическое выражение> do <оператор>;
For i := l to n do <оператор>;
Repeat <последовательность операторов> until <логическое выражение>;
Case k of <последовательность операторов>.