Основы программирования. Видеокурс. Азы программирования, основные термины и понятия


Содержание

Основные понятия программирования

Читайте также:

  1. Def.32 Морфизм М есть обобщение понятия бинарного соответствия между множествами на составляемые алгебраические системы.
  2. I. Механика. Общие понятия
  3. I. Основные понятия
  4. I. ОСНОВНЫЕ ПОНЯТИЯ (ТЕРМИНЫ) ЭКОЛОГИИ. ЕЕ СИСТЕМНОСТЬ
  5. I. Основные структурные элементы формирования личности как исходная позиция учебного плана.
  6. II. НЕОСНОВНЫЕ ПУТИ.
  7. II. Основные клинические формы ОНМК.
  8. II. Основные определения
  9. II. Основные параметры магнитного поля.
  10. II. Основные положения учения Ф. де Соссюра о языке.
  11. IV. Основные понятия алгебры логики
  12. VI. Основные размеры стиха

ВВЕДЕНИЕ В ТУРБО ПАСКАЛЬ

ЯЗЫК ВЫСОКОГО УРОВНЯ ТУРБО ПАСКАЛЬ

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

Программирование – это раздел информатики, задача которого – разработка программного обеспечения ЭВМ. В узком смысле слово программирование обозначает процесс разработки программы на определенном языке программирования.

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

Принципиально иное направление в программировании связано с методологиями (парадигмами) непроцедурного программирования. Объектно-ориентированная программа – совокупность множества независимых объектов. Каждый объект можно использовать для решения задачи, не вникая во внутренние механизмы его функционирования. Наиболее популярные языки объектного программирования – C++, Delphi, Visual Basic.

При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения (алгоритм) программист не строит. В этих языках отсутствует понятие «оператор» («команда»).

В настоящей работе рассматривается структурное программирование на языке Паскаль.

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

Программа непосредственно в процессорных кодах представляет собой последовательность из 0 и 1. Команды машинного языка, в большинстве случаев, состоят из двух частей – кода операции (указание процессору, что сделать) и из операндов (с чем нужно сделать операцию).

Для ускорения процесса программирования сначала был разработан язык Ассемблер, а в дальнейшем языки высокого уровня (в т.ч. и Турбо Паскаль). Программа на языке Ассемблер стала записываться как последовательность строк, каждая из которых включает содержание действия (имя операции) и обозначения операндов. Программы на языках высокого уровня состоят уже из операторов (интегрированных команд), каждому из которых может соответствовать несколько машинных операций.

Алгоритмический язык высокого уровня – это система правил для представления данных и описания процесса их обработки.

Система правил формирования множества конструкций языка (слов, выражений, операторов) — синтаксис языка.

Систему правил однозначного истолкования исполнителем программы (человеком и техническим устройством) смысла синтаксических конструкций алгоритмического языка определяет семантика.

Чтобы программа, написанная на языке высокого уровня (например, Турбо Паскаль) однозначно воспринималась и истолковывалась процессором ее необходимо привести в соответствие с его системой команд (СКИ). Эту функцию выполняет специальная программа – компилятор.

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

Сообщения об ошибках

§ Ошибки синтаксиса, т.е. нарушение формальных правил записи алгоритма;

§ Выход начальных данных за пределы допустимого множества;

§ Несоответствие алгоритма возможностям исполнителя.

Именно поэтому кроме преобразования текста программы в машинный код компилятор решает и вторую задачу: обнаруживает и сигнализирует о синтаксических ошибках программы (встреченной в исходном тексте программы недопустимой комбинации символов).

Генерация машинного кода и обнаружение синтаксических ошибок не может свидетельствовать об отсутствии в программе других ошибок и что она не нуждается в отладке.

В том случае, когда ошибки имеют смысловой (семантический) характер для их локализации и исправления прибегают к тестированию программы. Тестирование состоит в проверке работоспособности алгоритма (программы) при таких значениях исходных данных, которые охватили бы все возможные пути обработки данных. На практике тестирование проводят лишь на некоторых наборах исходных данных (предельных: минимальных и максимальных, недопустимых). Тестирование может обнаружить ошибку, но не доказывает их полное отсутствие.

Процесс обработки программы на языке Паскаль:

Процесс программирования на универсальном языке высокого уровня Паскаль состоит из следующих действий: ввода и редактирования текста программы, трансляции и отладки. Для повышения качества и скорости разработки программ была создана интегрированная система программирования Турбо Паскаль, представляющая собой единство двух начал: компилятора и среды программирования – инструментальная программная оболочка языка, предоставляющая разнообразные сервисные услуги.

Для выполнения каждого этапа применяются специальные средства интегрированной среды программирования: редактор текстов (editor), компилятор (compiler), компоновщик (linker), отладчик (debugger).

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

Дата добавления: 2014-01-06 ; Просмотров: 1840 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Обучение программированию с нуля: с чего начать изучение в домашних условиях

Каждый раз, с трудом преодолевая жизненные преграды, хочется взять и перекроить этот мир под себя. К сожалению, мы не рождены творцами этой вселенной. Тем, кто хочет удовлетворить свои амбиции создателя, остается лишь виртуальный мир.

Хотя для творения здесь понадобится не столько волшебство и знание рун, сколько знание основ программирования. Поэтому для всех начинающих творцов виртуальной реальности мы поведаем о том, как научиться программировать.

Что нужно знать «чайнику»

Как бы ни хотелось этого признавать, но в реальности программирование является не таким уж волшебным делом. Создание кода порой можно сравнить с хождением босыми ногами по морскому дну, устланному острыми каменными обломками.

Чтобы стать программистом, нужно быть не только умным, но еще терпеливым и настырным. Обучение программированию всегда сопровождается головой болью, красными от недосыпания глазами и отрешенным взглядом. Именно по нему можно легко узнать программиста.

Многие начинающие обучение считают написание кода чуть ли не самой романтической профессией. Особенно увеличилось количество желающих познать программирование после просмотра фильма « Матрица ». Именно главный герой этой картины Нео подтолкнул многих к становлению на путь постижения программных наук:

Но большая часть начавших изучение бросают его уже через несколько недель. И основной причиной этого является неправильно выбранное направление обучения, методика или даже учебник по программированию.

Особенности обучения программированию на постсоветском пространстве

После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.

Программирования как отдельной отрасли и специализации не существовало как таковой. Его основы преподавались лишь как привязка к другим инженерным дисциплинам. И даже те крохи знаний, которые давались студентам в этой области, не соответствовали современным стандартам и утратили свою актуальность еще 20-30 лет назад.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:

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

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

В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.

С какого языка начать изучать программирование

Постижение программных наук характеризуется не только тяжелым обучением, но и его началом. Новичку порой трудно не только начать самостоятельное обучение, но и определиться с координатами отправной точки процесса. Поэтому мы постараемся помочь вам обойти все эти трудности:

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

Чаще всего выбор падает на язык программирования C ( си) . Именно с него большинство новичков во всем мире начинают свое обучение. На основе C было создана основная часть программных языков, и во многом они наследуют его структуру и синтаксис.

Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

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

Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.

Программы (компиляторы) для программирования

