4303

Разработка простейшей программы на языке С++

Лабораторная работа

Информатика, кибернетика и программирование

Разработка простейшей программы на языке С++ Цель работы: получение начальных знаний и практических навыков по разработке программ на языке С++. Задачи работы: ознакомиться с понятием системы программирования и возможностями различных ин...

Русский

2012-11-16

140 KB

104 чел.

Разработка простейшей программы на языке С++

Цель работы: получение начальных знаний и практических навыков по разработке программ на языке С++.

Задачи  работы:

  •  ознакомиться с понятием системы программирования и возможностями различных интегрированных сред разработки программных приложений на языке С++;
  •  освоить последовательность действий по формированию исполняемого файла программы средствами системы программирования Microsoft Visual C++ 2005 Express Edition;
  •  познакомиться со структурой простейшей программы на языке С++.

2.1. Порядок выполнения работы

  1.  Изучите теоретические сведения к данной лабораторной работе (п. 2.2) и выполните самостоятельно программы из примеров 2.1, 2.2, 2.3, 2.4.
    1.  Выполните упражнения 2.1, 2.2, 2.3, которые содержатся в конце раздела.
    2.  Ответьте на контрольные вопросы.
    3.  Подготовьте отчет о выполнении лабораторной работы, который должен содержать:
  •  титульный лист;
  •  цель лабораторной работы;
  •  блок-схемы алгоритмов и исходные тексты программ, разработанных при выполнении упражнений;
  •  краткие ответы на контрольные вопросы;
  •  выводы по лабораторной работе.

2.2. Общие сведения

Система программирования(СП) – это совокупность программных средств, обеспечивающих автоматизацию разработки и отладки пользовательских программ. Понятие системы программирования возникло с появлением языков программирования более высокого по сравнению с машинным уровня, что повлекло за собой разработку специальных программных средств, называемых трансляторами, которые должны обеспечивать перевод программ, записанных в терминах входного языка, на внутренний язык вычислительной машины. Трансляторы, которые используются для программ, написанных на языке Ассемблера, называются ассемблеры. Для трансляции программ с языков высокого уровня (напр., C++) используются компиляторы или интерпретаторы. Компиляторы преобразуют операторы языка в машинные коды целиком для всей программы. В результате обработки исходного текста программы формируется объектный модуль, который затем может многократно выполняться после его загрузки в оперативную память. Использование компиляторов эффективно при регулярной эксплуатации уже готовых отлаженных программ, так как имеется готовый к выполнению объектный модуль, что экономит время, затрачиваемое на трансляцию, и место в оперативной памяти. Разработка и отладка программ с использованием компилятора связаны с дополнительными временными затратами на трансляцию всего текста при определении ошибки.  Интерпретаторы осуществляют преобразование операторов в машинные коды во время выполнения программы. После запуска программы в оперативную память одновременно загружаются исходный текст программы, написанный на языке высокого уровня, и интерпретатор, который последовательно транслирует операторы программы и сразу же их выполняет. Интерпретаторы эффективны на этапе разработки программ, так как минимизируют время на отладку. Применение режима интерпретации для многократного выполнения отлаженных программ нецелесообразно, так как интерпретатор занимает дополнительный объем оперативной памяти, а также из-за трансляции замедляется выполнение программы.

Современная СП – это довольно большой программный продукт, в котором объединяются такие системные программы как текстовый редактор (для подготовки и редактирования исходного теста программы на языке высокого уровня), интерпретатор (отладчик), компилятор, компоновщик (редактор связей, линкер), загрузчик, подсистема управления файлами и справочная система. Поэтому такие программы называются интегрированными средами разработки (Integrated Development EnvironmentIDE). Чтобы квалифицированно писать программы, разработчик, кроме самого языка программирования, обязан знать возможности интегрированной среды, в которой осуществляется процесс разработки программы. В общем-то, возможности различных современных систем программирования во многом схожи, однако, чтобы понять это, надо попробовать создать одну и ту же программу хотя бы в двух различных системах. В настоящее время широко используются такие системы программирования как Borland C++ 3.1, Borland C++ 5.02, Borland C++ Builder 6, Microsoft Visual C++ 6, Microsoft Visual C++ 2005. Все перечисленные выше системы программирования позволяют разрабатывать как программные приложения в стиле DOS (так называемые консольные приложения), так и приложения в стиле Windows (оконные приложения). Все примеры программ, которые приводятся в данном учебном издании, являются консольными приложениями и проверены в среде Microsoft Visual C++ 2005 Express Edition. Для компиляции в другой системе, возможно, потребуется сделать небольшие правки в исходных текстах программ.

