4305

Программная реализация разветвляющихся алгоритмов

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

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

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

Русский

2012-11-16

311.5 KB

95 чел.

Программная реализация разветвляющихся алгоритмов

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

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

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

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

  1.  Изучите теоретические сведения к данной лабораторной работе (п. 4.2)
  2.  Ознакомьтесь с постановкой задачи (п. 4.3). Вариант задания соответствует вашему номеру в списке группы.
  3.  Разработайте блок-схему алгоритма решения поставленной задачи.
  4.  Составьте программу на языке С++ и подготовьте наборы тестовых исходных данных. Выполните отладку  программы на тестовых данных.
  5.  Подготовьте отчет по лабораторной работе. Отчет должен включать в себя:

-  титульный лист;

-  цель лабораторной работы;

-  постановку задачи;

  •  блок схему алгоритма решения поставленной задачи;
  •  текст программы с комментариями;
  •  наборы тестовых исходных данных с соответствующими результатами работы программы (разработайте столько тестовых примеров, чтобы проверить каждую ветвь решения вашей задачи);
  •  краткие ответы на контрольные вопросы;
  •  выводы по лабораторной работе.
  1.  Защитите лабораторную работу перед преподавателем.

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

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

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

- условный оператор (if...else);

- переключатель (switch).

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

4.2.1. Логические значения и выражения 

Язык Си++ унаследовал от языка Си соглашение, согласно которому целочисленные значения и, соответственно, арифметические выражения, дающие целочисленный результат, могут в зависимости от контекста трактоваться как логические, если они встречаются там, где предусмотрено наличие логического значения (выражения-условия в условных операторах и операторах цикла). Целое значение 0 считается логическим "false" (ложное значение), а ненулевое целое – логическим "true" (истинным значением). Кроме того, в языке Си++ был еще добавлен специальный логический тип bool. Переменные типа bool могут принимать значения true и false, которые при необходимости автоматически преобразуются в выражениях в значения 1 и 0. Тип данных bool можно использовать в программах точно так же, как и другие базовые типы, такие как int, char, float, double и др. (например, для описания переменных, принимающих логические значения, или для создания функций, возвращающих значения типа bool).

В языке С++ определены следующие  логические операции:

&&                   И

||                        ИЛИ

!                         НЕ

Операции && и || являются бинарными, а операция ! – унарной. Типы первого и  второго  операндов могут  быть различными. Операнды логических выражений вычисляются  слева направо. Если значения первого операнда  достаточно,  чтобы определить результат операции, то второй операнд не вычисляется.

Приоритет у логических && и ||  операций ниже, чем у операций отношения.

Логическая операция И (&&) вырабатывает  значение  1 (истина),  если  оба операнда  имеют  ненулевое значение. Если один из операндов равен 0 (ложь), то результат также равен нулю. В табл. 4.1 показаны результаты логической операции И для различных значений операндов.

Таблица 4.1 – Результаты логической операции И

операнд1

операнд2

операнд1 && операнд2

1

1

1

1

0

0

0

1

0

0

0

0

Если значение первого  операнда   равно нулю, то второй операнд не вычисляется.

               

Логическая  операция  ИЛИ (||) вырабатывает значение  0,  если оба  операнда  имеют  значение  0. Если какой-либо из операндов имеет ненулевое значение, то результат операции равен  1.  Если  первый операнд имеет ненулевое значение, то второй операнд не вычисляется. В табл. 4.2 показаны результаты логической операции ИЛИ для различных значений операндов.

Таблица 4.2 – Результаты логической операции ИЛИ

операнд1

операнд2

операнд1 || операнд2

1

1

1

1

0

1

0

1

1

0

0

0

Логическая  операция  НЕ (!) вырабатывает значение  1 (истинно), если операнд имеет значение ложно ( 0 ) и наоборот.