Для обучения программированию недостаточно одного лишь желания и наличия компьютера с выходом в интернет. Для написания программ на C вам потребуется специализированное программное обеспечение – компилятор.

Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:
  • Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:
  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:

Что касается специализированной литературы, то советовать книги определенных авторов мы не будем. Тут, как говорится, выбирайте, что душе угодно. Потому что в большинстве случаев подбор самоучителя по программированию – это индивидуальный процесс. Используйте тот источник, который больше подходит именно для вас.

Да и в интернете можно найти очень много информации. Например, на нашем сайте специализированной литературе по IT тематике посвящен целый раздел.

Тенденции на рынке программирования

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

  • Веб-программирование – здесь понадобятся знания PHP , CSS и HTML ;
  • Разработка приложений под мобильную операционную систему Andro >Java . Поэтому потребуется знание основ этого языка;
  • C# (си sharp) – дальний потомок C . На основе C# построена веб-технология ASP.net от Microsoft .

И последний совет всем начинающим. Перед тем, как приступить к обучению программированию с нуля, следует запастить терпением. А также: таблетками от головной боли, кофе, чаем и побрить череп наголо. Потому что во время постижения программных наук, обучающиеся часто вырывают волосы со своей головы вместе с корнем. Удачного старта!

Курс лекций по основам программирования Учебно-методическое пособие (стр. 1 из 9)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение

высшего профессионального образования

«Нижегородский государственный университет им. Н.И. Лобачевского»

Кафедра экономической информатики

Курс лекций по основам программирования

Рекомендовано методической комиссией экономического факультета

для студентов высших учебных заведений, обучающихся

по направлениям экономика, менеджмент

Малыженков В.И. Информатика и вычислительная техника. Курс лекций по основам программирования: Учебно-методическое пособие – Нижний Новгород: Изд-во Нижегородского госуниверситета, 2011. – 52 с.

В пособии рассматриваются методы и приемы решения задач с использованием персонального компьютера, дается описание двух языков программирования – Бейсика и Паскаля.

Приводятся этапы решения задачи на ПК, рассматриваются алгоритмические структуры в виде блок-схем как основа логического мышления при составлении алгоритмов решения задач. Затем дается описание языков программирования Бейсика и Паскаля, где основные операторы рассматриваются в соответствии с алгоритмическими структурами блок-схем. Приводятся принципы парадигмы структурного программирования, где программная система формируется как совокупность взаимосвязанных модулей, каждый из которых представляет собой линейную последовательность алгоритмических структур.

Изложение теоретического материала сопровождается решением конкретных задач. При этом задача о начислении зарплаты выбрана для иллюстрации различных подходов к её решению, начиная от простейших способов организации данных и заканчивая сложными типами данных, организованных в файлы. Тем самым осуществляется подготовка студентов к изучению дальнейшего материала курса по информатике, связанного с базами данных и табличными процессорами.

Пособие предназначено для обучения студентов экономического факультета. Кроме того, оно может быть полезно абитуриентам университета и всем, кто приступает к изучению программирования.

Рецензент: доцент, к.т.н. Громницкий Владимир Семенович

© Малыженков В.И., 2011

университет им. Н.И. Лобачевского, 2011

Глава1. Основы компьютерной грамотности………………. …………………5

1. Что такое компьютер. 5

2. Базовая конфигурация ПК………………………………………………..5

3. Операционные системы (ОС)………………………………………….…7

4. Файловая система MS DOS и WINDOWS……………………………….8

5. Структура файловых систем………………………………….…………10

Глава 2. Обработка данных в среде алгоритмических языков……………..…11

1. Парадигмы программирования………. ………………………………11

2. Этапы решения задач на компьютере…………………………………..11

3. Общее описание языков программирования (Basic, Pascal)…………..16

3.3.1. Арифметические выражения……………………………21

3.3.3 Строковые выражения………………………..…………..23

3.4.Основные исполняемые операторы языков……………………. 23

3.4.1 Оператор присваивания………………………………….24

3.4.2 Условный оператор………………………………………24

3.4.3 Оператор выбора по ключу…………………..………….25

3.4.5 Оператор безусловного перехода…………. ……….30

3.4.6 Операторы ввода – вывода……………………………30

3.5.Структура программного модуля……………………………. …31

4. Пример решения задач с модульным подходом……………………….32

6. Обработка файлов данных…………………………………..………….38

6.2. Основные операции по обработке файлов………..…………….39

Цукерберг рекомендует:  Как совмещать работу и учёбу

6.3 Операторы (процедуры) обработки файлов в Basic и Pascal…. 40

7. Принципы структурного программирования…………..……………..44

8. Описание простейших модулей………………………………………..46

9. Пример составления программы в соответствии с принципами структурного программирования………………………………………47

Термин «информатика» впервые появился во Франции в начале 70-х годов и произошел от сочетания двух слов: information (информация, разъяснение) и automatique (автоматика, автоматический). Так образовалось французское слово informatique . В русском языке вместо вольного перевода этого термина как «информационная автоматика» утвердилось понятие «информация и средства её автоматической обработки». В США укоренился другое словосочетание — с omputer science – наука о компьютерах.

В нашем курсе мы будем представлять информатику как составляющую следующих компонент:

Настоящий курс лекций посвящен изучению части программного обеспечения персональных компьютеров, называемой как средства программирования на языках Бейсик и Паскаль.

Глава1. Основы компьютерной грамотности.

1. Что такое компьютер?

Термин «компьютер» образован от английского слова compute – вычислять. Так же переводится и английское слово calculate , однако под compute обычно понимается выполнение более сложных операций, в том числе и логических. Так появилось два типа счетно-решающих устройств: компьютеры и калькуляторы.

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

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

Наибольшее распространение в настоящий момент получили персональные компьютеры. Впервые они появились в 80-е годы прошлого столетия. Основными причинами широкого распространения ПК стали ориентация на одного пользователя, открытость персонального компьютера, т.е. возможность присоединения к нему дополнительных устройств в зависимости от потребностей пользователя, и дешивизна, позволившая стать ПК предметом домашнего обихода. В настоящее время в мире насчитывается более 1 миллиарда персональных компьютеров.

2. Базовая конфигурация ПК.

К основным устройствам персонального компьютера относятся:

1) системный блок;

В системном блоке содержится главное устройство ПК – материнская плата, содержащая процессор и оперативную память компьютера. Процессор предназначен для выполнения всех операций, задаваемых компьютеру, оперативная память хранит программы во время их работы, а также непосредственно обрабатываемые данные.

Кроме того в системном блоке находятся:

HDD, НЖМД – hard disk drive, накопитель на жестких магнитных дисках (жесткий диск, винчестер) — устройство хранения информации. Информация с HDD пересылается в оперативную память для обработки или на внешние устройства. Отличается от оперативной памяти существенно большими объемами хранимой информации, но меньшей скоростью доступа к ней. На винчестере храниться важнейшая часть программного обеспечения любого компьютера — операционная система;

FDD, НГМД – floppy disk drive – дискета, предназначенная для переноса информации с одного на другой компьютер;

CD ROM – compact disk read only memory (память только читается);

DVD –R, RW – design video drive, диски для чтения или чтения-записи. Отличаются от CD , большим обьемом хранимой информации;

Видео – и сетевые карты;

