Этапы разработки ПО
1.Описание потребностей и их анализ
2.Дизайн программного продукта
3.Разработка
4.Проверка
5.Выпуск и внедрение продукта
6.Обслуживание продукта
Модели жизненного цикла ПО
Waterfall (каскадная модель)
Итерационная, спиральная и инкрементная модели
Спиральная и инкрементная модели
Agile
Proverka/testirovanie
Belij qwik- testirovanie, estä vozmoxnostä uviditä kod produkta
Cxornij qwik- beta test
Serij qwik-beta test s vozmoxnostju uviditä opredelonye kodi
Типы ошибок при тестировании
Логические
Синтаксические
Семантические
Основные модели программирования
Императивное программирование – это не только старейшая парадигма программирования, но и одна из самых распространенных. Она основана на последовательности инструкций, которые указывают компьютеру, как выполнить определенные задачи. Машинные коды и ассемблеры были первыми языками программирования, которые полностью соответствуют императивной парадигме. В этом подходе программисту приходится явно указывать каждую команду, зависящую от текущего состояния программы, чтобы достичь желаемого результата. Это позволяет иметь полный контроль над процессом выполнения программы, но требует более тщательного планирования и учета всех возможных состояний.
Декларативное программирование, напротив, подразумевает описание желаемого результата, не вдаваясь в детали его достижения. Вместо того, чтобы перечислять шаги, необходимые для решения задачи, программист описывает, что должно быть сделано. Примерами декларативных языков программирования являются HTML и SQL. В HTML мы указываем, какую структуру и содержание должна иметь веб-страница, а не даем точные инструкции по ее отображению. В SQL мы описываем, какие данные нужно получить или изменить, не указывая, каким образом это должно быть сделано. Декларативное программирование облегчает понимание и разработку программы, обеспечивая абстракцию и скрытие сложных деталей реализации.
Структурное программирование– делает текст программы более понятным – алгоритм решения ясно
виден из исходного текста.
Согласно принципу модульности программа разбивается на отдельные смысловые части (модули).
Модуль – это функционально законченная часть программы. Например, модуль вычисления
определителя матрицы; модуль нахождения суммы элементов ряда.
Каждый модуль программируется отдельно, а затем модули объединяются в единую программу.
Модуль на языке программирования – это функция или процедура.
Использование при разработке модуля композиции трех базовых структур
Линейной
Ветвления
Циклической Структурное программирование называют программированием без GOTO.
Функциональное программирование – Смысл в том, что мы задаём не последовательность нужных нам команд, а описываем взаимодействие между ними и подпрограммами. В нём весь код – это правила работы с данными. Вы просто задаёте нужные правила, а код сам разбирается, как их применять. Команды можно собирать в подпрограммы, но их последовательность не имеет значения. Нет разницы, в каком порядке вы напишете подпрограммы – это просто правила, а правила применяются тогда, когда нужно, а не когда про них сказали.
Логическое программирование – парадигма программирования, а также раздел дискретной математики изучающий методы и возможности этой парадигмы, основанная на выводе новых фактов из данных фактов согласно заданным логическим правилам. Логическое программирование возникло как упрощение функционального программирования для математиков и лингвистов, решающих задачи символьной обработки.
Объектно-ориентированное программирование – Суть ООП заключается в том, чтобы представить программу в виде объектов, которые каким-то образом взаимодействуют друг с другом. Объект – это экземпляр какого-то класса. Класс – это шаблон, в котором описаны все свойства будущего объекта и его методы. При этом если класс воздушного шарика определяет свойство цвет, то сам класс никакого значения цвета не имеет. Но экземпляры этого класса, которых, к слову, можно создавать сколько угодно, уже будут раскрашены в любые цвета.
Компонентно-ориентированное программирование – Её основная идея – это складывание воедино компонентов, чем-то похожих на кусочки Lego.
Прототипно-ориентированное программирование – это стиль программирования, где нет понятия класса. Вместо этого наследование осуществляется путем копирования уже существующего объекта – прототипа. Примером прототипно-ориентированного языка является язык Self.
Самые популярные языки
JavaScript, а также его библиотеки и фреймворки (React, Angular JS, Vue JS, Node JS, JQuery) – прототипно-ориентированное программирование, применяемое для разработки клиентской части вэб-сайтов;
Java – объектно-ориентированное программирование (ООП), применяется для разработки десктопных и мобильных приложений под Андроид;
Python – процедурное программирование и ООП. Применяется как в вэб, так и десктопной разработке;
PHP (для серверной веб разработки) – процедурное и ООП;
С# – ООП, для программирования игр, софта и вэб-приложений;
Swift – программирование для IOS;
Obective-C – программирование для IOS и MAC OS.
Алгоритм
это точное и понятное предписание (указание) исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи.
Указание выполнить конкретное действие называется командой.
Совокупность всех команд, которые могут быть выполнены некоторым исполнителем называется системой кома.
СВОЙСТВА АЛГОРИТМОВ
1. Дискретность – возможностью разбиения алгоритма
2. Понятность (определенность)– за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
3. Однозначность (детерминированность)– строгое выполнение некоторого правила, инструкции;
4. Массовость – возможность получения результата при
различных исходных данных для некоторого класса сходных
задач;
5. Результативность (конечность)– обязательным получением некоторого результата (числа, таблицы, текста, звука, изображения и т. д.) или сигнала о том, что данный алгоритм неприменим для
решения поставленной задачи;
6. Правильность
Виды алгоритмов
Линейный – все действия выполняются в строгой последовательности (приготовление пирога)
Разветвляющийся – действия выполняются в зависимости от выполнения или не выполнения условия (переход улицы по светофору)
Циклический – содержит повторяющиеся действия (колоть дрова)
Условные графические обозначения символов

Andmetüübid
int- täisarv: 3;4;5;0;-100000000
str- sõne: “ema”, “2334456”, “A”
Bool- tõeväärtused: True=1; Fols=0
Float- ujukomaarvud: 5,45: -48,125
БЛОК НАЧАЛА ИЛИ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ АЛГОРИТМА– Plokkskeemi algus ja lõpp

БЛОКИ ВВОДА-ВЫВОДА– Siseld/Väljund

Koosta plokkskeem
Antud ruutvõrrandi üldkuju: ax**2+bx+c=0
Sisend: a, b, c
D=b**2-4ac
D<0, lahendused puuduvad
D>0, 2 lahendust -> x1=(-b+D**(1/2))/2a, x2=(-b-D**(1/2))/2a
D=0, 1 lahendus -> x1=-b/2a

Даны радиус круга и сторона квадрата. У какой фигуры площать больше?



Koostage programmi skeemi ostu maksumuse arvutamiseks, võttes arvesse allahindlust. Kui ostusumma on üle 1000 euro, antakse 10% allahindlust, kui summa on üle 2000 euro, siis 20%.

Koostage skeem ülesande kohta, mis võimaldab määrata kellaaja näitude järgi ööpäeva.

Koostage plokkskeem kotlette praadiva roboti jaoks.