До выполнения программы, написанной на языке программирования С++, необходимо подготовить ее текст в файле с расширением .cpp. Затем требуется передать этот файл на компиляцию и устранить синтаксические ошибки, выявленные компилятором. В результате безошибочнй компиляции получится объектный файл с расширением .obj). После компиляции объектный файл программы на этапе компоновки будет дополнен нужными библиотечными функциями, в результате чего будет получен исполняемый модуль программы в файле с расширением .exe. Схема подготовки исполняемой программы приведена на рис. 2.1, где перед шагом компиляции показан шаг препроцессорной обработки текста программы. Препроцессор – системная программа, которая работает на первом шаге трансляции. Препроцессор выполняет адресованные ему команды, которые начинаются со знака # и называются директивами препроцессора. В соответствии с такими командами, имеющимися в исходном тексте программы, препроцессор определенным образом изменяет этот исходный текст. Например, выполняя команду #include <iostream.h>, препроцессор добавит к исходному тексту программы содержимое заголовочного файла iostream.h, а, выполняя команду #define M 100, заменит в тексте программы все вхождения идентификатора (имени) М на 100.

Рисунок 2.1 – Схема формирования исполняемого файла программы

Любая программа, написанная на языке С++, представляет собой некоторую совокупность функций и обязательно должна содержать одну и только одну так называемую главную функцию. В случае консольного приложения главная функция имеет предопределенное имя main. В языке C++ различаются строчные и прописные буквы, а все зарезервированные (иначе служебные, ключевые) слова пишутся строчными (маленькими) буквами. Функция main вызывается из среды операционной системы при запуске программы на выполнение и возвращает управление в среду операционной системы по окончании работы программы.

Структура функции main соответствует синтаксису определения любой другой функции в языке С++:

тип_возврата имя_функции (список_формальных_параметров)

{

тело_функции

}

Первая строка этого определения называется заголовком функции.

Если функция не возвращает значение в точку своего вызова, то на месте тип_возврата у такой функции будет стоять ключевое слово void. Список формальных параметров – это перечисленные через запятую типы и имена параметров функции: тип1 имя1, …, типN имяN. Если функция не имеет аргументов (параметров), то круглые скобки после имени функции будут пустыми. В теле функции main (внутри фигурных скобок) содержатся операторы основной программы, которые представляют собой описание на языке С++ основных действий, предусмотренных алгоритмом решения поставленной задачи. В соответствии со сказанным, простейшая программа на языке С++  (консольное приложение) имеет следующий вид:

void main () {}

Такую программу можно откомпилировать и запустить на выполнение, однако никаких действий она выполнять не будет, поскольку они не предусмотрены в теле функции main (внутри фигурных скобок нет операторов). Между тем, объектный и исполняемый модули этой программы будут сформированы системой.

Конечно, любая программа, решающая реальную задачу, имеет главную функцию с непустым телом. Среди операторов тела функции main обычно присутствуют операторы вызова различных библиотечных функций, поскольку подавляющее большинство действий в программах на С++ предусматривает использование системных библиотек функций и классов. Определения библиотечных функций (описание выполняемых ими действий) хранятся в откомпилированном виде в соответствующих системных библиотеках в директории Lib. Чтобы использовать ту или иную библиотечную функцию или класс, необходимо подключить к программе заголовочный файл соответствующей библиотеки с помощью директивы препроцессора #include <имя_заголовочного_файла>. Заголовочные файлы имеют расширение .h (header – заголовок), находятся в директории Include и содержат описания библиотечных функций (имя функции, тип возвращаемого функцией значения, типы параметров функции и порядок их следования) и описания библиотечных классов. Такая информация необходима на этапе трансляции программы (т.е. перевода текста программы с языка высокого уровня в машинный код, пригодный для выполнения компьютером), чтобы проверить синтаксическую правильность вызовов библиотечных функций и использования объектов библиотечных классов. Кроме того, в программе могут присутствовать и операторы вызова функций, написанных пользователем. Определения пользовательских функций могут находиться в том же файле, что и функция main или содержаться в отдельных файлах и подключаться к основной программе командой препроцессора #include "имя_подключаемого файла". Если программа состоит из нескольких файлов (модулей), она называется многомодульной программой или проектом. В этом случае все исходные модули компилируются раздельно, а затем на этапе компоновки полученные объектные модули объединяются в один исполняемый модуль.