Порты и разъемы для присоединения к компьютеру различных внешних устройств (флэшки, карты памяти и др.)

Монитор – это устройство для просмотра вводимой и выводимой информации, диалоговое устройство.

Мониторы бывают разных типов: с ЭЛТ – электронно-лучевая трубка; ЖК – жидкокристаллические, плазменные. В настоящее время в основном используются ЖК-монитры. Мониторы обладают определенными характеристиками:

1. размер диагонали экрана (типовые 14″-21″, всего от 9″ до 42″ (23-106см);

2. частота обновления и регенерации от 75-до 110Гц. Ниже — мигание, выше – размывание и удвоение изображение;

3. разрешение – количество пикселей на миллиметр(мин:640х480, — 1024х768 — мах:1280х1024); размер пикселя в среднем 0.18-0.25 мм, не выше 0,28;

4. ТСО-92-95-99 – Total Cost Oqupation — это классы защиты потребителя от электромагнитного излучения экрана монитора.

Клавиатура является устройством ввода информации. С помощью клавиатуры можно вводить тексты, текстовые команды и некоторые специальные команды (Esc,Ctrl и другие).

Лекция 1. Основы языков программирования

Сама по себе ЭВМ ничего делать не может. Для того чтобы заставить машину сделать что-то полезное, надо описать каждый шаг, который она должна выполнить, то есть разработать алгоритм, на основе которого составляется программа для исполнения на ЭВМ.

Алгоритм — это детально описанная последовательность действий (операций), однозначно приводящая к решению поставленной задачи.

Программа — это алгоритм, реализованный на некотором языке программирования.

Программное обеспечение ЭВМ — это совокупность разработанных для нее программ решения различных задач. В программном обеспечении выделяют две группы программ, предназначенных:

· Для управления работой компьютера, распределения его ресурсов, поддержания диалога с пользователем, оказания помощи в разработке новых программ и выполнении работ, связанных с обслуживанием ЭВМ;

· Для решения прикладных задач из различных областей человеческой деятельности.

Первая из указанных групп программ называется системным (базовым) программным обеспечением, вторая — прикладным программным обеспечением.

Язык программирования — совокупность средств и правил представления алгоритма в виде, пригодном для выполнения вычислительной машиной. Различают языки программирования низкого и высокого уровня. Программирование на языках низкого уровня (программирование в машинном коде) — это загрузка в память ЭВМ соответствующих двоичных чисел, которые машина воспринимает как коды операций и значения операндов. Программирование в машинном коде является очень трудоемким занятием и может сопровождаться большой вероятностью появления ошибок, так как каждую команду необходимо вводить в ЭВМ в виде последовательности двоичных чисел.

Чтобы преодолеть трудности программирования на машинном коде, разработаны языки символического кодирования — языки ассемблеры. Программа на языке ассемблера тоже представляет собой последовательность команд, но команды ассемблера — это не двоичный код, а символическое буквенно-цифровое обозначение (мнемоника). Во-первых, такие команды легче запомнить и меньше вероятность появления ошибок, а, во-вторых, одна команда ассемблера может объединять несколько машинных команд (название языка происходит от английского слова assembly-объединение). Для перевода программы с языка ассемблера в машинные коды используется специальная программа, которая называется «ассемблер» или «ассемблирующая программа». При этом производится синтаксический контроль вводимых команд. Но даже при таком расширении возможностей программирование на уровне языков ассемблеров остается трудоемким занятием и требует специальной квалификации.

Чтобы снять проблемы программирования на данном уровне, были созданы языки высокого уровня, такие, как ФОРТРАН, БЕЙСИК, ПАСКАЛЬ, СИ и др. В них сделана попытка сориентировать задачу программирования на людей, а не на машину. В языках высокого уровня программа состоит из операторов — инструкций, схожих с выражениями на английском языке, формат арифметических выражений в них близок к обычной алгебраической записи. Но поскольку ЭВМ может выполнять только команды машинного языка, программу на языке высокого уровня требуется преобразовать в эквивалентные последовательности команд машинного кода. Эта операция выполняется специальной программой, называемой транслятором. Транслятор преобразует исходную программу, написанную на языке высокого уровня, в эквивалентный объектный модуль на машинном языке. Это процесс называется трансляцией.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студента самое главное не сдать экзамен, а вовремя вспомнить про него. 10052 — | 7508 — или читать все.

Основы программирования

В этом курсе действительно собраны основы: принципы и механики, работающие во всех языках программирования. Какой бы язык вы ни планировали изучать, вы везде будете изучать примерно то же самое, только названное и реализованное по-разному. Я уверен, что, если досконально разобраться с этим курсом, изучение конкретных языков пойдёт гораздо легче. Проверю на себе.

Урок 1. Введение
Хороший мотивирующий ролик, короткий и наглядный. Чёрт возьми, мне захотелось действительно научиться программированию! Но моя задача другая: не выучить конкретные языки, а разобраться в «механике» и терминологии.

Урок 2. Логика и алгоритмы
На самом деле, мы все немного программисты. Мы живём и действуем по алгоритмам, которые мы или сами себе составили или получили от других людей. Только настолько к этому привыкли, что не замечаем отдельных команд, а воспринимаем всё, как единый поток действий.
В этом ролике предельно доходчиво рассказана, а главное — показана вся суть программирования. Дано фундаментальное понятие алгоритма, их виды, и показано, как устроен каждый вид алгоритма. А ещё для меня открытием стало то, что программист — профессия креативная! Да, несмотря на логическую основу действий. Здесь и полная свобода в коде, и правило DRY (Don’t repeat yourself, «Не повторяйся!»), и баланс между минимализмом решений и простотой улучшений… Не ожидал. Задумался.
ДЗ можно посмотреть в комментариях по ссылке:
https://loftblog.ru/material/1-logika-algoritmy/#comment-3602 Обсуждение приветствуется.

Урок 3. Типы данных и их виды
Три основных типа данных: числовые, строковые и булевые, теперь стали понятны. Николай Чернобаев, автор курса, не просто рассказал о типах данных, но и показал, и дал «поиграть»: вывести в консоль, перевести из одного типа в другой. Сделал все преобразования следом за ним, и у меня — получилось. А ещё немного заглянули в следующую тему: «Переменные». Это нужно, чтобы понять про сильную и слабую, динамическую и статическую типизацию. Вам уже интересно? Смотрите видео!

Урок 4. Основные структуры данных
Вот теперь я точно знаю, что такое переменные и массивы. Аналогия с коробками, полками и шкафами доходчива просто до безобразия. И хорошо, что рассказано только про основные структуры, Николай не стал грузить всякими стэками и хэшами, ещё успеем. Вот чем мне, методисту с 7-летним стажем, нравится Loftschool, так это тем, что здесь умеют учить. Поверьте, это можно сказать далеко не про каждую онлайн-школу.
И вот эта простота и лёгкость помогла мне перейти к экспериментам: я не просто повторял то, что показано на экране, а сам придумал и собрал элементарную структуру. Кому интересно, смотрите ДЗ по ссылке: https://loftblog.ru/material/4-osnovnye-struktury-dannyx/#comment-3603

Урок 5. Функции
Здесь главное о функциях, их объявлении и вызове, об аргументах функции. Пересказывать не буду, лучше посмотрите ролик.
Отличная аналогия: программа — это как исполнить песню, а функция — одно из действий в этой песне, например, «играть на барабане». Один взмах дирижёрской палочки, и функция «играть на барабане» вызвана. После того как партия барабана закончена, действие переходит к другим инструментам…
Понять, что такое «возврат значения функции» и что именно делает команда return, было сложнее. Чтобы разобраться, реализовал одну и ту же задачу в двух видах, с возвратом значения и без: https://loftblog.ru/material/5-funkcii/#comment-3607 Да, и списался в Телеграм с наставником курса по разработке Сашей Несвитом, он объяснил буквально за две минуты, что к чему.

Урок 6. Арифметические и логические операции
Вот здесь было действительно просто, всё как в пятом классе. Позволил себе поразвлекаться и собрал логическое сравнение, проверяющее, можно девушке замуж или нет? https://loftblog.ru/material/6-arifmeticheskie-i-logicheskie-vyrazheniya/#comment-3609 А какое сравнение соберёте в этом уроке Вы?

Урок 7. Условия в программировании.
В условиях логика и правила просты: если.. то делаем это, или если. то делаем другое. Вот, в принципе, и всё. Сложнее было отследить синтаксис: поставил лишнюю точку с запятой после фигурной скобки — и привет, код не работает. Меня предупреждали, что программисты — очень внимательные люди, теперь понял, почему. Примеры предельно понятные, никаких сложностей в освоении этого урока.

Урок 8. Циклы в программировании
Циклы — это интересно: инициализировать счётчик, проверить условие, прописать тело, обновить счётчик, повторить… Как попросишь, так и отсчитает. Разобрали 5 вариантов условных циклов, особенно понравился элегантный пример на суммирование элементов массива буквально в 4 строки. В качестве ДЗ сделал простейший цикл на перемножение двух переменных https://loftblog.ru/material/8-cikly/#comment-3611.

Урок 9. Инструменты программиста
В этом уроке рассмотрены в сравнении два важных инструмента разработчика: редактор кода (на примере Sublime Text 3) и интегрированная среда разработки (IDE, на примере PHPStorm). Обозначены ключевые возможности, главный функционал, показано, как работать. Я знаком с инструментами разработки, в основном применительно к HTML: в качестве редактора кода активно пользовал Notepad++, своеобразным аналогом IDE можно считать Adobe Dreamviewver, так что различия понятны. А для задачек на других языках, думаю, подберу что-то из бесплатных IDE (Google намекает на NetBeans) или всё-таки подружусь с Sublime Text 3. А какие инструменты используете Вы?

Урок 10. Первая программа: калькулятор на JavaScript
Автор курса, Николай Чернобаев, на моих изумлённых глазах меньше чем за 1.5 часа написал онлайн-калькулятор, причём с графическим отображением и подсказками. Естественно, здесь было использовано многое из предыдущих уроков, что-то было рассказано с нуля. Очень интересно, что показано не только само написание кода, но и вся разработка как проект, начиная с задумки и планирования на бумаге.

Урок 11. События
Дополнение к программе онлайн-калькулятора, созданного в предыдущем уроке. Когда в программе что-то происходит, например, какое-то действие пользователя, программа реагирует заранее определённым образом. В биологии есть стимул и реакция, в программировании есть событие и его обработчик. Вот так для меня будет понятнее.

Урок 12. Ошибки программирования
Пока я выполнял примеры и ДЗ к этому курсу, успел и сделать, и «отловить», пожалуй все типы ошибок: и синтаксические, и логические, и ошибки выполнения. Искать ошибки интересно, хотя после ..дцатой итерации запуска-поиска начинает неслабо потряхивать. Ну ничего, тренировать внимательность никому не вредно.

Ну что ж, теперь я знаком с основными элементами программ, чуть лучше начал ориентироваться в терминах. Статьи на Хабре читать уже проще. Собственно, что и требовалось получить. Я уверен, что если у Вас есть способности и желание, Вы пройдёте дальше меня. Присоединяйтесь!

Скачай курс
в приложении

Чему вы научитесь

О курсе

Программа курса на базовом уровне освещает практические основы программирования. В ходе обучения предстоит решить множество небольших задач, охватывающих основные базовые конструкции языка C#. Такой опыт будет полезен всем, кто хочет углубиться в изучение программирования. Едва ли возможно научиться программировать без практики, поэтому в качестве домашних заданий вам будет предложено довольно много задач, которые помогут натренировать умение читать код, анализировать готовые программы, а также писать программный код самостоятельно.

Курс разбит на 6 модулей, каждый из них содержит теоретические и практические материалы и задания.

  1. Типы данных. Переменные;
  2. Условный оператор;
  3. Оператор цикла;
  4. Строки и символы;
  5. Массивы;
  6. Функции.

Решения будут проверяться автоматической системой, поэтому вы будете получать быструю обратную связь. Если у вас возникнут проблемы, команда курса даст советы и подсказки. Кроме того, возникшие проблемы всегда можно обсудить с однокурсниками в комментариях к задачам.

Для кого этот курс

Курс рассчитан на всех, кто хочет научиться программировать.

Для усвоения материала потребуются базовые знания из школьной программы по информатике.

Наши преподаватели

Как проходит обучение

Вы смотрите видео, читаете конспект, а затем выполняете задачи по пройденным темам. Решения будут проверяться автоматической системой, поэтому вы будете получать быструю обратную связь. Если у вас возникнут проблемы, команда курса даст советы и подсказки.

Цукерберг рекомендует:  Выезжающая панель для сайта на Mootools

Основы программирования

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

Поэтому встал вопрос о том, чтобы постичь азы программирования самостоятельно.

Так вот вопрос — что лучше прочитать и на чем быстрее и проще писать?
Еще раз напомню — уровень знаний вряд ли должен превышать первый курс специальности Информатики любого института.

  • Вопрос задан более трёх лет назад
  • 15431 просмотр

Я сам бывший дельфист. Для новичка самое главное — это иметь ответы на все вопросы, даже на самые тупые. Которые понятны многим программистам без документации.
Очень легко найти ответы на все возможные вопросы по C#, php, python. А вот у дельфи аудитория поредела. Справки не так уж много.
В изучении языка два главных параметра:
1) Настройка среды
2) Развернутая справка.