Интуитивно логические выражения наподобие "2<7", "1.2!=3.7" и "6>=9" воспринимаются человеком как утверждения, которые могут быть "истинными (true)" или "ложными (false)" (логическая операция "!=" означает "не равно"). Допускается объединение нескольких подобных выражений в более сложное выражение с помощью логических операций "&&" ("И"), "||" ("ИЛИ") и "!" ("НЕ").

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

Таблица 4.3. – Примеры логических выражений

Выражение

Значение выражения

(6 <= 6) && (5 < 3)

(6 <= 6) || (5 < 3)

(5 != 6)

(5 < 3) && (6 <= 6) || (5 != 6)

(5 < 3) && ((6 <= 6) || (5 != 6))

!((5 < 3) && ((6 <= 6) || (5 != 6)))

false

true

true

true

false

true

По приоритетам от высшего к низшему операции отношения и логические операции располагаются следующим образом:

                              !

                              >   >=     <    <=

                               = =     !=

                               &&

                              ||       

В таблице в четвертом примере выражение истинно, поскольку приоритет операции "&&" выше, чем у "||". Приоритет (порядок выполнения) различных операций Си++ можно узнать в учебнике или руководстве по языку Си++, а также в справочной системе Visual C++ (тема Operator Precedence). Если у вас возникают сомнения относительно приоритета операций, применяйте круглые скобки (). Применение этих скобок облегчает чтение программ.

Составные логические выражения обычно применяются в качестве условий в операторах if и в циклах for. Например:

...

...

if ( total_test_score >= 50 && total_test_score < 65 )

cout << "Вы прошли тест со средним результатом.\n";

...

...

Поскольку в Си++ истинное значение ("true") представляется в виде целого числа 1 (большинство компиляторов любое положительное число считают истинным значением), а ложное значение ("false") – в виде значения 0, то это может привести к ошибкам. Например, легко напечатать "=" вместо "= =". Поэтому фрагмент программы

...

if ( number_of_people = 1 )

cout << "Есть только один человек.\n";

...

всегда будет выводить сообщение "Есть только один человек", даже если до оператора if переменная "number_of_people" была больше 1.

4.2.2. Условная операция 

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

выражениие_1 ? выражение_ 2 : выражение_ 3

Первым вычисляется значение выражения_1. Если оно истинно, т.е. не равно нулю, то вычисляется значение выражения_2, которое становится результатом условной операции. Если при вычислении выражения_1 получится 0, то в качестве результата берется значение выражения_3. Классический пример:

х < 0 ? -х : х ;

Данное выражение возвращает абсолютное значение переменной х.

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

4.2.3. Условный оператор 

Условный оператор может иметь одну из двух форм: или полную форму – ifelse, или сокращенную форму – if …(т.е. без else).

В случае полной формы синтаксис условного оператора имеет вид:

      if  (выражение-условие)

оператор1   

               else

                   оператор2 

Такой условный оператор работает следующим образом. Вычисляется выражение-условие, и, если оно истинно (т.е. значение выражения отлично от нуля), то выполняется оператор1, а если выражение-условие ложно (значение выражения равно нулю), то выполняется оператор2.

Пример 4.1.  

/*Выполнение деления в программе

с проверкой делителя на равенство   нулю*/

#include <stdio.h>

#include < conio.h >

int main()

{ float x,y ;

puts( "Введите делимое и делитель");

 scanf("%f  %f", &x, &y);

if (y==0.0)

   puts("На нуль делить нельзя !");

else

  printf( "Частное равно %f \n", x/y);

getch();

return 0; }

В условном операторе в качестве оператора1 и/или оператора2 могут использоваться  несколько операторов, тогда эту группу операторов следует заключить в фигурные скобки, чтобы превратить несколько операторов в один составной оператор (или блок).

Пример 4.2. 

/* Эта программа запрашивает у пользователя текущий год, возраст

пользователя и еще один год. Затем программа вычисляет возраст

пользователя, который будет у него во втором введенном году.*/

