Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PHP_Лаб. работа 4

.doc
Скачиваний:
267
Добавлен:
26.02.2016
Размер:
111.62 Кб
Скачать

Практическая работа № 4. Работа с массивами

Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!

ЗАДАНИЕ № 4-1

В скрипте lab-4-1.php:

1. Создайте массив $treug[] «треугольных» чисел, т.е. чисел вида n(n+1)/2 (где n=1, 2, …, 10) и выведите значения этого массива на экран в строку (через пробел).

2. Создайте массив $kvd[] квадратов натуральных чисел от 1 до 10, выведите значения этого массива на экран в строку.

3. Объедините эти два массива в массив $rez[], выведите результат на экран.

4. Отсортируйте массив $rez[], выведите результат на экран.

5. Удалите в массиве $rez[] первый элемент, выведите результат на экран.

6. С помощью функции array_unique() удалите из массива $rez[] повторяющиеся элементы, результат занесите в массив $rez1[] и выведите его на экран.

ЗАДАНИЕ № -4-2

В скрипте lab4-2.php:

1. Создать переменную, присвоив ей случайное число от 3 до 20 для указания количества чисел в одномерном массиве.

2. Заполнить массив двузначными случайными числами.

3. Вывести заголовок «Массив из … элементов, заполненный случайными числами:» и вывести массив на экран в строку с пробелами между элементами.

4. С помощью функции sort() отсортировать массив по возрастанию и вывести результат на экран.

5. С помощью функции array_revers() перевернуть элементы массива в обратном порядке и результат вывести на экран.

6. Удалить последний элемент из массива (функция array_pop()), вывести на экран.

7. Подсчитать сумму элементов в массиве и количество элементов в массиве.

8. Найти и вывести на экран среднее арифметическое для элементов массива.

9. Используя функцию in_array, определить есть ли в массиве число 50.

10. Используя функцию array_unique, удалить из массива повторяющиеся значения.

Пример работы скрипта:

ЗАДАНИЕ № 4-3

В скрипте lab-4-3.php:

1. Создайте ассоциативный массив $cust[] с ключами cnum, cname, city и snum и значениями: 2001, Hoffman, London, и 1001. Выведите этот массив (вместе с именами ключей) на экран.

2. Добавьте в массив ключ rating со значением 100. Выведите этот массив (вместе с именами ключей) на экран. Где именно стоит добавленное значение?

3. Отсортируйте этот массив по значениям. Выведите результат на экран.

4. Отсортируйте этот массив по ключам. Выведите результат на экран.

5. Выполните сортировку массива с помощью функции sort(). Выведите результат на экран и объясните что получилось.

САМОСТОЯТЕЛЬНАЯ РАБОТА № 4

Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!

Задача 4.1 Работа с одномерными массивами случайных чисел

  1. В массиве А(N) каждый элемент, кроме первого, заменить суммой всех предыдущих элементов исходного массива.

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

  3. Каждый из элементов массива А(N) заменить минимальным среди первых К элементов этого массива.

  4. В массиве A(N) определить максимальное количество подряд идущих положительных элементов, не прерываемых ни нулями, ни отрицательными элементами.

  5. Найти среднее арифметическое S элементов таблицы A(N). Выяснить, сколько элементов таблицы равно S, больше S, меньше S.

  6. Задан массив A(N). Написать программу определения значения k, при котором величина |A(l)+...+A(k)-A(k+l)-...-A(N)| минимальна.

  7. Дан массив Р, содержащий n натуральных чисел. Найти наименьшее натуральное число, не представимое в виде суммы элементов массива Р. Каждый элемент должен входить в сумму не более одного раза.

  8. В массиве чисел А(N) найти число, повторяющееся максимальное количество раз. Если их несколько, то одно из них.

  9. Даны два целочисленных массива A(N) и B(N). Написать программу, которая печатает «Да», если эти массивы состоят из одинаковых элементов.

  10. В целочисленном массиве A(N) подсчитать количество элементов, меньших К, и заменить их нулями. Исходный и скорректированный массивы вывести на экран.

  11. Для целочисленного массива A(N) вычислить сумму тех элементов, которые удовлетворяют условию |a i| < i 2 .

  12. В целочисленном массиве A(N) все неотрицательные элементы, не принадлежащие отрезку [b, d], заменить на единицу. Исходный и скорректированный массивы вывести на экран.

  13. Для целочисленного массива A(N) вычислить сумму тех элементов, которые нечетны и отрицательны.

  14. Дан массив действительных чисел A(N). Заменить все элементы массива находящиеся в интервале от с1 до с2 на минимальный. Исходный и скорректированный массивы вывести на экран.

  15. Если в данном массиве действительных чисел A(N)есть хотя бы одно число, меньшее чем -2,то все отрицательные числа заменить их квадратами. Исходный и скорректированный массивы вывести на экран.

  16. В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных местах. Исходный и скорректированный массивы вывести на экран.

Задача 4.2 Работа с двумерными массивами случайных чисел

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

  • Вывод условия задачи в окне браузера.

  • Заполнение двумерного массива.

  • Вывод массива в окне браузера в виде таблицы.

  • Обработка массива согласно варианту.

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

Варианты задач:

  1. В матрице Z(n,n) каждый элемент столбца разделить на диагональный, стоящий в том же столбце. Исходный и скорректированный массивы вывести на экран.

  2. Для заданной целочисленной матрицы найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

  3. В матрице A(m,n) все ненулевые элементы заменить обратными по величине и противоположными по знаку. Исходный и скорректированный массивы вывести на экран.

  4. Дана матрица А(m,n). Найти вектор В(n), каждый элемент которого равен сумме элементов соответствующего столбца матрицы А. Исходный и скорректированный массивы вывести на экран.

  5. Дана квадратная матрица порядка N. Для каждого столбца матрицы вычислить и напечатать разность между квадратом суммы и суммой квадратов элементов этого столбца.

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

  7. Найти среднее арифметическое элементов каждой строки матрицы Q(n,m).

  8. В матрице К(n,n) присвоить каждому диагональному элементу разность между суммами элементов соответствующих строки и столбца.

  9. Если в матрице P(m,n) есть отрицательные элементы, найти наибольший из них.

  10. В каждой строке матрицы А(n,n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.

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

  12. Дан одномерный массив случайных чисел А=(А12,...,А21), заполнить матрицу:

    A1

    0

    0

    0

    0

    0

    A2

    A3

    0

    0

    0

    0

    A4

    A5

    A6

    0

    0

    0

    A7

    A8

    A9

    A10

    0

    0

    A11

    A12

    A13

    A14

    A15

    0

    A16

    A17

    A18

    A19

    A20

    A21

  13. Найти сумму элементов A(i,j) массива A(m,n), имеющих заданную разность индексов i-j=k. Число k целое, но не обязательно положительное.

  14. Заполнить квадратную матрицу 10x10 последовательными числами от 1 до 100 по спирали.

  15. Просуммировать элементы двумерного массива, сумма индексов которых равна заданной константе.

  16. В квадратной матрице A порядка N найти сумму элементов, расположенных на главной диагонали, и произведение элементов, расположенных на побочной диагонали.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]