С php в тысячу раз просто. Поставил Denwer, уже можно программировать. Развернутая справка, куча книг написано, плюс в интернете много обсуждений. Ответы в избытке.

Присоединяюсь к тем, кто советует Python. В его учебнике на официальном сайте как раз и написано, что он может очень неплохо помочь как язык написания скриптов. Научиться можно быстро, модулей сразу идет много и неважно работаете вы в Windows, Mac или GNU/Linux — Python будет там.

P.S. А подучить английский язык стоит :)

Из-за маленькой кармы не могу даже вопрос написать.
Так что разрешите сообщества спросить здесь, потому-что тема похожая…

У меня на работе возникла ситуация, когда мне надо с питона, пхп переходить на Java (реквалификация). Но вот особо хороших знаний Java я не имею, я только хелоу ворлды и алгоритмы на яве писал на соревнованиях, но никогда не писал ничего большего. Сейчас изучаю SWT, нашел туториалы, но сам язык и его особенности и ВООБЩЕ особености ООП там не особо выучишь. На работе когда я показал свой код своему начальству оно меня чуть не убило… Типа: почему в конструкторе обьекта вызываешь главные функции, почему так а не иначе… Короче, хотелось бы подучиться Яве, только на немного высшем уровне, может подскажете какие книги, пдфка или чё онлайн?