#include <iostream>

#include < conio.h >

using namespace std;

int main()

{

int year_now, age_now, another_year, another_age;

cout << "Введите текущий год и нажмите ENTER.\n";

cin >> year_now;

cout << "Введите свой возраст (в годах).\n";

cin >> age_now;

cout << "Введите год, для которого вы хотите узнать свой возраст.\n";

cin >> another_year;

another_age = another_year - (year_now - age_now);

if (another_age >= 0)

{

cout << "В " << another_year << " году вам ";

cout << another_age << "\n";

}

else

{

cout << "В " << another_year << " вы еще не родились!\n";

}

getch();

return 0; }

Синтаксис сокращенной формы условного оператора выглядит так:

      if  (выражение-условие)

оператор   

В этом случае работа условного оператора заключается в следующем: если выражение-условие истинно, то выполняется оператор из тела оператора if, а если выражение ложно, то никакие действия в теле оператора if не выполняются, и управление сразу передается на оператор, следующий по тексту программы за оператором if.

Пример 4.3. 

/*Программа, выполняющая сортировку трех введенных чисел

по возрастанию*/

#include <iostream>

#include <conio.h>

using namespace std;

void main()

{

float a,b,c,h;

cout<<"Введите 3 числа";

 cin>>a>>b>>c;

 cout<<"Исходная последовательность a="<<a;

 cout<<" b="<<b<<" c="<<c<<endl;

 if(a>b)

  {

    h=a;

    a=b;

    b=h;

    }

  if(a>c)

   {

    h=a;

    a=c;

    c=h;

    }

    if(b>c)

     {

      h=b;

      b=c;

      c=h;

      }

   cout<<"Упорядоченная по возрастанию последовательность a="<<a;

   cout<<" b="<<b<<" c="<<c<<endl;

   getch();  }

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

Пример 4.4. 

//Фрагмент программы, иллюстрирующий использование

//вложенных друг в друга условных операторов

...

if (total_test_score < 50)

cout << "Вы не прошли тест. Выучите материал как следует.\n";

else if (total_test_score < 65)

        cout << "Вы прошли тест со средним результатом.\n";

      else if (total_test_score < 80)

                cout << "Вы хорошо выполнили тест.\n";

             else if (total_test_score < 95)

                      cout << "Вы показали отличный результат.\n";

                     else

                        {

                         cout << "Вы сдали тест нечестно!\n";

                         total_test_score = 0;

                        }

...

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

В этих цепочках вложенности каждый из условных операторов (после проверяемого условия и после else) может быть как полным условным, так и иметь сокращенную форму записи. Чтобы не допустить ошибок неоднозначного сопоставления if и else, которые могут возникать при одновременном использовании вложенных условных операторов как в полной, так и в сокращенной форме, следует при написании программ руководствоваться следующим синтаксическим правилом языка С++: каждый  else связывается с ближайшим предыдущим if, не имеющим else.

Например, в

if ( n > 0 )

   if( a > b )

           z = a;

   else

           z = b;

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

 if (n > 0)

   { if (a > b)

           z = a;

    }

else

   z = b;

4.2.4. Переключатель switch

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

Переключатель имеет следующий синтаксис:

switch (селектор)

{

case константное_выражение_1 : <операторы1>

...

...

...

case константное_выражение_N : <операторыN>

default : <операторы>

}

Управляющая конструкция switch передает управление к тому из помеченных с помощью case операторов, для которого значение константного выражения совпадает со значением селектора. Селектор (переключающее выражение) должен быть целочисленным или символьным (короткое целое). Значения константных выражений, помещаемых за служебными словами case, приводятся к типу селектора. В одном переключателе все константные выражения должны иметь различные значения, но быть одного типа. Любой из операторов, помещенных в фигурных скобках после конструкции switch (...), может быть помечен одной или несколькими метками вида

case константное_выражение:

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