Рассмотрим пример создания программы (консольного приложения) на языке С++, которая осуществляет вывод информации на экран дисплея.

Пример 2.1. Программа выводит на экран фразу Hello, Woгd! (Здравствуй, Вселенная!):

//HELLO.СРР - имя файла с программой
#include < iostream >

#include < conio.h >

using namespace std;
void main()
{
cout << "\n
 Hello, World!\n";

getch(); }

Используя установленную на вашем компьютере систему программирования, подготовьте исходный текст программы в файле HELLO.СРР, откомпилируйте его и запустите на выполнение. Особенности выполнения перечисленных действий зависят от конкретного компилятора языка С++ и той операционной системы, в которой он работает. В среде Microsoft Visual C++ 2005 Express Edition для компиляции проекта следует нажать клавишу F7, для выполнения программы – клавишу F5.

На экране получим следующий результат: Hello, World!

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

В C++ есть и многострочный комментарий, который появился еше в языке С. Такой комментарий начинается с символов /* и заканчивается символами */. Начало и конец комментария могут располагаться на разных строках исходного текста программы, и обычно их пишут на отдельных строках, как показано в следующем примере:

/* Это

многострочный комментарий

*/

Внутри многострочного комментария может быть однострочный. Однако вложенные многострочные комментарии не допускаются.

Следующие две строки – это директивы препроцессора. Первая директива обеспечивает подключение библиотеки классов потоков ввода/вывода iostream. Имя заголовочного файла этой библиотеки iostream ("i" (input) – ввод; о (оutput) – вывод; stream – поток). По умолчанию стандартный поток вывода связан с экраном, а стандартный поток ввода – с клавиатурой. В языке C++, как и ранее в языке С, отсутствует встроенная система ввода/вывода, и весь обмен данными выполняется внешними программами. В данном случае эта строка обеспечивает нам работу оператора вывода на экран. Вторая директива препроцессора подключает заголовочный файл библиотеки консольного ввода/вывода, которая называется conio. В этой библиотеке содержится функция getch(), вызов которой является последним оператором программы.

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

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

Первый из них – cout << "\nHellо, Wоrld!\n"; – выводит на экран указанную строку символов. Имя cout в соответствии с информацией, содержащейся в файле iostream, является именем объекта, который обеспечивает вывод информации на экран дисплея (в стандартный поток вывода). Информация для вывода передается объекту cout с помощью операции << ("поместить в"). То, что нужно вывести, помещается справа от знака операции <<. В данном случае это строка (строковая константа) "\nНе11о, Worldl\n". Строка в языке Си++ определена как заключенная в кавычки почти любая последовательность символов. Среди них могут встречаться обозначения неизображаемых на экране дисплея управляющих символов. Например, '\n' - обозначение управляющего символа перехода к началу следующей строки экрана. Таким образом, программа выведет на новой строке экрана фразу Hello, world! и переведет курсор в начало следующей строки экрана. Лексема << означает операцию вставки в поток только в том случае, если слева от нее находится имя объекта cout. В противном случае пара символов означает бинарную операцию сдвига влево.

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

Вызов любой функции в языке С++ осуществляется в соответствии со следующим синтаксисом:

имя_функции (список_фактических_параметров) ,

где список_фактических_параметров – это перечисленные через запятую фактические значения параметров, которые передаются в функцию при ее вызове.

У функции getch нет параметров, поэтому список фактических параметров в ее вызове отсутствует, т.е. круглые скобки после имени функции пустые: getch().

И, наконец, вернемся к четвертой строке программы, в которой располагается оператор

using namespace std;

Здесь директива using позволяет сделать видимыми имена из пространства имен стандартной библиотеки std. В пространство имен std заключено все, что предоставляет стандартная библиотека – в данной программе это объекты cin и cout класса iostream.

Пример 2.2. 

// Программа "Дважды два"

#include <iostream>

#include < conio.h >

using namespace std;

int main ( )

{

cout << "2 * 2 = " << 2*2 << endl;

getch();
return 0; }

Результат работы программы:

