848

Программирование математических задач с использованием классов и методов языка C#

Курсовая

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

Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления. Результаты машинного тестирования программы. Описание вычислительных методов. Ручной подсчёт отладочного варианта.

Русский

2013-01-06

960.5 KB

127 чел.

СОДЕРЖАНИЕ

НОРМАТИВНЫЕ ССЫЛКИ……………………………………………………..5

ВВЕДЕНИЕ…………………………………………………………………….….6

1 ЗАДАНИЕ №1…………………………………………………………………...7

  1.   Формулировка задачи…………………………………………..........7
    1.   Спецификация задачи…………………………………………..........7
    2.   Математическая постановка задачи……………………………...…7
    3.   Описание вычислительных методов……………………………......8
    4.   Схема алгоритма. Описание………………………………………..9
    5.   Текст программы……………………………………………………11
    6.   Ручной просчет отладочного варианта…………………………….13
    7.   Результаты машинного тестирования программы………………..13

2 ЗАДАНИЕ №2……...…………………………………………………………..15

2.1 Формулировка задачи……………………………………………….15

2.2 Спецификация задачи……………………………………………….15

2.3 Математическая постановка задачи………………………………..15

2.4 Описание вычислительных методов…………………………….....16

2.5 Схема алгоритма. Описание………………………………………...17

2.6 Текст программы ……………………………………………………19

2.7 Ручной просчет отладочного варианта…………………………….19

2.8 Результаты машинного тестирования……………………………...20

ЗАКЛЮЧЕНИЕ………………………………………………………………….21

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ……………………………….22

ПРИЛОЖЕНИЕ А………………………………………………………………23

ПРИЛОЖЕНИЕ Б………………………………………………………………..26

ПРИЛОЖЕНИЕ В………………………………………………………………..32

 

 

НОРМАТИВНЫЕ ССЫЛКИ

В настоящей пояснительной записке используются ссылки на следующие нормативные документы:

ГОСТ 7.32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления».

ГОСТ 2.105-95 «Общие требования к текстовым документам»

ГОСТ Р 7.0.5-2008 «Библиографическая ссылка. Общие требования и правила составления»

ГОСТ 7.1-2003 «Библиографическая запись. Библиографическое описание. Общие требования и правила составления»

ГОСТ 7.80-2000. «Библиографическая запись. Заголовок. Общие требования и правила составления»

ГОСТ 19.701-80 – ЕСПД. Схемы алгоритмов, программ, данных и систем.


ВВЕДЕНИЕ

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

Данная курсовая работа направлена на подробное изучение классов и методов языка C#. С этой целью будет реализовано программирование математических задач. Также данная курсовая работа способствует закреплению полученных на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.
             
1 ЗАДАНИЕ №1

1.1 Формулировка задачи

Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления.

1.2 Спецификации задачи

Входные данные:

  •  Число в десятичной, восьмеричной или двоичной системе счисления (Вводится с клавиатуры).

Выходные данные:

  •  Число, переведённое в выбранную пользователем систему счисления.

1.3 Математическая постановка задачи

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

Общее описание алгоритма.  Примем, что переводимое число будет вводиться вовремя работы программы после того, как будет указано основание(1) позиционной системы исчисления(2) этого числа.

Вводимое число заносится в строковую переменную s, так как это необходимо для упрощения работы программы. В зависимости от выбранного основания системы счисления переводимого числа s переменная q1 будет принимать значения: 2, 8 или 10. Также, в зависимости от выбранного основания системы счисления, в которую будет выполняться перевод s, изменяется переменная q2. Впоследствии s преобразуется в выбранную систему счисления исходя из значения q2.

Таблица 1 – Характеристика переменных

Имя перемен-ной

Смысл переменной

Назначение переменной

Ограничения

s

Переводимое число

Исходная

Целая, положительная

q1

Основание переводимого числа

Промежуточная

10, 8 или 2

q2

Основание числа в которое выполняется перевод

Промежуточная

10, 8 или 2

s

Переведённое число

Результат

1.4 Описание вычислительных методов

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

             (1)

где ai – цифры системы счисления;

n и m – число целых и дробных разрядов, соответственно.

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

а) Перевод целого числа из десятичной системы в другую позиционную систему счисления:

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

б) Перевод числа из двоичной, восьмеричной, системы в десятичную:

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

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

1.5 Схема алгоритма. Описание