Сами по себе метки case константное_выражение_j: и default: не изменяют последовательности выполнения операторов. Если не предусмотрены переходы или выход из переключателя (который выполняется с помощью оператора break), то в переключателе последовательно выполняются все операторы, начиная с той метки, на которую передано управление.

Пример 4.5. 

//Программа выводит на экран названия нечетных целых цифр,

//не меньших заданной
#include < iostream >

#include <conio.h>

using namespace std;

void main ()
{ int ic;
cout << "\n
Введите любую десятичную цифру:";
cin >> ic;
cout << '\n';
switch (ic)
{ case 0: case 1: cout << "
один,";
case 2: case 3: cout << "
три,";
case 4: case 5: cout << "
пять,";
case 6: case 7: cout << "
семь,";
case 8: case 9: cout << "
девять.";

break;

default: cout << "Ошибка! Это не цифра!";

}

getch();

}
Результаты двух выполнений программы:

Введите любую десятичную цифру:
4 < Enter > пять, семь, девять
Введите любую десятичную цифру:
z < Enter > Ошибка! Это не цифра!

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

Пример 4.6. 

В приведенном выше примере 4.4 сообщение для печати выбирается в зависимости от значения переменной "total_test_score". Это может быть произвольное целое число в диапазоне от 0 до 100. Диапазон проверяемых значений можно сузить, если учесть, что оценка теста проверяется с точностью до 10-ти баллов. Введем дополнительную целочисленную переменную "score_out_of_ten" и присвоим ей значение:

score_out_of_ten = total_test_score/10;

Теперь проверку в программе можно сформулировать так:

(1) если переменная "score_out_of_ten" равна 0, 1, 2, 3 или 4, то печатать сообщение "Вы не прошли тест. Выучите материал как следует.",

(2) если "score_out_of_ten" равна 5, то печатать сообщение "Вы прошли тест со средним результатом." и т.д.

В целом оператор "switch" будет выглядеть так:

//Фрагмент программы, иллюстрирующий использование

//оператора switch для организации множественного ветвления

...

score_out_of_ten = total_test_score / 10;

switch ( score_out_of_ten )

{

case 0 : case 1 : case 2 : case 3 : case 4 :

cout << "Вы не прошли тест. Выучите материал как следует.\n";

break;

case 5 :

cout << "Вы прошли тест со средним результатом.\n";

break;

case 6 : case 7 :

cout << "Вы хорошо выполнили тест.\n";

break;

case 8 : case 9 : case 10 :

cout << "Вы показали отличный результат.\n";

break;

default :

cout << "Вы выполнили тест нечестно\n";

сout << "(оценка не должна быть больше 100 баллов)!\n";

}

...

4.3 Варианты заданий

Вариант №1.

С клавиатуры вводится натуральное число n () - возраст человека в годах. Вывести это числовое значение на экран следующим образом: например, 21 год, 42 года, 17 лет.

Вариант №2.

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

Вариант №3.

С клавиатуры вводится целое четырехзначное число. Если сумма      1-ой и 2-ой цифр числа больше, чем сумма 3-ей и 4-ой цифр, то вывести на экран сумму всех цифр; если меньше – среднее арифметическое всех цифр; если суммы равны - произведение всех цифр.

Вариант №4.

С клавиатуры вводится действительное число а. Для функции f(x), график которой представлен на рисунке, вычислить f(а).

Вариант №5.

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

Вариант №6.

В  киоске  продается  газета  стоимостью  5 руб.  и  журнал стоимостью 80 руб.  Составить  программу,  которая  спрашивает  о желании покупателя (журнал или газета) и  принимает деньги (сумма вводится с клавиатуры). В том случае, если указанная сумма больше, чем стоимость покупки, на экран выводится сумма сдачи. Если уплаченных денег недостаточно, то выдается соответствующее сообщение.

Вариант №7.

Дано действительное число а. Вычислить f(a), где f – периодическая функция с периодом 2, совпадающая на отрезке [-1, 1] с функцией, график которой изображен на рисунке.

