Оглавление
1. Вводная часть
.1 Краткая история развития языков программирования
.2 Описание и сравнение основных языков и сред программирования
.3 Отсортированный список наиболее используемых языков программирования на текущее время
. Описание основных алгоритмов и синтаксиса языка С++
.1 Операции базового ввода/вывода
.2 Краткое описание правил составления блок-схем
.3 Выполнение арифметических операций в программе
.4 Использование условного оператора
.5 Назначение и применение одномерных/многомерных массивов
. Практические задания
Задание 1. Базовый вывод информации
Задание 2. Составление блок-схем алгоритмов
Задание 3. Анализ программного кода
Задание 4. Вычисление выражений
Задание 5. Условный оператор
Задание 6. Работа с одномерными массивами
Заключение
Список
литературных источников
Программирование - это сложный процесс, который требует специальных знаний и умений.
Язык программирования - это формальная знаковая система, которая предназначена для записи компьютерных программ. Самые первые языки программирования были простейшими и мало чем отличались от машинных последовательностей нулей и единиц, которые использует компьютер. Работа с такими языками была очень сложна для программистов, так как им нужно было знать числовые коды всех машинных команд, самим регулировать объемы памяти под команды, программы и данные.
Для более простого общения человека с ЭВМ были созданы языки программирования типа Ассемблер.
Одним из первых языков программирования является Фортран. Он был создан группой разработчиков компании IBM под руководством инженера Джона Бэкуса. Язык представлял собой не просто совокупность разрозненных простых команд, а группы более крупных кодов, которые стали называть операторами. Для перевода этих операторов на машинный язык были изобретены трансляторы, с помощью которых алгоритмы переводятся на язык понятный ЭВМ.
Чтобы решать экономические задачи был создан язык программирования - Кобол. Для обработки текстовой информации был создан алгоритмический язык Снобол, для алгоритмической обработки символов - Липс (и сейчас язык Липс широко используется в исследованиях по созданию искусственного интеллекта).
В 1968 году был создан язык для обучения студентов программированию. Этот язык получил название - язык программирования Паскаль, который сейчас является одним из популярных языков.
В качестве обучающего языка в школах широкое распространение получил язык Бейсик, который и сейчас считается самым простым для освоения.
Необходимость разработки больших программ, управляющих работой ЭВМ,
потребовала создания специального языка программирования Си в начале 70-х. Он
является одним из универсальных языков программирования.
Современные языки программирования:) С - язык относительно низкого уровня, лаконичный, отвечает большинству задачи системного программирования.) С++ - это язык программирования высокого уровня. Разработан Бьярном Страустрапом на базе языка С. Язык С++ реализует принципы объектно-ориентированного программирования. С помощью данного языка реализуются сложные программы.) С# - объектно-ориентированный язык программирования. По своему характеру похож на С++ и Java. Предназначен для разработчиков программ, которые используют языки С и С++ для того, чтобы они могли эффективно разрабатывать Интернет-приложения. Язык С# интегрирован с языком XML.) Паскаль - процедурно-ориентированный язык программирования высокого уровня. Был создан как язык для обучения студентов, но постепенно был доработан и стал универсальным языком, который широко используется для написания программ, как маленьких, так и больших.
e) Delphi - «наследник» языка Паскаль. Основные операторы в этих языках одинаковые. Но в Delphi имеются средства для работы с графическими объектами: создание форм, кнопок, текстовых полей, меню, а также средства для обработки сложных структур данных. Язык Delphi популярен при разработке Windows-приложений. Фортран - первый язык высокого уровня. Использовался и используется в настоящее время для научных вычислений. В нем отсутствуют многие привычные языковые конструкции и атрибуты, нет поддержки современных способов структурирования кода и данных.) Бейсик (Basic) - язык программирования высокого уровня. Первоначально предназначался для обучения программированию.
g) Java - это «молодой» язык программирования, является основным инструментом программирования для Интернет.
Рейтинг языков программирования по версии RedMonk:
- JavaScript;
- Java;
- PHP;
- C#;
- Python;
- C++;
- Ruby;
- C;
- Objective-C;
- CSS (новый);
- Perl;
- Shell;
- Scala;
- Haskell;
- R;
- Matlab;
- Clojure;
- CoffeeScript;
- VisualBasic;
- Groovy.
Программа и внешние устройства обмениваются данными с помощью операций ввода/вывода. В языке С++ не определено никаких ключевых слов, с помощью которых выполнялся бы ввод и вывод. Ввод и вывод в С++ представляет собой конструкцию, которая обеспечивает гибки и слаженный механизм передачи данных между устройствами. Эта система достаточно большая и состоит из нескольких различных функций. Заголовочным файлом для ввода и вывода является <stdio.h>.
Функции ввода и вывода:
- getchar () - читает символ с клавиатуры;
- getche () - читает символ, но не отображается на экране;
- getch () - читает символ, но не отображается на экране;
- putchar () - отображает символ на экране;
- gets () - читает строку с клавиатуры;
- puts () - отображает строку на экране;
- printf () - является функцией стандартного вывода. С помощью неё на экран можно вывести строку символов, число, значение переменной и т.д.
- scanf - функция форматированного ввода. С помощью данной
функции можно вводить данные с клавиатуры. Вводимым данными могут быть: целые
числа, числа с плавающей точкой, указатели, строки. Так же функция возвращает
число переменных, которым было присвоено значение.
Блок-схема - это последовательность блоков, предписывающих выполнение определенных операций, и связей между ними.
Размеры блоков, конфигурация и порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 «Схемы алгоритмов и программ»
Соединение блоков осуществляется с помощью вертикальных и горизонтальных линий. Горизонтальные линии, которые имеют направление справа налево, и вертикальные линии, имеющие направление снизу вверх, обязательно должны быть помечены стрелками. Линии должны быть параллельны линиям внешней рамки или границам листа.
Расстояние между параллельными линиями должно быть не менее 3мм, между остальными элементами схемы не менее 5 мм. Горизонтальный и вертикальный размеры блока должны быть кратны 5 мм.
Блоки: «Начало», «Конец», «Соединитель» имеют высоту a/2.
Наиболее используемые блоки представлены в таблице 1.
Таблица 1 - Наиболее используемые символы блок-схем
|
Название |
Пояснение |
|
|
Процесс |
|
|
|
Решение |
|
|
|
Данные |
|
|
|
Модификация |
|
|
|
Предопределенный процесс |
|
|
|
Пуск-остановка |
|
|
|
Документ |
|
|
Арифметические выражения образуются из переменных, констант, функций и выражений, заключенных в круглые скобки, которые соединены знаками арифметических операций.
Cтандартные
математические функций представлены в таблице 2.
Таблица 2 - Стандартные виды математических функций
|
Математическая запись |
Запись на С++ |
|
|
sqrt(X) |
|
|X| - абсолютное значение |
abs(X) |
|
ln x - натуральный логарифм |
log(x) |
|
lg x - десятичный логарифм |
log10(x) |
|
mod x - остаток от деления |
mod(x) |
|
|
exp(x) |
|
cos x |
cos (x) |
|
sin x |
sin (x) |
|
tg x |
tan (x) |
|
arctg x |
atan (x) |
Виды арифметических операций:
- ^ - возведение в степень (y=x^3);
- * - умножение (y=x*z);
- / - деление (y=x/z);
- - и + - присвоение знака числу (унарные операции);
- + - сложение (y=x+z);
- - - вычитание (y=x-z).
При составлении арифметических выражений необходимо учитывать приоритет выполнения арифметических операций. Наивысший приоритет имеют стандартные математические функции, затем возведение в степень. Далее идет присвоение знака числу. Умножение и деление осуществляется после присвоения знака числу. Более низкий приоритет, за умножением и делением, имеют целочисленное деление и взятие остатка от числа. Самый низкий приоритет у вычитания и сложения.
Операции в арифметических выражениях выполняются последовательно: слева направо в порядке их приоритета. Приоритет может быть изменен при помощи скобок. При написании арифметических выражений числитель и знаменатель, как правило, берутся в круглые скобки. Если в числителе и знаменателе стоит только одна функция, то скобки можно не ставить. Скобки так же не ставятся, когда в числителе и знаменателе присутствуют только операции умножения или деления, что укладывается в обычный ход решения выражения: слева направо.
Для простоты программирования в языке С++ реализованы операторы инкремента и декремента (увеличения и уменьшения значения переменной на 1). Данные операторы могут быть представлены в виде:
- j++ - операция инкремента (постфиксная операция увеличения);
- ++j - операция инкремента (префиксная операция увеличения).
- j-- - операция декремента (постфиксная операция уменьшения);
- --j - операция
декремента (префиксная операция уменьшения).
Разветвляющийся процесс в языке С++ реализован условным оператором if.
Условный оператор может иметь линейный и блочный синтаксис.
Линейный синтаксис оператора if имеет вид :
if (<условие>) <оператор_1>;
<оператор_2>;
<оператор_3>;
Если <условие>, расположенное после ключевого слова if истинно, то сначала выполняется <оператор_1>, затем последовательно выполняются <оператор_2> и <оператор_3>. Если <условие> ложно, то <оператор_1> пропускается и сразу выполняются <оператор_2> и <оператор_3>. Линейный синтаксис условного оператора имеет и второй вид формата:
if (<условие>) <оператор_1>; else <оператор_2>;
<оператор_3>;
Если <условие>, расположенное после ключевого слова if истинно, то сначала выполняется <оператор_1>, <оператор_2> при этом пропускается, затем выполняется <оператор_3>. Если <условие> ложно, то <оператор_1> пропускается, а выполняются <оператор_2> и <оператор_3>.
Блочный синтаксис условного оператора имеет три вида форматов представления.
Первый вид имеет формат представления:
if (<условие>) <блок операторов>;
Если условие истинно, то выполняются операторы, которые расположены в фигурных скобках, затем выполняются операторы, расположенные после фигурных скобок. Если условие ложно, операторы, расположенные в фигурных скобках пропускаются и начинают выполняться операторы, которые расположены после фигурных скобок.
Второй вид формата блочного представления условного оператора имеет вид:
if (<условие>)
еlse
<блок операторов 2>;
Если условие истинно, то выполняется <блок операторов 1>, расположенный между первыми фигурными скобками. Далее, будут выполняться операторы, расположенные после второй закрывающейся фигурной скобки. Если условие ложно, то <блок операторов 1> пропускается, выполняется <блок операторов 2>, находящийся между вторыми фигурными скобками. Далее также выполняются операторы, расположенные после второй закрывающейся скобки.
Третий вид блочного представления условного оператора имеет вид:
if (<условие 1>)
{
<блок операторов 1>;
}
else if (<условие 2>)
{
<блок операторов 2>;
}
else if (<условие 3>)
{
<блок операторов 3>;
}
else if (<условие 4>)
{
<блок операторов 4>;
}
else (<условие 5>)
{
<блок операторов 5>;
};
Если <условие 1> истинно, то выполняется <блок операторов 1>,
который находится между первой парой фигурных скобок, затем будут выполняться
операторы, расположенные после последней закрывающейся фигурной скобки. Если
<условие 1> будет ложно, то осуществляется проверка <условие 2>.
Если данное условие истинно, то выполняется <блок операторов 2>, а затем
будут выполняться операторы, расположенные после последней закрывающейся
фигурной скобки. Таким образом, последовательно осуществляется проверка всех
условий и, в зависимости от их истинности выполняется тот или иной блок
операторов. Если ни одно из условий не выполняется, то выполняется <блок
операторов 5>, который расположен между последними фигурными скобками, далее
будут выполняться операторы расположенные после последней закрывающейся скобки.