Языки программирования. Понятие алгоритма и его свойства

Содержание

Слайд 2

О дисциплине

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

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

Слайд 3

Задачи

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

Задачи теоретический компонент: - получить базовые представления о целях и задачах компонента
в профессиональной деятельности бакалавра по направлению ИБ;
- иметь представление о роли дисциплины «языки программирования» в объеме получаемых навыков будущего специалиста;
- изучить основные понятия и разделы программирования;
познавательный компонент:
- формирование необходимого объема знаний о прикладном программировании и вычислительных методах;
- ознакомиться с техническими, алгоритмическими, программными и технологическими решениями, используемыми в профессиональной подготовке будущего специалиста;
- получить базовые навыки в пошаговой детализации разработки структурных алгоритмов и реализации прикладных программ;
практический компонент:
- выработать практические навыки аналитического и экспериментального исследования основных методов и средств, используемых в области, изучаемой в рамках данной дисциплины;
- развить творческую самостоятельность при решении задач в предметной области посредством применения парадигмы программирования.

Слайд 4

О дисциплине

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

О дисциплине ПК-2 способностью применять программные средства системного, прикладного и специального назначения,
средства, языки и системы программирования для решения профессиональных задач

Знать:
- принципы и этапы компиляции программы;
Уметь:
- разработать программу в определенной среде программирования;
Владеть:
- навыками разработки программного обеспечения на основе структурного подхода.

Слайд 5

Трудоемкость дисциплины

4 зачетных единицы (144) часов:
Лекции – 18 ч.
Лабораторные работы – 16

Трудоемкость дисциплины 4 зачетных единицы (144) часов: Лекции – 18 ч. Лабораторные
ч.
Консультация – 1 ч.
Экзамен 0,25 ч.
Самостоятельная работа - 108,75 ч.

Слайд 6

Разделы дисциплины

Разделы дисциплины

Слайд 7

Лабораторные работы

Лабораторные работы

Слайд 8

Основная и дополнительная литература

Троелсен, Э. С# и платформа .NET = C# and

Основная и дополнительная литература Троелсен, Э. С# и платформа .NET = C#
the .Net Platform [Текст] / Эндрю Троелсен. - CПб. : Питер, 2007. - 796 с.
Кузин А.В. Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с. Режим доступа: https://znanium.com/catalog/document?pid=505194
Алгоритмы: построение и анализ = Introduction to Algorithms [Текст] / Т. Кормен [и др.]; [пер. с англ. И. В. Красикова, Н. А. Ореховой, В. Н. Романова; под ред. И. В. Красикова].- 2-е изд. - Москва ; Санкт-Петербург ; Киев : Вильямс, 2013. - 1296 с. (ентл 19)
2. Литвиненко В.А. Программирование на С++ задач на графах: Учебное пособие / Литвиненко В.А. - Таганрог: Южный федеральный университет, 2016. - 83 с. Режим доступа: http://znanium.com/catalog/product/997083.
3. Хорев П. Б. Объектно-ориентированное программирование с примерами на C#: Учебное пособие [Электронный ресурс] / Хорев П. Б. - НИЦ ИНФРА-М, 2016. Режим доступа: https://znanium.com/catalog/product/529350

Слайд 9

Топ языков программирования по версии IEEE в 2021 году Рейтинг включает 55 языков.

Топ языков программирования по версии IEEE в 2021 году Рейтинг включает 55
Он составлен на базе 11 параметров, собранных по восьми онлайн-ресурсам — соцсетям, программистским площадкам и сайтам для поиска работы, таким как GitHub, StackOverflow, Google Search, Trends, Twitter, Reddit, Hacker News и CareerBuilder.

Слайд 12

https://habr.com/ru/post/543346/

https://habr.com/ru/post/543346/

Слайд 13

Журнал Яндекс Парктикума https://thecode.media/best-2021/

JavaScript
Кому подходит: начинающим программистам и тем, кому нужен быстрый старт.
Средняя

Журнал Яндекс Парктикума https://thecode.media/best-2021/ JavaScript Кому подходит: начинающим программистам и тем, кому
зарплата на начало 2021 года: 133 тысячи (в прошлом году — 110 тысяч).
Python
Кому подходит: всем, кто хочет научиться писать универсальные скрипты или
работать с нейросетями.
Средняя зарплата на начало 2021 года: 136 тысяч (в прошлом году — 128 тысяч).
Питон в 2021 году пригодится почти везде:
написать скрипт для сервера;
запрограммировать нейросеть;
решить любую классическую задачу в программировании;
сделать своего телеграм-бота или систему управления заказами;
встроить распознавание речи, фото и видео в проект;
и сделать ещё сотни других проектов.

Слайд 14