Вариант №8.

Дано действительное число а. Вычислить f(a), где f – периодическая функция с периодом 1,5, совпадающая на отрезке [0, 1,5] с функцией, график которой изображен на рисунке.

Вариант №9.

Даны действительные числа х и у. Произвести следующие действия:

  •  если х и у отрицательны, то каждое значение заменить его модулем;
  •  если отрицательно только одно из них, то оба значения увеличить на 0,5;
  •  если оба значения неотрицательны, то оба значения уменьшить в 10 раз;
  •  в остальных случаях х и у оставить без изменений.

Вариант №10.

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

это цифра;

это буква;

это другой символ.

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

Вариант №11.

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

– программа  должна запрашивать значения операндов и операцию;

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

Результат работы программа должна выводить в виде:

операнд1 операция  операнд2  = результат,    например    2*3=6.

Вариант №12.

Дано целое четырехзначное число. Проверить, является ли данное число палиндромом (перевертышем), как, например, числа 1221, 6666 и т.п.

Вариант №13. 

Дано действительное число а. Для функции f(x), график которой представлен на рисунке, вычислить f(а).

Вариант №14.

Напишите программу  для  вычисления и вывода на экран корней квадратного уравнения ax² + bx + c = 0.  Значения коэффициентов уравнения вводите в диалоговом режиме.

Вариант №15.

Даны действительные числа x, y, z. Проверить, нет ли среди них одинаковых чисел и выдать соответствующее сообщение. Если среди данных чисел нет одинаковых, то большее из x, y, z заменить средним арифметическим двух оставшихся значений.

Вариант №16. 

Даны три натуральных числа, которые обозначают число, месяц и год соответственно. Проверить корректность этой даты (например, 30 февраля 1900 года – некорректная дата). Найти номер этого дня с начала года.

Вариант №17.

Даны действительные числа х, у. Определить, принадлежит ли точка с координатами (х, у) заштрихованной части плоскости.

Вариант №18. 

Даны действительные числа х, у. Определить, принадлежит ли точка с координатами (х, у) заштрихованной части плоскости.

Вариант №19.

Пусть D – заштрихованная часть плоскости. Действительные числа (х, у) – координаты точки на плоскости. Найти значение функции f(x, y), которая определена следующим образом:

 

Вариант №20.

Дан номер года. Указать число дней в этом году. (Принять во внимание, что каждый год, номер которого делится на 4, является високосным, за исключением тех номеров, которые делятся на 100 и не делятся на 400).

Вариант №21.

Дано  натуральное  число n (n <=1000).  Определить, чему равна сумма его цифр S. Вычислить f(S), если

Вариант №22.

Даны действительные числа a, b, c. Выяснить, существует ли треугольник с длинами сторон a, b, c. Если такой треугольник существует, проверить, является он прямоугольным, остроугольным или тупоугольным.

Вариант №23.

П

усть D – заштрихованная часть плоскости. Действительные числа (х, у) – координаты точки на плоскости. Найти значение функции f(x, y), которая определена следующим образом:

 

Вариант №24.

Присвоить  целой переменной h третью от конца цифру в записи целого положительного числа k . Вычислить f(h), если

Вариант №25.

Дано целое четырехзначное число х. Если в исходном числе х есть ровно две одинаковые цифры, то найти произведение двух других цифр. В противном случае подсчитать сумму всех цифр числа x.

Вариант №26.

Дано целое четырехзначное число х. Вывести на экран сообщение о том, сколько в данном числе одинаковых цифр и каково их значение.

Вариант №27.

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

это цифра;

это буква;

это другой символ.

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

Вариант №28.

Пусть D – заштрихованная часть плоскости. Действительные числа (х, у) – координаты точки на плоскости. Найти значение функции f(x, y), которая определена следующим образом:

 

Вариант №29.