Мне кажется, что Python не очень подходит для написания графических приложений. И уж точно это будет сложнее, чем на Delphi.

В остальном согласен, Python отличный язык. Сам им иногда пользуюсь.

Я в школьные годы начинал писать утилиты так — скачивал похожие программы в исходниках и правил их, чтобы получить нужную функциональность, добавить пару полезных фишек, убрать ненужные пункты в меню и т.д.

Но со временем обнаружилось, что в исходниках нужную программу найти трудно, поэтому на первом курсе мне пришлось срочно учить дизассемблер, чтобы править сразу код. Так я, сам того не желая, стал «хакером» и «компьютерным гением» в одном флаконе.

Когда институт закончился, меня как компьютерного гения оставили работать на кафедре и это «хакерство» мне теперь очень сильно мешает.

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

А во-вторых, когда мой научный руководитель переехал на работу заграницу, он меня не взял, хотя мог бы и похлопотать за меня перед забугорными работодателями, потому что, как он сказал на прощание: «Запомните, Костантин, раз и навсегда — в Америке хакеры не нужны».

И он, как всегда, прав. Особенно сильно я это осознал пару дней назад, когда прочитал, что одного 46-летнего американца посадили на 18 лет за взлом WiFi.

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

Мы здесь не будем говорить о том, кому и зачем могут понадобиться курсы программирования в принципе. Это читатели нашего сайта и так прекрасно знают. Мы поговорим о бесплатных русскоязычных проектах, которые помогут новичку освоить основы и получить полезные знания в этом вопросе.

Конечно, полноценные платные курсы с большим количеством практики, возможностью задавать вопросы преподавателю и с проверкой домашних заданий – это очень хорошо. Но далеко не все имеют возможность на начальном этапе вкладывать средства в обучение. Да и не всем это нужно. Например, бесплатные русскоязычные курсы станут прекрасным стартом для человека, который делает первые шаги в будущей профессии. Помогут они и школьнику, который стремится познакомиться с программированием для общего развития и понять, нужны ли ему глубокие знания в этом вопросе. Да и обучение в онлайн формате бесплатных курсов – довольно удобно. В большинстве случаев лекции предоставляются в записи. Их можно просматривать в удобное время в удобном режиме. Для новичков это – большой плюс, независимо от финансовых возможностей. Особенно, если обучение проходит одновременно с трудовой деятельностью или учебой по другой специальности.

Ниже мы постарались собрать для вас подборку постоянно действующих онлайн-курсов по разным направлениям. Большая часть из них направлены на получение базовых знаний и навыков. В некоторых случаях вы даже сможете пройти тест-экзамен и получить электронный сертификат. Надеемся, что эта подборка станет хорошим подспорьем для тех, кто стремится получить базовые знания, а также для тех программистов, к которым очень часто обращаются знакомые за советом или с просьбами «научи».

Основы основ

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

  1. Введение в математическую логику . Курс находится на сайте Hexlet в виде видеозаписей. Вы узнаете базовые понятия математики логики, изучите математические инструменты, познакомитесь с парадоксами, поймете основные принципы работы компьютерной техники.
  2. Введение в архитектуру ЭВМ. Курс постоянно доступен на сайте Stepic, по окончанию можно сдать экзамен и получить электронный сертификат. Здесь вы узнаете об архитектуре и принципах работы компьютерной техники, начиная от простейших логических схем до сложных мультипроцессорных устройств.
  3. История ЭВМ и программирования . Курс расположен на сайте Лекториума. Доступен периодически, по мере наполнения группы. Необходимо записаться и ждать уведомления о начале. Длительность – 5 недель. Здесь вы узнаете об истории развития разных ЯП, а также появлению технологий, познакомитесь с разными поколениями компьютерной техники. Также в программе рассматриваются основные принципы работы ЭВМ и существующие типы ЯП.
  4. Основы программирования . Курс находится на страницах Geek Brains, видео в постоянном доступе. На уроках вы узнаете базовые понятия и терминологию, нужные будущему программисту. Лектор расскажет о том, какие бывают ЯП, поясняет различия между ними, в какой сфере каждый из них применяется. Вы познакомитесь с популярными на сегодня направлениями в программировании, научитесь создавать самые простые программы. Курс поможет понять основы и выбрать язык программирования для последующего изучения.
  5. Объектно-ориентированное программирование — это мини-курс, постоянно доступный в формате видео на страницах Geek Brains. Весь материал посвящен основам этой парадигмы программирования, описанию важнейших принципов ООП, которые понадобятся разработчику, независимо от выбранной специализации и ЯП.

Обучение веб-программированию

Вы хотите создавать собственные веб-сайты и сервисы? Создавать уникальные дизайнерские решения или продавать шаблоны дизайнов? Заниматься доработками для популярных CMS, их интеграцией и техническим обслуживанием? Тогда вам понадобится изучить основы – HTML и CSS, а также изучить инструменты разработки под веб (PHP, JavaScript, Python и др.). Нужно понимать, что такое базы данных и как с ними работать. И только после этого можно сконцентрироваться на углубленном изучении одного или нескольких направлений в этой сфере.

  1. Основы разработки сайтов и веб-приложений . Базовый курс, где вы познакомитесь с основными принципами web-разработки. Доступен в любой момент времени на сайте Microsoft Virtual Academy.
  2. Web-технологии . Курс посвящен основным принципам веб-разработки, серверным технологиям и особенностям работы web-приложений. Изучите особенности HTTP протокола, разберетесь с обеспечением безопасности. Изучите технологии node.js, ajax, WebSocket и т.д. Курс доступен в видеозаписи на сайте ИНТУИТ.
  3. HTML . Подробное изучение особенностей HTML. Вы получите достаточно знаний, чтобы создавать собственные шаблоны или странички. Видео доступны в любой момент времени на сайте HTML Academy.
  4. CSS . Полноценный и подробный набор уроков по CSS-стилям и их применению. Видео постоянно доступны на страницах HTML Academy.
  5. HTML5. Основы клиентской разработки . Важные особенности верстки с использованием HTML5. Адаптивная верстка и другие современные возможности. Видео курса доступны в любой момент времени на сайте ИНТУИТ.
  6. Программирование на Python . Изучение языка программирования с первых шагов. Основные принципы, синтаксис, особенности. Интересные примеры, хитрости и нюансы. Преимущества и важные особенности ЯП. Видео доступны на сайте Stepic.
  7. Введение в программирование на Python . Еще один базовый курс по изучению ЯП Python, но немного с другим подходом от преподавателей ИНТУИТ. Доступен в любое время в записи.
  8. JavaScript . Интересный курс по языку программирования, без которого сложно себе представить любую анимацию или интерактивные страницы сайтов. Создатели курса – практикующие разработчики из компании Яндекс. Доступен в видео постоянно.
  9. PHP/MySQL Интересный интерактивный бесплатный курс от Fructcode. Доступ к видео и заданиям открыт на постоянной основе. Можно соревноваться с другими пользователями по рейтинге достижений. При желании ресурс может выдать сертификат, но за него придется заплатить.
  10. Базы данных . Изучение принципов работы с базами данных, оптимизация структуры под web, изучение noSQL, работа с большими массивами. Доступен на ресурсе ИНТУИТ в формате видео.