Метод From_To (код приведён в листинге 1) класса Translation  выполняет перевод числа из одной позиционной системы счисления в другую.

Программа состоит из шести условий. В первую очередь пользователь указывает систему счисления вводимого числа с помощью соответствующего переключателя (по умолчанию десятичная). Программой выполняется проверка первых трёх условий:

  •  Если выбрана десятичная система счисления q1 принимает значение 10;
  •  Если выбрана восьмеричная система, то q1 принимает значение 8;
  •  Если же выбрана двоичная система, то q1 соответственно принимает значение 2.

Затем вводится само число и теми же переключателями выбирается система счисления, в которую нужно перевести число. По нажатию кнопки «Перевести» аналогичным образом происходит проверка условий для переменной q2, а затем вызов метода From_To, которому передаются значения s, q1 и q2. Выводится результат.

В программе предусмотрена обработка исключений. Если пользователь ввёл не цифру, а например, букву цифру не соответствующую двоичной системы, программа выдаст ошибку. Блок проверки на ошибки содержится в методе From_To (смотри листинг 1).

Листинг 1 - Блок проверки на ошибки

class Translation

       {

           public string From_To(string x, int q1, int q2) // Метод обеспечивающий перевод из q1-ичной в q2-ичную систему исчисления (С.И.)

           {

               long l = 0;

               string s;

               try { l = Convert.ToInt64(x, q1); s = Convert.ToString(l, q2); }

               catch { s = "Ошибка!!!"; }

               return s;

           }

       }

Схема алгоритма приведена в приложении А.


1.6 Текст программы

Код программы приведён в листинге 2.

Листинг 2 – Код программы к заданию 1

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

   public partial class Form1 : Form

   {

       public int q1 = 0; // Основание переводимого числа

       public int q2 = 0; // Основание числа в которое выполняется перевод

       string s = "";     // Результат

       class Translation

       {

           public string From_To(string x, int q1, int q2) // Метод обеспечивающий перевод из q1-ичной в q2-ичную систему счисления (С.C.)

           {

               long l = 0;

               string s;

               try { l = Convert.ToInt64(x, q1); s = Convert.ToString(l, q2); } // Сгенерировано исключение

               catch { s = "Ошибка!!!"; }

               return s;

           }

       }

       public Form1()

       {

           InitializeComponent();

           radioButton1.Checked = true; // После запуска формы выбрана 10-тичная С.C.

       }

       private void button1_Click(object sender, EventArgs e) // Кнопка "Закрыть"

       {

           Close(); // Закрытие программы

       }

       private void button2_Click(object sender, EventArgs e) // Кнопка "Очистить"

       {

           textBox1.Clear(); // Очистка textBox1

       }

       private void textBox1_TextChanged(object sender, EventArgs e)

       {

           s = textBox1.Text;

           // ВЫБОР С.C. ВВЕДЁННОГО ЧИСЛА

           if (radioButton1.Checked == true) // Десятичная

           {

               q1 = 10;

           }

           if (radioButton2.Checked == true) // Восьмиричная

           {

               q1 = 8;

           }

           if (radioButton3.Checked == true) // Двоичная

           {

               q1 = 2;

           }

       }

       private void button3_Click(object sender, EventArgs e) // Кнопка "Перевести"

       {

           Translation x = new Translation(); // Создание копии класса Translation

           // ВЫБОР С.С. числа в которую будет переведенно исходное

           if (radioButton1.Checked == true) // в десятичную

           {

               q2 = 10;

           }

           if (radioButton2.Checked == true) // в восьмиричную

           {

               q2 = 8;     

           }

           if (radioButton3.Checked == true) // в двоичную

           {

               q2 = 2;  

           }

           textBox1.Text = x.From_To(s, q1, q2); // Перевод числа с помощью метода From_To класса Translation с непосредственным выводом результата в textBox1

       }

       private void radioButton1_CheckedChanged(object sender, EventArgs e)

       {

       }

       private void Form1_Load(object sender, EventArgs e)

       {

       }

   }

}


1.7 Ручной подсчёт отладочного варианта

Воспользовавшись правилами перевода приведенными в пункте «математической постановке задачи» выполним руной подсчёт:

Переведём число 75 из десятичной системы в двоичную, восьмеричную.

                    в двоичную:          в восьмеричную:      

75   

1

2

75

8

37

2

3

9

8

1

18

2

1

1

0