Пусть D – заштрихованная часть плоскости. Действительные числа (х, у) – координаты точки на плоскости. Найти значение функции f(x, y), которая определена следующим образом:

Вариант №30.

Даны числа X1,Y1,X2,Y2,X3,Y3, - координаты трех каких-то вершин прямоугольника в прямоугольной системе координат. Вычислить и напечатать координаты четвертой вершины.

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

  1.  Опишите синтаксис условного оператора ifelse.
  2.  В чем отличие операции условия от условного оператора ifelse?
  3.  Как организуется вложенность операторов ifelse?
  4.  Как реализовать в программе пользовательское меню, используя переключатель switch?
  5.  Написать на языке С++ программу, которая определяет большее из 3-х заданных чисел.

PAGE  2


EMBED Word.Picture.8  

х

-1

1

1

0

у=1-х3

y

у

х

1

0

1,5

-0,5

  1.  

 

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

63895. АНАЛИЗ ФИНАНСОВОГО СОСТОЯНИЯ И ФИНАНСОВОЙ УСТОЙЧИВОСТИ ООО «ИНАВТОСЕРВИС» 453.5 KB
  Финансовое состояние предприятия на момент исследования; тенденции и закономерности в развитии предприятия за исследуемый период; «узкие» места, отрицательно влияющие на финансовое состояние предприятия; резервы, которые предприятие может использовать для улучшения финансового состояния.
63896. Анализ феномена психопатологии на современном этапе развития общества 26.96 KB
  В некоторых вопросах современная медицина в лице психологии и психотерапии с их технологическими нововведениями признают свое бессилие говоря о том что душа человека как и ее свойства нормальные и патологические до конца не изучены. Утверждают что человеческое сознание формируется в результате исторического развития...
63897. Институт детства – что дальше? 36.5 KB
  Если сравнить прошлое и настоящее, детей современности и детей прошлого, детей XX века и детей начала XXI века, то мы заметим многие интересные черты. Предположим, что дети прошлого воспитывались в достаточно традиционной культуре...
63898. Этнические стереотипы и механизмы их становления 22.74 KB
  Мы пришли к выводу что в культуре отдельного народа и этноса можно отнести к стереотипам следующее: вербальное поведение; невербальное поведение мимика жесты телодвижения; национальный характер и представления о нем другими нациями...
63899. Трансформация института семьи 19.67 KB
  Семья базовая ячейка общества один из важнейших социальных институтов государства. В процессе радикальных социальных изменений вызванных модернизацией и глобализацией традиционные семьи находятся на распутье выбирая и балансируя между сохранением традиций...
63900. Образ «за границы» в глазах молодежи 37 KB
  В целом те кто был заграницей оценивают ее по следующим критериям: Климату: Невыносимая жара надоедает существует опасность стихийных бедствий. В России образование хуже чем заграницей. Психоэмоциональным оценкам: Заграницей другие люди.
63901. Стереотипная идентификация: восприятие представителей различных национальностей за границей 20.83 KB
  В первом вопросе предлагалось выбрать от 1 до 3 вариантов ответа в случае подтверждения факта общения с представителями какой либо из 3 национальностей китайцы корейцы японцы и отметить период знакомства указать в 10 летнем периоде или выбрать пункт никогда не сталкивался.
63902. Эмоциональные реакции, маркирующие трансгрессивный переход 36 KB
  Случается ли в бытии человека такая настроенность которая подводит его к самому Ничто и отвечает Ужас приоткрывает Ничто Но действительно ли это настроенность подводит человека к Ничто или всё же ситуация столкновения с Ничто вызывает эту настроенность Мы всё же возьмём ужас...
63903. Трансгрессия глобальной системы международно-правового регулирования 65.5 KB
  Основой глобального права может быть только международное право которое уже приобрело некоторые черты универсального регулятора. Глобализация это состояние мировой экономической системы охватывающей весь спектр человеческой деятельности происходящей от углубленной...