Мобильные приложения

Вас привлекает создание игр и полезных приложений для мобильных устройств? Значит, вам необходимо изучить особенности программирования для iOS (операционная система устройств Apple) или Android (самая популярная ОС для мобильных). Для работы с ними потребуется изучить не только особые языки, но также понять основные принципы и особенности работы с мобильными. Ведь здесь вас ждет небольшой экран, ограниченные ресурсы, работа с тачпадом и еще много интересного. Вот несколько вводных курсов в эту сферу:

  1. Разработка приложений для iOS . Курс станет прекрасным решением для поклонников «яблокофонов». Если вы хотите создавать приложения под IPhone или IPad, заходите на сайт ИНТУИТ и смотрите обучающие видео.
  2. Введение в разработку приложений для ОС Android . Этот вводный курс поможет разобраться с созданием приложений под Андроид – самую популярную ОС, на которой работает огромное количество различных мобильных устройств: смартфоны, планшеты, «умные часы» и другие гаджеты от различных производителей. Видео всегда доступны на сайте ИНТУИТ.
  3. Введение в разработку приложений для смартфонов на ОС Android . В отличие от предыдущего, в этом курсе делается акцент на работу со смартфонами. Изучают их особенности и рассказывают многие полезные хитрости, которые помогут разобраться с этой сферой деятельности. Доступ – постоянный на страницах ИНТУИТ.
  4. Разработка приложений для смартфонов на ОС Аndroid . Углубленный курс для Андроид-разработчиков. Рекомендуется к изучению после знакомства с вводными уроками (см. курсы выше). Постоянно доступен на ресурсе ИНТУИТ.

Программирование для десктопов: компьютеры, ноутбуки

Этот раздел заинтересует тех, кто стремится создавать программы для настольных компьютеров. Для программирования под Windows или Linux самыми популярными считаются языки C++ и С#. Их изучение позволит вам освоить синтаксис, который частично используется также и в других известных языках, разобраться в основных принципах разработки, научиться создавать программы и читать чужой код, в том числе, на многих «си-подобных» языках.

  1. Программирование . Курс позволит изучить основы программирования на языках Си и С++. В его рамках вы освоите основные понятия – алгоритмы, переменные, управляющие элементы, процедуры и функции и т.д. Изучите работу циклов и работе с файлами, научитесь решать сложные математические задачи при помощи ЯП. Курс бы разработан в МГУ, предназначен в помощь студентам, но также может быть очень полезен для самообразования. Видео можно посмотреть в удобное время на сайте ИНТУИТ.
  2. Алгоритмизация. Введение в язык программирования С++ В рамках этого курса можно изучить не только особенности языка, но и разные методы работы с алгоритмами. Курс находится на сайте ИНТУИТ.
  3. Язык программирования C++ . Основные понятия, возможности, синтаксис и конструкции ЯП. Описание различных библиотек и особенностей применения C++ на практике. Курс можно посмотреть на сайте ИНТУИТ.
  4. Увлекательное программирование на языке C# . Видео-курс подойдет для изучения программирования с нуля на языке С#. При этом уроки реализованы в очень простой, практически, игровой форме. Подойдут для школьников. Сайт с видео — Microsoft Virtual Academy.
  5. Язык программирования C# (часть 1) . Первая часть объемного обучающего курса по изучению ЯП. Основные понятия, особенности синтаксиса, управляющие элементы и конструкции. Видео-уроки предназначены для глубокого изучения ЯП с нуля.
  6. Язык программирования C# (часть 2) . Продолжаем изучать ЯП C#. Библиотеки и особенности ООП на этом языке, другие нюансы и тонкости работы. Оба курса находятся в видеозаписи на сайте Microsoft Virtual Academy.

Надеемся, что вы нашли в этом списке что-то полезное для себя или ваших знакомых. А если знаете что-то еще интересное, делитесь в комментариях.

Лекция по информатике «Основные понятия программирования»

Описание разработки

Программирование – это наука, изучающая теорию и методы разработки, производства и эксплуатации программного обеспечения ЭВМ.

Программное обеспечение (ПО) — совокупность программ для ЭВМ — играет основную роль в успехе применения компьютеров. Простые и рутинные задачи компьютер может решать в автоматическом пакетном режиме, но в наиболее важных и сложных случаях используется интерактивный (диалоговый) режим работы программы с непосредственным участием человека. Для решения задач в диалоговом режиме создаются разнообразные автоматизированные (компьютерные) системы (АС), например АС управления предприятием (АСУП), АС управления технологическими процессами (АСУТП), АС научных исследований (АСНИ), автоматизированные обучающие системы (АОС), системы автоматизации проектирования (САПР), банковские системы и др.

Программное обеспечение (ПО) является основной частью вычислительной системы.

Программное обеспечение ЭВМ делится на прикладное, системное и инструментальное.

Прикладное ПО предназначено для решения конкретных прикладных задач.

Системное (общее) ПО обеспечивает функционирование вычислительной системы как единого целого и необходимо для решения всех задач. Основной частью системного ПО является операционная система — комплекс программ, управляющий устройствами вычислительной системы и выполнением всех остальных программ, в том числе их взаимодействием с аппаратурой, другими программами и пользователями.

Инструментальное ПО – средства для разработки программ: системы программирования, инструментальные комплексы и отдельные программы для автоматизации разных этапов создания программного обеспечения.

Система программирования (Visual Studio, Delphi и др. ) включает:

Язык программирования – система обозначений для записи программ. Наиболее распространенные языки программирования Basic, Pascal, C, C++, Fortran, Lisp, Prolog, Ada и др. Перечислены машинно — независимые языки высокого уровня (ЯВУ).

Машинная независимость языка означает возможность использовать язык для ЭВМ разных типов. Уровень языка определяется степенью его близости к машинному языку.

К машинно — зависимым языкам относятся в основном языки ассемблера, которые называют языками уровня 1:1 («один к одному»), потому что команда такого языка обычно соответствует одной машинной команде.

Все языки программирования делятся на 2 типа: интерпретаторы и компиляторы.

Интерпретатор – просматривает текст программы построчно, переводит каждую строку в исполняемый код, выполняет ее и затем переходит к следующей строке.

простота отладки программ;

Цукерберг рекомендует:  16 актуальных блогов для Android разработчиков

легкость модификации программ.

программа работает медленно;

программа может исполняться только на ПК с интерпретатором.

Компилятор – просматривает текст программы полностью и переводит ее в двоичный код с расширением com или exe. Такой файл является универсальным и позволяет запустить его на любой машине.

высокое быстродействие программ.

1. программу трудно отлаживать.

Первые языки программирования – это программирование в машинных кодах, на языке Ассемблер. Эти языки позволяют реализовать управление любым узлом ПК. Обладали маленькими объемами, высокой эффективностью и быстродействием. Но на них невозможно было написать сложные, т. к. они бы занимали очень большой объем.