9

2

1

4

2

0

2

2

0

1

Ответ: 7510 = 1 001 0112 = 1138 

Выполним обратный перевод числа по формуле 1(Сверху указаны разряды):

6

5

4

3

2

1

0

1

0

0

1

0

1

12 = 1*26+1*25+1*24+1*23+1*22+1*21+1*20 = 7510

2

1

0

1

1

38

= 1*82+1*81+3*80 = 7510

1.8 Результат машинного тестирования программы

Ввод данных представлен на рисунке 1. Вывод числа переведённого в двоичную и восьмеричную систему счисления представлен на рисунке 2 и рисунке 3 соответственно. Результат машинного тестирования совпадает с ручным подсчётом.

Рисунок 1 – Ввод числа

Рисунок 2 – Перевод числа в двоичную систему

Рисунок 3 – Перевод числа в восьмеричную систему


2 ЗАДАНИЕ №2

2.1 Формулировка задачи

Дана матрица размера n*n. Развернуть ее на 90°, 180°, 270°. Сосчитать сумму элементов главной диагонали всех матриц и найти их определители.

2.2 Спецификации задачи

Входные данные:

  •  Порядок квадратной матрицы n.

Выходные данные:

  •  Исходная матрица A;
  •  Матрица A, развёрнутая на 90°, 180° и 270°;
  •  Суммы главных диагоналей исходной, развёрнутой на 90°, 180° и 270° матриц sum1, sum2, sum3, sum4 соответственно;
  •  Определители всех матриц det1, det2, det3 и det4.

2.3 Математическая постановка задачи

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

Общее описание алгоритма. Пользователь вводит с клавиатуры порядок матрицы n. Затем массив A (матрица) размером nxn заполняется случайным образом. Суммы главных диагоналей исходной, развёрнутой на 90°, 180° и 270° матриц заносятся в переменные sum1, sum2, sum3, sum4 соответственно. Вычисленные определители всех матриц аналогично заносятся в переменные det1, det2, det3 и det4. Каждая переменная содержащая значение определителя или суммы элементов главной диагонали зависит только от соответствующего ей массива (матрицы).

Таблица 2 – Характеристика переменных

Имя

Смысл переменной

Назначение

Ограничения

n

Размер кв. матрицы

Исходная

Целый тип данных

A

Исходный массив

Исходная/Результат

sum1

Сумма эл. главной диагонали исходной матрицы

Результат

sum2

Сумма эл. главной диагонали матрицы  развёрнутой на 90°

Результат

sum3

Сумма элементов главной диагонали матрицы развёрнутой на 180°

Результат

sum4

Сумма эл. главной диагонали матрицы развёрнутой на 270°

Результат

det1

Определитель исходной матрицы

Результат

det2

Определитель матрицы  развёрнутой на 90°

Результат

det3

Определитель матрицы  развёрнутой на 180°

Результат

det4

Определитель матрицы  развёрнутой на 270°

Результат

x

Объект класса Random

Промежуточная

i

Счётчик цикла

Промежуточная

j

Счётчик цикла

Промежуточная

2.4 Описание вычислительных методов

Квадратной матрицей называется матрица, у которой число строк равно числу столбцов. Квадратная матрица A имеет вид:

                               (2)

Сумма элементов главной диагонали матрицы - это сумма элементов, у которых номер (индекс) строки равен номеру столбца:

Для квадратной матрицы может быть введено понятие детерминанта,     или определителя. Детерминант матрицы A обозначают  Детерминантом матрицы A порядка   называют  число:

  1.                                                                      (4)
  2.                   (5)
  3.  Для  можно воспользоваться методом Гаусса

Метод Гаусса заключается в следующем: Сначала, при помощи элементарных преобразований над матрицей производится обнуление элементов под главной диагональю, т.е. матрица приводится к верхнетреугольному виду. Затем определитель находится как произведение элементов, лежащих на главной диагонали (формула 6).

      (6)

2.5 Схема алгоритма. Описание

В первую очередь пользователь вводит порядок матрицы n. Затем при помощи метода Next объекта x - экземпляра класса Random массив A заполняется случайным образом во вложенном цикле.

Далее над каждой матрицы производятся следующие действия:

Матрица при помощи метода PrintArray выводится на экран.

Затем по формуле (3) вычисляется сумма элементов главной диагонали. Это осуществляет метод SumDiag.