2 * 2=4

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

Оператор вывода на экран в данной программе также имеет свои особенности. В нем задано три аргумента: строковая константа "2 * 2 =", выражение 2*2 и манипулятор endl. Перед каждым аргументом стоит операция вывода в поток << – эту операцию можно использовать в операторе вывода многократно. Выражение содержит три элемента: две целых константы и знак * (звездочка), который обозначает операцию умножения. Выражение вычисляется, и значение выводится на экран. Манипулятор endl обеспечивает нам перевод курсора экрана на следующую строку. Другие основные арифметические операции обозначаются в языке С++ так: сложение обозначается знаком + (плюс), умножение – знаком - (минус), деление – знаком / (косая черта).

Последний оператор данной программы – оператор возврата значения из функции в точку ее вызова:  return 0; . Число 0, заданное в операторе, и есть целое возвращаемое значение, которое может быть проверено с помощью команд операционной системы. Обычно значение 0 означает нормальное завершение программы. Это только соглашение, которого стараются придерживаться все программисты в мире. Однако вы можете написать программу, в которой в качестве нормального возвращаемого значения используете значение 1 или -1. Тем не менее, постарайтесь придерживаться общепринятого соглашения. Если явным образом не поместить оператор return 0; в конце тела функции main, то он будет добавлен автоматически. Поэтому в дальнейших примерах данный оператор не будет вызываться явным образом.

Теперь вы легко можете написать и выполнить программу, вычисляющую и выводящую на экран полную таблицу умножения на 2 – для этого надо просто скопировать 10 раз оператор вывода, исправив множители в строках и в выражениях. Понятно, что таким же способом можно создать программы для вычисления каких угодно таблиц умножения. Однако лучше написать программу таким образом, чтобы ее можно было использовать с различными данными. В самом деле, таблица умножения на 3 отличается от таблицы умножения на 2 только множителем. Этот множитель можно было бы сообщать программе каждый раз при запуске. Для этого в программе (ее текст приведен в примере 2.3) необходимо объявить переменную, в которой будет храниться значение введенного пользователем множителя, и написать оператор ввода. Под переменной понимается поименованная область памяти, содержимое которой можно изменять в ходе выполнения программы.

Пример 2.3. Таблица умножения со вводом переменной

// Программа " Таблица умножения "

#include <iostream>

#include < conio.h >

using namespace std;

int main ( )

{ int k;        // объявление переменной целого типа

cout << "Введите множитель от 1 до 9: ";

cin >> k;     // ввод числа

cout <<k << " * 1 =" << k*1 << endl;

cout << k << " * 2 =" << k*2 << endl;

cout << k << " * 3 =" << k*3 << endl;

cout << k << " * 4 =" << k*4 << endl;

cout << k << " * 5 =" << k*5 << endl;

cout << k << " * 6 =" << k*6 << endl;

cout << k << " * 7 =" << k*7 << endl;

cout << k << " * 8 =" << k*8 << endl;

cout << k << " * 9 =" << k*9 << endl;

cout << k << " * 10 =" << k*10 << endl;

getch();
}

В этой программе оператор  int k;  объявляет целую переменную с именем k. Это объявление выполнено в соответствии с синтаксисом объявления переменной в языке С++:

тип_переменной имя_переменной;

Имя переменной называется идентификатором. Для написания идентификатора программист может использовать прописные и строчные английские буквы, цифры и знак подчеркивания _. Идентификаторы в языке C++ должны начинаться либо с буквы, либо с подчеркивания. С цифры начинать идентификатор нельзя. Подчеркивание тоже первым писать не рекомендуется, хотя и разрешается. Имена, которые программист выбирает для объектов, используемых в программе, не должны совпадать со служебными (зарезервированными) словами языка С++. Настоятельно рекомендуется давать программным объектам такие имена, которые отражали бы смысл использования этих объектов. В C++ различаются большие и маленькие буквы, поэтому следующие имена считаются различными: ab, Ab, aB, AB. В каждой интегрированной среде обычно устанавливается некоторое ограничение длины имен (обычно, 32 символа). Слово int – это тип значений, которые могут храниться в переменной k. В любом языке программирования обычно есть некоторый набор встроенных типов, каждый из которых определяется своим зарезервированным словом. Язык C++ включает много различных встроенных типов, большинство из которых являются числовыми. Например, типы float и double используются для вещественных чисел (с дробной частью), тип char – для символов. Каждый тип определяется множеством значений и набором операций, которые применяются к значениям.

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