Языки II поколения (Basic, C, Pascal)содержат мощные команды, позволяющие выполнять сотни действий за одну команду. Они позволили создать сложные программные продукты, но каждый язык обладал своими правилами написания и областью применения.

Языки III поколения — Visual Basic (VB), VS, C ++, Delphy – обладают тенденцией слияния, практически во всех из них используется одинаковый подход к программированию. Интерфейсы языков весьма похожи, системы команд во многом совпадают.

Весь материал — смотрите документ.

Содержимое разработки

Лекция 1. Основные понятия

Программирование – это наука, изучающая теорию и методы разработки, производства и эксплуатации программного обеспечения ЭВМ.

Программное обеспечение (ПО) — совокупность программ для ЭВМ — играет основную роль в успехе применения компьютеров. Простые и рутинные задачи компьютер может решать в автоматическом пакетном режиме, но в наиболее важных и сложных случаях используется интерактивный (диалоговый) режим работы программы с непосредственным участием человека. Для решения задач в диалоговом режиме создаются разнообразные автоматизированные (компьютерные) системы (АС), например АС управления предприятием (АСУП), АС управления технологическими процессами (АСУТП), АС научных исследований (АСНИ), автоматизированные обучающие системы (АОС), системы автоматизации проектирования (САПР), банковские системы и др.

аппаратура + программы + пользователи

Программное обеспечение (ПО) является основной частью вычислительной системы.

Программное обеспечение ЭВМ делится на прикладное, системное и инструментальное.

Прикладное ПО предназначено для решения конкретных прикладных задач.

Системное (общее) ПО обеспечивает функционирование вычислительной системы как единого целого и необходимо для решения всех задач. Основной частью системного ПО является операционная система — комплекс программ, управляющий устройствами вычислительной системы и выполнением всех остальных программ, в том числе их взаимодействием с аппаратурой, другими программами и пользователями.

Инструментальное ПО – средства для разработки программ: системы программирования, инструментальные комплексы и отдельные программы для автоматизации разных этапов создания программного обеспечения.

Система программирования (Visual Studio, Delphi и др.) включает:

Язык программирования – система обозначений для записи программ. Наиболее распространенные языки программирования Basic, Pascal, C, C++, Fortran, Lisp, Prolog, Ada и др. Перечислены машинно-независимые языки высокого уровня (ЯВУ).

Машинная независимость языка означает возможность использовать язык для ЭВМ разных типов. Уровень языка определяется степенью его близости к машинному языку.

К машинно-зависимым языкам относятся в основном языки ассемблера, которые называют языками уровня 1:1 («один к одному»), потому что команда такого языка обычно соответствует одной машинной команде.

Все языки программирования делятся на 2 типа: интерпретаторы и компиляторы.

Интерпретатор – просматривает текст программы построчно, переводит каждую строку в исполняемый код, выполняет ее и затем переходит к следующей строке.

простота отладки программ;

легкость модификации программ.

программа работает медленно;

программа может исполняться только на ПК с интерпретатором.

Компилятор – просматривает текст программы полностью и переводит ее в двоичный код с расширением com или exe. Такой файл является универсальным и позволяет запустить его на любой машине.

высокое быстродействие программ.

1. программу трудно отлаживать.

Первые языки программирования – это программирование в машинных кодах, на языке Ассемблер. Эти языки позволяют реализовать управление любым узлом ПК. Обладали маленькими объемами, высокой эффективностью и быстродействием. Но на них невозможно было написать сложные, т. к. они бы занимали очень большой объем.

Языки II поколения (Basic, C, Pascal)содержат мощные команды, позволяющие выполнять сотни действий за одну команду. Они позволили создать сложные программные продукты, но каждый язык обладал своими правилами написания и областью применения.

Языки III поколения — Visual Basic (VB), VS, C ++, Delphy – обладают тенденцией слияния, практически во всех из них используется одинаковый подход к программированию. Интерфейсы языков весьма похожи, системы команд во многом совпадают.

Основные этапы проектирования программ.

Постановка задачи – определяется назначение программы, выполняемые ею действия, интерфейс с пользователем.

Определение ресурсов. Определяется число и вид объектов, необходимых для реализации программы. Определяются свойства объектов и их методы.

Создание ресурсов. Создаются необходимые ресурсы и их методы.

Кодирование. Методы наполняются конкретным кодом.

Отладка. Программа проверяется в различных режимах. Если возникают при этом ошибки – они устраняются.

Верификация. Проверяется программа (ее поведение) на различных ПК и возможно с различными версиями ОС.

Затраты на разработку, создание и эксплуатацию программ высоки и постоянно возрастают. До половины затрат на разработку программ требует ее отладка.

Отладка программы — обнаружение ошибок в программе, их локализация и исправление.

Тестирование — выполнение программы вручную или на ЭВМ на контрольных примерах (тестах) с целью обнаружения ошибок или изучения механизма ее работы. Тест — исходные данные программы вместе с ожидаемым правильным результатом работы.

Верификация — доказательство правильности программы в общем виде, по законам математики.

Алгоритм — это описание последовательности операций, направленной на решение поставленной задачи. Основное свойство алгоритма – дискретность.

Процесс решения задачи представляется в виде последовательности шагов — операций.

Операция — действие конечной продолжительности над некоторыми объектами. Операнд — объект, участвующий в операции. Оператор — это описание операции. Алгоритм состоит из операторов.

Процесс–последовательность операций при выполнении алгоритма для конкретных исходных данных. Процессор – исполнитель алгоритма (процесса).

Алгоритмический язык – система обозначений для записи алгоритмов, например, язык программирования представляет собой систему обозначений для записи программ. Программа – алгоритм для выполнения на ЭВМ.

Основы программирования

Трудность работы с программистом заключается в том, что вы не можете понять, что он делает до тех пор, пока не стало слишком поздно.

Для кого этот курс программирования

Этот раздел для достаточно широкого круга читателей. Для тех, кто хочет заняться программированием, но пока не знает с чего начать. Для начинающих программистов, а также для тех, кто, вероятно, и не хочет стать профессиональным разработчиком программного обеспечения, но интересуется программированием с целью расширить свой кругозор. Для тех, кому мало только о чем-либо прочитать, но есть еще стремление со всем новым «знакомиться лично», и каждый новый предмет “повертеть в руках”. Если коротко, то здесь вы сможете изучить основы программирования или, как еще говорят, освоить программирование с нуля. Ну а более или менее опытным программистам я могу предложить познакомиться с материалами руководства C# Quick Guide™, где базовые знания по программированию необходимы сразу.

Пару слов о процессе программирования

Не стоит относиться к программированию, по крайней мере, к прикладному программированию, как к чему-то сложному и подвластному людям с “особым” складом ума. С основами программирования человек сталкивается повседневно, и даже не хочу приводить примеры, поскольку все это банально. Программирование на компьютере с использованием языка программирования – это всего лишь формализованное общение с вычислительной техникой с целью объяснить ей, чего вы от нее хотите и добиться от нее адекватного результата. Объяснить четко, с соблюдением логики и здравого смысла.