Далее вычисляется определитель матрицы при помощи метода Det. Его работа заключается в следующем: при помощи вложенного цикла for создаётся копия передаваемого методу массива. Создание копии необходимо для того, чтобы не изменить исходный массив пи реализации метода Гаусса. Далее идёт проверка условия. Если , то программа переходит ко вложенному оператору if: если , то нахождение определителя выполняется по формуле (4), если нет, то программа переходит к следующему оператору if, в котором: если , то нахождение определителя выполняется по формуле (5). Если же , то нахождение определителя выполняется с помощью метода Гаусса.

Производится поворот матрицы на 90° с помощью метода Rotation. Поворот реализован очень просто, а именно: Задаётся массив B с тем же количеством элементов, что и у исходного A. Массив B заполняется вложенным циклом for элементами массива A по следующему правилу: индекс строки элемента массива B равен индексу столбца элемента массива A, а индекс столбца элемента B равен переменной m, изначально m = n – 1 (индекс последнего столбца), которая уменьшается на 1 с каждой итерацией внешнего цикла.

Примечание: поворот на 180° и 270° реализуется двойным и тройным вызовом метода Rotation, так как 180°=2*90° и 270°=3*90°, т.е. достаточно развернуть исходную матрицу два и три раза соответственно.

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

Листинг 3 – Блок проверки на ошибки

catch (System.FormatException)                                        // Первый блок catch  

           {

               Console.WriteLine("Вы ввели недопустимый знак(возможно букву)");

               return;

           }

Схема алгоритма приведена в приложении Б.

2.6 Текст программы

Т.к. текст программы занимает достаточно большой объём, он приведен в приложении В ( листинг 4).

2.7 Ручной подсчёт отладочного варианта

Пусть порядок матрицы , исходная матрица , тогда сумма диагоналей: .

Найдём определитель матрицы A методом Гаусса:

  1.  Преобразуем матрицу к верхнетреугольному виду

  1.  Вычислим определитель, сложив элементы главной диагонали  1*(-15)*5,07 = 76

Аналогично и для остальных матриц. Нам достаточно подсчёта значений для исходной матрицы.


2.8 Результат машинного тестирования программы

Результат работы данной программы представлен на рисунке 4. Он совпадает с ручным расчётом задачи.

Рисунок 4 – Результат тестирования программы


ЗАКЛЮЧЕНИЕ

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

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


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1.  Павловская Т.А. C#. Программирование на языке высокого уровня: учебник для вузов. – СПб.: Питер, 2007. – 432 с.
  2.  Шилдт Г. C# 4.0: полное руководство. Пер. с англ. – М.: Вильямс, 2011.
  3.  Письменный Д. Т. Конспект лекций по высшей математике. Полный курс. — М.: Айрис-пресс, 2006. — 608 с.


ПРИЛОЖЕНИЕ А

Блок-схема к заданию №1

Метод textBox1_TextChanged (выбор с.c. введённого числа)

 


Метод From_To


ПРИЛОЖЕНИЕ Б

Блок-схема к заданию №2

 


Метод SumDiag

 

Метод Rotation

 


Метод PrintArray

 


Метод Det

j

 


ПРИЛОЖЕНИЕ В