Журнал Яндекс Парктикума https://thecode.media/best-2021/

Java
Кому подходит: тем, кто хочет штурмовать корпорации или разрабатывать универсальный

Журнал Яндекс Парктикума https://thecode.media/best-2021/ Java Кому подходит: тем, кто хочет штурмовать корпорации
софт для разных платформ.
Как подготовить резюме для крупной компании?
Средняя зарплата на начало 2021 года: 151 тысяча (в прошлом году — 134 тысячи).
Преимущество Java в том, что код можно запустить почти на любом железе, где есть поддержка JVM — виртуальной машины Java:
кнопочные мобильные телефоны;
смартфоны;
компьютеры почти с любым процессором и любой операционной системой;
микроконтроллеры и встраиваемые устройства (например, контроллер для автоматического открывания ворот);
телевизоры, микроволновки и другая умная техника.

Слайд 15

Журнал Яндекс Парктикума https://thecode.media/best-2021/

Rust
Кому подходит: программистам, которым не нравится сложность С или С++, но нравится их мощность

Журнал Яндекс Парктикума https://thecode.media/best-2021/ Rust Кому подходит: программистам, которым не нравится сложность
и возможности.
Средняя зарплата на конец 2020 года: 207 тысяч (статистических данных на начало 2021 года ещё нет).
Если вы хотите писать очень быстрые программы, работать с железом напрямую или делать надёжный софт для серверов, то можно начать с Rust. Этот язык позволяет писать в любом стиле, хоть в ООП, как в C++, хоть в функциональном, как Haskell. А при желании можно вообще отказаться от этого и писать в чисто процедурном стиле, как Pascal.
Swift
Кому подходит: поклонникам операционных систем Apple — MacOS, iOS и WatchOS.
Средняя зарплата на начало 2021 года: 184 тысячи (в прошлом году — 142 тысячи).

Слайд 16

А как же С

Язык C и его младшие братья — это отличный вариант для тех,

А как же С Язык C и его младшие братья — это
кто пишет сложный софт под конкретное железо, гонится за быстродействием и управляет беспилотниками силой мысли. Но точно не для начинающих.
Если Python — это автомобиль с автоматической коробкой передач, то C — это железная руда, из которой вы сможете сделать что угодно: хоть ракету, хоть мотоцикл, хоть автомобиль.

Слайд 17

https://habr.com/ru/post/543346/

https://habr.com/ru/post/543346/

Слайд 18

Лекция 1 Понятие алгоритма и его свойства

Алгоритм - это определенным образом организованная последовательность

Лекция 1 Понятие алгоритма и его свойства Алгоритм - это определенным образом
действий, за конечное число шагов приводящая к решению задачи. 

Слайд 19

Разновидности алгоритмов

вычислительные – как правило, работают с простыми видами данных (числа, векторы, матрицы),

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

Слайд 20

Свойства алгоритма

Дискретность
Понятность 
Определенность 
Результативность 
Корректность  
Массовость 

Свойства алгоритма Дискретность Понятность Определенность Результативность Корректность Массовость

Слайд 21

Способы описания алгоритма

Описание алгоритма
Словесное
Графическое
Псевдокод
Программная

Способы описания алгоритма Описание алгоритма Словесное Графическое Псевдокод Программная

Слайд 22

Словесное описание

Например, алгоритм нахождения наибольшего общего делителя двух натуральных чисел можно представить

Словесное описание Например, алгоритм нахождения наибольшего общего делителя двух натуральных чисел можно
как следующую последовательность действий:
1) задание двух чисел;
2) если числа равны, то выбор любого из них в качестве ответа и остановка, в противном случае – продолжение выполнения алгоритма;
3) определение большего из чисел;
4) замена большего из чисел разностью большего и меньшего из чисел;
5) повтор алгоритма с шага 2.

Слайд 23

ГОСТ 19.701-90 Схемы алгоритмов

Действие

Действие

Данные

Условия

Действия

Начало

Конец

Имя

Имя

Начало, завершение программы (подпрограммы)

Обработка данных

Операции ввода-вывода

Ветвления, выбор, итерационные и

ГОСТ 19.701-90 Схемы алгоритмов Действие Действие Данные Условия Действия Начало Конец Имя
поисковые циклы

Счетные циклы

Любые циклы

Вызов процедур

Маркировка разрывов линий

Пояснения к
операциям

Слайд 24

Псевдокоды

Псевдокоды

Слайд 25

Псевдокод реализации поискового цикла

i =1
Цикл-пока i < =n и A[i] ≠ у
i

Псевдокод реализации поискового цикла i =1 Цикл-пока i i = i +
= i + l
Все-цикл
Если I ≥ n
то Вывести «Элемент найден»
иначе Вывести «Элемент не найден»
Все-если