После объявления переменной мы написали оператор для вывода приглашения. После него – оператор  cin >> k; , который выполняет ввод значения в переменную k с клавиатуры. Слово cin обозначает системный объект, обеспечивающий нам ввод данных из внешней среды в программу. По умолчанию, объект cin связан с клавиатурой. Лексема >> обозначает в данном контексте операцию извлечения из потока. Слева от знака операции >> ("извлечь из") стоит имя потока ввода cin, откуда поступают данные, а справа от знака операции >> стоит имя программного объекта, куда эти данные помещаются, в нашем случае это имя переменной k. Последней клавишей, которую требуется нажать при вводе данных с клавиатуры, должна быть клавиша <Enter>. Так же, как и cout, слово cin не является зарезервированным словом C++, однако не рекомендуется использовать его в каком-нибудь другом смысле.

Далее написаны десять однотипных операторов вывода. Если мы запустим программу на выполнение, то на экране появится сообщение

Введите множитель от 1 до 9:

и программа остановится, ожидая от нас ввода целого числа. Нажмем циф-

ру 5 и клавишу <Enter>, и увидим на экране следующие десять строк:

5 * 1=5

5 * 2=10

5 * 3=15

5 * 4=20

5 * 5=25

5 * 6=30

5 * 7=35

5 * 8=40

5 * 9=45

5 * 10=50

Каждый из операторов вывода работает так: сначала на экран выводится значение переменной k (в данном случае – число 5), потом без пропуска – соответствующая строковая константа, а затем вычисляется соответствующее выражение и выводится его значение.

Пример 2.4. 

// Программа "Ввод/вывод данных различных типов"

#include <iostream>

#include < conio.h >

using namespace std;

int main ( )

{ int i;        // объявление переменной целого типа

double d;   // объявление переменной вещественного типа

char c;       // объявление переменной символьного типа – один символ

char stroka[50]; // объявление строки символов (не более 49 символов)

//Ввод данных различных типов

cout << "Введите целое число: ";

cin >> i;     // ввод целого числа

cout << "Введите вещественное число: ";

cin >> d;     // ввод вещественного числа

cout << "Введите один симол: ";

cin >> c;     // ввод символа

cout << "Введите строку длиной не более 49 символов: ";

cin >> stroka;     // ввод строки символов

//Вывод данных различных типов

cout <<"Вы ввели целое число "<<i<<endl;

cout <<"Вы ввели вещественное число "<<d<<endl;

cout <<"Вы ввели симол "<<c<<endl;

cout <<"Вы ввели строку "<< stroka <<endl;

getch(); }

Упражнения

Упражнение 2.1. 

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

Упражнение 2.2. 

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

Упражнение 2.3. 

Составьте программу расчета и отображения накладной. Входные данные для работы программы (вводятся с клавиатуры):

– имя покупателя;

– сумма заказа.

Программа должна запрашивать входные данные, рассчитывать сумму налога на покупку (6% от суммы заказа), стоимость транспортировки (10% суммы заказа ) и общую стоимость покупки как сумму заказа, налога и транспортировки.  Результаты работы программы представьте в следующем виде:

НАКЛАДНАЯ

ПОКУПАТЕЛЬ   Сидоров Тимофей Андреевич

Cумма заказа      5678.78

Налог               340.73

Транспортировка     567.88

Стоимость всего   6587.38

Контрольные вопросы

  1.  Дайте определение системы программирования. Какие системы программирования на языке С++ вы знаете?
  2.  Перечислите, какие системные программы входят в состав современных систем программирования.
  3.  Что такое трансляция программы? В чем отличие компиляторов и интерпретаторов?
  4.  Изобразите и прокомментируйте схему формирования исполняемого файла программы на языке С++.
  5.  Что такое директива препроцессора? Какие препроцессорные директивы использованы вами в разработанных программах? Какие действия производятся системой  при выполнении этих директив?
  6.  Опишите  общую структуру программы на языке С++.
  7.  Каково назначение функции getch()? В какой библиотеке она содержится?
  8.  Каков синтаксис определения и вызова функций в программе на языке С++?
  9.  Каким образом выполняется ввод с клавиатуры и вывод на экран данных в языке С++ с использованием классов потоков ввода/вывода из библиотеки iostream?  
  10.  Что такое идентификатор? Какие ограничения накладываются на идентификаторы в языке С++?  
  11.  Что понимается под переменной в языке программирования?
  12.  Какие типы данных языка С++ вы знаете?  Как объявить переменную в программе на языке С++?      


 