Листинг 4 – код программы к заданию 2

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

   class Program

   {

       class Matrix

       {

           public void Rotation(float[,] A) // Поворот на 90 градусов

           {

               int n = A.GetLength(0); // Получение длинны строк

               float[,] B = new float[n, n]; // Вспомогательный массив

               int m = n; // Вспомогательная переменная

               /*ПОВОРОТ, ПРИСВОЕНИЕМ ЭЛЕМЕНТОВ A ЭЛЕМЕНТАМ B ПО ОПР. ЗАКОНОМЕРНОСТИ*/

               for (int i = 0; i < n; i++)

               {

                   m = m - 1;

                   for (int j = 0; j < n; j++)

                   {

                       B[j, m] = A[i, j];

                   }

               }

               /*ПРИСВОЕНИЕ КАЖДОМУ ЭЛ. А СООТВЕТСТВУЮЩЕГО ЭЛ. В*/

               for (int i = 0; i < n; i++)

               {

                   for (int j = 0; j < n; j++)

                   {

                       A[i, j] = B[i, j];

                   }

               }

           }

           public float SumDiag(float[,] A) // Сумма эл. главной диагонали

           {

               float sum = 0;

               int n = A.GetLength(0);

               for (int i = 0; i < n; i++)

               {

                   sum += A[i, i];

               }

               return sum;

           }

           public float Det(float[,] A)

           {

               float result = 1;

               int n = A.GetLength(0); // Порядок матрицы. Он равен и числу столбцов, и числу строк; мы приравняем его к числу строк

               float[,] B = new float[n, n];

               for (int i = 0; i < n; i++) // Создаём копию исходной матрицы, чтобы она осталась не изменной

               {

                   for (int j = 0; j < n; j++)

                   {

                       B[i, j] = A[i, j];

                   }

               }

               if (n <= 2)

               {

                   if (n == 1) { result = B[0, 0]; }

                   else { result = B[0, 0] * B[1, 1] - B[0, 1] * B[1, 0]; }

               }

               else

               {

                   /* МЕТОД ГАУССА */

                   for (int k = 1; k < n; k++) // Приводим матрицу к треугольному виду

                   {

                       for (int i = k; i < n; i++)

                       {

                           float C = B[i, k - 1] / B[k - 1, k - 1];

                           for (int j = 0; j < n; j++)

                           {

                               B[i, j] -= C * B[k - 1, j];

                           }

                       }

                   }

                   for (int i = 0; i < n; i++) // Вычисляем произведение элементов на главной диагонали

                   {

                       result *= B[i, i];

                   }

               }

               return result;

           }

           public void PrintArray(string Header, float[,] A) // Вывод матрицы

           {

               int n = A.GetLength(0); // Получение длины строки(порядка аматрицы)

               Console.WriteLine("\n" + Header + "\n ");

               for (int i = 0; i < n; i++)

               {

                   for (int j = 0; j < n; j++)

                   {

                       Console.Write(" " + A[i, j] + "\t");

                   }

                   Console.WriteLine("\n");

               }

           }

       }

       static void Main(string[] args)

       {

           Random x = new Random(); // Создаём объект х - копия класса Random

           Matrix m = new Matrix(); // Создаём объект х - копия класса Matrix

           Console.Write("Введите порядок матрицы: ");

           int n = 1;

           try 

           {

               

               n = Convert.ToInt32(Console.ReadLine()); // Вводим порядок матрицы

               float[,] A = new float[n, n];

               for (int i = 0; i < n; i++) // Заполнение матрицы случайным образом

               {

                   for (int j = 0; j < n; j++)

                   {

                       A[i, j] = x.Next(-5, 5);

                   }

               }

               /*ИСХОДНАЯ МАТРИЦА*/

               float sum1 = m.SumDiag(A);

               float det1 = m.Det(A);

               m.PrintArray("Исходная матрица", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum1);

               Console.WriteLine("Определитель: det A = " + det1);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 90*/

               float sum2 = m.SumDiag(A);

               float det2 = m.Det(A);

               m.PrintArray("На 90", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum2);

               Console.WriteLine("Определитель: det A = " + det2);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 180*/

               float sum3 = m.SumDiag(A);

               float det3 = m.Det(A);

               m.PrintArray("На 180", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum3);

               Console.WriteLine("Определитель: det A = " + det3);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 270*/

               float sum4 = m.SumDiag(A);

               float det4 = m.Det(A);

               m.PrintArray("На 270", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum4);

               Console.WriteLine("Определитель: det A = " + det4);

           }

           catch (System.FormatException)                                        // Первый блок catch  

           {

               Console.WriteLine("Вы ввели недопустимый знак(возможно букву)");

               return;

           }

           catch (System.IndexOutOfRangeException)                               // Второй блок catch

           {

               Console.WriteLine("Количество строк или столбцов матрицы больше 2000!!!");

               return;

           }

       }

   }

}

(1) Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.

(2) Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).


 

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

85333. Причини порушень слуху 41.95 KB
  Стійкі порушення слуху у дітей можуть бути вродженими і набутими. Висновок про природжений або набутий характер порушення слуху робиться зазвичай на підставі відомостей отриманих зі слів батьків а ці відомості часто виявляються досить неточними. З іншого боку нерідко дійсно вроджене порушення слуху залишається протягом декількох місяців а іноді років нерозпізнаним а коли воно виявляється то приписується якомусь випадковому захворювання або травмі що мали місце незадовго до виявлення дефекту слуху.
