#23 Анализ кода и простая оптимизация. Паскаль

Анализ/"чтение" уже написанного кем-то кода -- одно из важнейших умений, постоянно используемое в повседневной работе профессиональными программистами.

Pascal Урок 15 Задача 8

Урок 15 задача 8

Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для массива:
|1|5|4|5|6|7|8|
-- функция должна "сообщить", что он неуникальный
а для:
|1|15|4|5|6|7|8|
-- что уникальный.

Решение №9 из главы 15.Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными

Задача №9 из главы 15

Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга, если среди есть неуникальные элементы - то они удалите их, сдвинув значения влево, заполняя оставшиеся справа ячейки нулями.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для:

1
|1|-3|5|-3|9|5|8|

получим:

Kdenlive Объединить фрагменты видео на дорожке, как удалить пробелы пустоты

На одной видео-дорожке

Для одной видео-дорожки для одного пробела:

  1. Кликаем правой кнопкой по дорожке с видео, в том месте, где есть пробел
  2. Выбираем пункт "Remove space"

Для всех пробелов:

  1. Кливаем по дорожке и переставляем курсор в начало линии времени
  2. И далее из главного меню:
    Timeline
    ->current track
    -> Remove all spaces after cursor

react webpack The resource from ... was blocked due to MIME type (“text/html”) runtime

The resource from “http://localhost:8080...” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).

Возможная причина

Убедитесь, что на порту 8080 не запущена какая-то другая система (например jenkins, просто откройте ссылку на runtime.js в новой вкладке), которая естественно не готова отдавать вам эти js-файлы.
Остановите эту систему и ещё раз запустите dev-server.

Пространство имен/подпространства имен

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

Абстрактные классы

Абстрактные классы - необходимы в качестве "классов про запас". Мы их просто объявляем но не используем. Их используют только в дочерних классах, как правило, переопределяя методы абстрактного класса.

Makefile Вызов других make команд ПЕРЕД данной

Используйте зависимости (см. раздел об общей структуру), например:

show_vasya:
	@echo  "Вася"

show_message_privet: 
	@echo  "Привет!"

command2: show_message_privet show_vasya
	@echo  "Это будет после привета И Васи."

Теперь, если мы выполним в терминале, в той же папке, где лежит мейкфайл:

make command2

то цели выполнятся в таком порядке

makefile Вызов одной make команды ПОСЛЕ другой

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

Чтобы вызывать другую цель после команд данной цели, просто явно указывайте команду make, например:

makefile Entering directory Скрыть отображение сообщений, тихий режим

Ситуация

make[1]: Entering directory

Проблема возникает при выполнии make команды из другой make команды (но решение должно быть актуальным и при выполнении напрямую из терминала)

Решение

Чтобы убрать сообщение о входе в директорию, в мейкфайле надо написать команду с использование флага -s:

test.me:
	make -s app.show

Если же нужно, чтобы не выводилось и сама команда, то используйте собаку:

Pages

Subscribe to fkn+antitotal RSS