А также другие работы, которые могут Вас заинтересовать

45718. Научные исследования массовой коммуникации: направления и методы. 80 KB
  Научные исследования массовой коммуникации: направления и методы. Науки занимающиеся исследованием массовой коммуникации: Теория коммуникации Социология массовой коммуникации Психология массовой коммуникации Появления новой навой дисциплины Коммуникологии ссылаться на Ф. Шаркова курс лекций по Социологии массовой коммуникации Далее он по тексту: Коммуникология – система сформированных знаний и деятельность по получению новых знаний о коммуникации направленные на интеграцию в единую систему знаний науку включающее: 1 теорию...
45719. Тематические, структурные и графические характеристики, формирующие «лицо» издания. Специфика и особенности газетного оформления. Основные принципы и законы 55 KB
  Но и этого субъективного фактора еще мало для окончательного формирования индивидуального облика газеты. Но при всех обстоятельствах при равных и различных типографских возможностях каждая редакция может добиться графической индивидуализации своей газеты придать большее или меньшее своеобразие ее внешнему облику. Отобранные отработанные и ставшие стабильными приемы и способы оформления и придают газете черты самобытности образующей ее графическую индивидуальность своего рода оформительскую модель данной газеты. Лицо газеты таким...
45720. Современные печатные СМИ: состояние и перспективы развития. Новые информационные технологии и их влияние на СМИ 35 KB
  Новые информационные технологии и их влияние на СМИ. Новые технологии активно внедряются и в полиграфическое производство. Среди новинок – ризография новые цифровые оконечные устройства сопрягаемые с компьютером. Стремительно меняющиеся вкусы нового электората живущего в век видео и его новые запросы во многом формируемые им.
45721. Возникновение и становление периодической печати в России в XVIIIв 50.5 KB
  Ведомости Но подлинным первенцем русской печати были все же Ведомости которые стали издаваться по личному указанию и при личном участии русского царя Петра I типографским способом т. В том же году стала издаваться газета СанктПетербургские ведомости при Академии наук в Петербурге сменившая петровские Ведомости. Ломоносов являлся фактически редактором газеты СанктПетербургские ведомости. Московские ведомости 1755 г.
45722. Основные тенденции развития газетной и журнальной периодики в России в XIX в 63.5 KB
  Основные тенденции развития газетной и журнальной периодики в России в XIX в. Герцен много сделал для развития газетножурнальных жанров революционного издания. В журналистике много места занимает личностный элемент авторитет лидера. Журнал Каткова орагнизованный в 1856.
45723. Журналистика России в период социально-экономических преобразований конца ХХ – начала XXI вв 41 KB
  Журналистика России в период социально-экономических преобразований конца ХХ – начала XXI вв. у федерального правительства из печатных СМИ имелись: Российская газета Российские вести Россия из электронных – телеканалы ОРТ РТР Культура Радио 1 Радио России радиостанция Маяк а также информационные агентства ИТАРТАСС РИАНовости Интерфакс. В постсоветский период в газетном мире России произошли значительные типологические изменения. начала вещание коммерческая российскофранцузская радиостанция Радио России –...
45725. Характеристика групп общественности в связях с общественностью 50.5 KB
  Целевая аудитория –- субъект коммуникационных технологических отношений Для PRкомпаний: целевая общсть – это те социальные субъекты социальные группы организации институты массовые аудитории которые согласно замыслам разработчиков PRкомпании являются или способны быть получателями PRсообщений. Сотрудники менеджеры и организации их объединяющие. Понятия внешней и внутренней общественности связаны с организаций PRмероприятий для социальной организации или института. Внешней открытой общественностью для любого социального...
45726. Структура отечественного PR-рынка 73 KB
  Довольно быстро был пройден период 1988-1991 годов когда на российском рынке PR доминировали зарубежные агентства. Создаются первые отечественные PRагентства: Николо М Имидж-ленд ПР Имидж-контакт. Прежде всего агентства различного типа и специализации prагентства.субъекты: ПР-агентства.