85334. Поняття про складне порушення розвитку 38.45 KB
  У літературі та практиці на даний час не встановилася єдина термінологія одні й ті ж порушення можуть бути названі і складними і комплексними і множинними. Порушення розвитку може бути ізольованим одиничним або складним множинним. Одиничне порушення це порушення якоїсь однієї системи організму.
85335. Прояви порушення вищих психічних функцій при ДЦП 44.98 KB
  У цих дітей рухові розлади поєднуються з психічними та мовними порушеннями і вони потребують психологопедагогічної та логопедичної корекції. Інші вищеназвані категорії дітей з порушеннями опорнорухового апарату як правило не мають порушень пізнавальної діяльності і не вимагають спеціального навчання і виховання. Порушення опорнорухового апарату можуть бути наслідком поліомієліту різних вроджених і набутих деформацій рухового апарату ряду спадкових і вроджених захворювань.
85336. Вплив порушення зору на формування особистості людини-інваліда. 49.76 KB
  Тіфлопсіхологіі як розділ спеціальної психології що вивчає психічний розвиток осіб з порушенням зору отримала свою назву від грецького tiphlos сліпий і спочатку займалася лише психологією сліпих. 81] В даний час обєктом вивчення тіфлопсіхологіі є не тільки сліпі але й особи що мають глибокі порушення зору. Тіфлопсіхологіі вивчає закономірності та особливості розвитку осіб з порушенням зору формування компенсаторних процесів що забезпечують відшкодування недоліків інформації повязаних з порушенням діяльності зорового аналізатора...
85337. Визначення поняття «дитячий церебральний параліч» 39.89 KB
  Вони виникають з самого народження дитини і існують протягом усього життя. Головною причиною ДЦП вважається гіпоксія нестача кисню або ядуха дитини в утробі матері або відразу після народження. Хоча в більшості випадків тяжкість родів визначається вже наявними порушеннями внутрішньоутробного розвитку дитини. Після пологів спровокувати недуга може і гемолітична хвороба новонароджених так звана ядерна жовтяниця при якій відбувається інтоксикація головного мозку дитини.
85338. Діагностика порушень зору 38.28 KB
  Діагностика порушень зору процедура необхідна для кожної людини. В ідеалі діагностику порушень зору необхідно проходити раз на рік для того щоб своєчасно встигнути виявити захворювання на початковому етапі його розвитку. Діагностика порушень зору передбачає аналіз здатності людського ока чітко розглядати обєкти розташовані у видаленні та поблизу від очей а також дається оцінка полю зору і здатності розрізняти кольори.
85339. Соціально-психологічні особливості людини з порушеннями роботи внутрішніх органів 38.6 KB
  Розкриваючи соціальнопсихологічні особливості людини з порушеннями роботи внутрішніх органів зупинимося на таких соматичних захворюваннях: цукровий діабет онкологічні захворювання та бронхіальна астма. Цукровий діабет Цукровий діабет ендокринне захворювання обумовлене абсолютною або відносною інсуліновою недостатністю що приводить до порушення всіх видів обміну речовин перш за все вуглеводного ураження судин нервової системи а також інших органів і тканин. Причинами виникнення цукрового діабету можуть бути порушення центральної...
85340. Психологічні проблеми сімейного виховання дітей з обмеженими можливостями 37.62 KB
  У звязку зі станом дитини змінюється поведінка дорослих у родині виникають проблеми з якими батьки не можуть упоратися самостійно: порушується взаємодія із соціальним оточенням; коло спілкування становлять близькі родичі спеціалісти; виражена тривога і неспокій батьків викликані відставанням дитини в розвитку від однолітків; відсутність необхідних знань з психології і педагогіки аномальної дитини; відсутність досвіду роботи з психологом на ранніх етапах розвитку дитини; пасивність позиції матері у відносинах фахівець мати дитина ....
85341. Соціально-психологічні особливості людини з порушеннями опорно-рухового апарату 39.38 KB
  У них вище ніж у інших інвалідів самооцінка; вони відчувають себе найбільш особистісно сильними найменше виражена депресивність. У цієї категорії інвалідів міжособистісні відносини взагалі стабільні і благополучні вони не виглядають відгородженими ізольованими від інших людей. Проте насправді все це є прямо протилежне: у цих інвалідів виявляється значна психологічна дезадаптація їх самооцінка суперечлива. Їх загальне відношення до оточуючих більш негативне ніж у інвалідів I і II групи з дитинства.