Естественно, что компьютер не человек и намеков, нечетких формулировок, многозначительных междометий и жестов не понимает, но, тем не менее, процесс программирования сводится к общению с ним на понятном обеим сторонам языке. То, что существует довольно много различных языков программирования, не означает, что различные вычислительные машины принадлежат к различным языковым группам. Просто у всех у них есть встроенные “переводчики”, которые и осуществляют перевод составленных человеком программ на понятный “железу” машинный код. Переводчики эти называют компиляторами или трансляторами. Многообразие языков программирования, на которых пишет программы человек, обусловлен скорее конкуренцией между их авторами (отдельными людьми, научными организациями, коммерческими компаниями и т.п.), спецификой решаемых программированием задач и различием во взглядах специалистов, на то, что из себя должен представлять язык программирования.

Языки программирования классифицируются по различным критериям, но наиболее известная классификация – это деление их на языки программирования высокого уровня и языки программирования низкого уровня. Чем язык более низкого уровня, тем он более “понятен” компьютеру. Соответственно, чем он более высокого уровня, тем более приближен к набору четких инструкций, понятных человеку. Инструкции на языках программирования высокого уровня более “емкие” и зачастую решают сразу целые задачи, поэтому, если сравнить программу на языке высокого уровня с программой, выполняющей то же самое на языке низкого уровня, то объем последней будет на порядки больше. Программировать на высокоуровневом языке, естественно, удобно, но есть и обратная сторона медали: если вы хотите реализовать что-то нестандартное, то вряд ли вам это удастся сделать с использованием его “крупных строительных блоков”. Чрезвычайная гибкость – вот за что профессионалы любят низкоуровневые языки программирования. Программирование на них подобно строительству деревянного дома из спичек – очень и очень трудоемкий и долгий процесс. Но истина как всегда где-то посередине, и для написания эффективных программных продуктов зачастую комбинируют: большую часть программного кода пишут на языке высокого уровня, таком как C++, а различного рода “тонкие места”, которые чувствительны к скорости исполнения и объемам используемой оперативной памяти – на языке низкого уровня, например, на Assembler.

Имеет ли смысл начинать изучать основы программирования или “поезд уже ушел”?

На сегодняшний день общий тренд развития программирования направлен в сторону веб-технологий, облачных вычислений и прочих подходов к организации распределенных архитектур программного обеспечения, но само понятие прикладного программирования инвариантно по отношению к новым технологиям разработки программных продуктов. Весь framework сложной архитектуры за вас напишут компании, являющиеся лидерами на рынке компьютерных технологий. Затем они продадут плоды своих трудов вам, но наполнять смыслом предоставляемые ими шаблоны решений все равно придется. Это похоже на процессы возведения типовых зданий и выполнения индивидуального ремонта в каждом из них. При таком подходе практически нет никакой разницы между реализациями одной и той же задачи, которая, в одном случае, должна стать частью “настольного приложения», в другом — быть частью опубликованного web-сервиса, или вовсе работать в качестве отдельной службы в рамках инфраструктуры виртуального сервера. Ведь сложно найти разницу в процессах ремонта помещений панельного, кирпичного или монолитного зданий? Работы для прикладного программиста всегда хватит.

Создавать свои собственные ресурсы в интернете — дело весьма популярное и полезное, а коммерческое предприятие без своего сайта вообще сегодня большая редкость. Никому не нужно рассказывать, что современные “интернет-поисковики” с каждым днем предъявляют все более и более нетривиальные требования к индивидуальности интернет сайтов. Речь идет не только о содержимом ресурса (контенте), но и дизайне, удобстве пользования и других качественных характеристиках. Чем лучше поисковые системы относятся к вашему сайту, тем больше посетителей приходят к вам со страниц результатов поиска. Разработчики программных решений класса CMS (шаблоны сайтов) предлагают все более широкий набор инструментов и тем для придания уникальности создаваемым на их основе решениям, но иногда бывает намного проще разобраться в логике работы сайта самостоятельно. Благо, чаще всего такие шаблоны распространяются в виде исходного кода, и настроить его работу под свои нужды, изменив несколько десятков строк в том же php — коде, может любой грамотный программист. Обращаться к сторонним организациям за индивидуальной разработкой под ваши требования отдельного программного продукта (сайт — это тот же программный продукт) или его конфигурации может оказаться невыгодно. И не только невыгодно по деньгам, но и по времени, нервам и много еще по каким параметрам…

Краткое описание предлагаемого курса по изучению основ программирования

Этот курс программирования содержит примеры решения небольших задач. От тех, что встречаются в курсах изучения информатики и основ программирования в старших классах школы и на начальных курсах ВУЗов и до тех, с которыми могут столкнуться начинающие программисты на работе. Интересующиеся смогут получить опыт программирования не на одном языке программирования, а сразу на двух — на C# и VB.NET. Оба эти языка являются высокоуровневыми и базируются на одной и той же программной платформе. В качестве обучающей программы предлагается использовать свободно распространяемый программный продукт, который обладает минимально достаточной функциональностью для достижения поставленных настоящим курсом программирования целей. Безусловно, можно использовать и профессиональную среду разработки Microsoft Visual Studio. Начать программировать на C++ или Java, зная основы синтаксиса C#, намного проще, чем начать программировать на них с нуля, поскольку их синтаксис во многом похож. Начинать обучение программированию на языках Pascal/Delphi, я считаю, вообще неперспективно, поскольку (опять же лично мое мнение), эволюция не на их стороне. Но, в общем и целом, большой разницы нет, какой язык программирования новичку выбрать, поскольку принципы, подходы и приемы этого ремесла везде одинаковые.

Если я вас убедил в том, что знакомство с основами программирования и алгоритмизации может стать для вас полезным, то читайте дальше. Если нет, то предлагаю познакомиться еще и с этими аргументами «за» программирование и за выбор программиста в качестве своей профессии.

Содержание учебной программы

Немного теории, которая поможет понять «на пальцах», что представляет из себя процесс программирования, и с чем начинающий программист может столкнуться в ближайшей перспективе.

Материал о том, как новичку выбрать язык программирования. Описание учебной среды разработки, которая является свободно распространяемым программным продуктом, позволяющим писать небольшие программы.

Классика прикладного программирования. Подобные примеры программ рассматриваются в рамках школьных курсов информатики и на начальных курсах по программированию в ВУЗах.

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

Обзор тем, знакомство с которыми является необходимым, хотя и недостаточным требованием для того, чтобы трудоустроиться и начать профессионально работать в сфере прикладного программирования.

Изучение исходного кода открытых проектов дает возможность познакомиться с примерами практического воплощения теоретических основ и наиболее часто используемых приемов программирования.

Другие, связанные с программированием вопросы:

Опубликовал +автор Сентябрь 30 2011 11:58:40 65535 Прочтений
Компьютерные курсы и курсы программирования

Курс для начинающих программистов на C# и VB.NET.

Построение SQL запросов и работа с базой данных.

Программирование на C#. Краткое руководство.

Применение регулярных выражений.

Примеры программной Plug-in архитектуры.

Язык разметки XML и его расширения с примерами.

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна: решения типовых задач верстки.

Руководство по программированию на PHP для начинающих.

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих
Справочные материалы