78188

Разработка программ с использованием процедур и функций

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

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

Dos включает средства позволяющие реализовывать различные функции DOS. Функции в Паскале Функция это независимая именованная часть программы которую можно вызвать по имени для выполнения определенных действий. Структура функции повторяет структуру программы. Особенности использования функции: функция передает в точку вызова скалярное значение; имя функции может входить в выражение как операнд.

Русский

2015-02-07

101 KB

8 чел.

Тема: Разработка программ с использованием процедур и функций

Цель работы: сформировать навыки и умения создания алгоритмов и программ с использованием процедур и функций пользователя.

Время выполнения: 2 часа

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

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

  1.  Изучить теоретические  сведения.
  2.  Выполнить программы DemoFunc, DemoProc, Pr1 и Sum_Sub_Square.
  3.  Получить индивидуальное задание  у преподавателя и разработать программу в соответствии с поставленной задачей.
  4.  Отлаженную, работающую программу сдать преподавателю. Работу программы показать с помощью самостоятельно разработанных тестов.

Теоретические сведения

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

Структурное программирование — "программирование без go to", т. е. не используются операторы перехода без особой необходимости. В связи с этим отдельные фрагменты программы представляют собой некоторые логические (управляющие) структуры, которые определяют порядок выполнения содержащихся в них правил обработки данных. Любая программа получается построенной из стандартных логических структур, число типов которых невелико.

Основные логические структуры:

Следование — последовательность операторов, групп операторов, выполняемых друг за другом в порядке их следования в тексте программы.

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

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

Технология нисходящего программирования базируется на методе программирования "сверху вниз". Часто этот метод называют методом пошаговой детализации. Основой такого метода является идея постепенной декомпозиции исходной задачи на ряд подзадач. Сначала формулируется самая грубая модель решения, отдельные детали которой на первом этапе могут быть довольно расплывчатыми. По мере разработки программы, разбивая наиболее неясные части алгоритма и добиваясь все более точных и детализированных формулировок получают более подробное решение. Решение отдельного фрагмента сложной задачи может представлять собой самостоятельный программный блок, называемый подпрограммой. Такой процесс детализации продолжается до тех пор, пока не станут ясны все детали решения задачи. В этом случае программу решения сложной задачи можно представить как иерархическую совокупность относительно самостоятельных фрагментов — подпрограмм.

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

За наличие подпрограмм как средства структурирования программ язык программирования Турбо Паскаль называется процедурно-ориентированным.

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

Стандартные библиотечные модули

В систему Турбо Паскаль версии 7.0 и старше включены восемь модулей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, ТурбоЗ и специализированная библиотека Турбо Vision. Модуль System подключается по умолчанию, все остальные должен подключать программист с помощью зарезервированного слова uses.

Например:

Uses Crt, Dos, Printer;

Назначение каждого модуля:

System — содержащиеся в нем подпрограммы обеспечивают работу всех остальных модулей системы.

Crt — содержит средства управления дисплеем и клавиатурой компьютера.

Dos — включает средства, позволяющие реализовывать различные функции DOS.

Graph3 — поддерживает использование стандартных графических подпрограмм версии Турбо Паскаль 3.0.

Overlay — содержит средства организации оверлейных программ.

Printer — обеспечивает быстрый доступ к печатающему устройству.

ТurbоЗ — обеспечивает максимально возможную совместимость с версией Турбо Паскаль 3.0.    

Graph — содержит пакет графических средств, обеспечивающих эффективную работу с адаптерами CGA, EGA, VGA, IBM 3270 и т.д.

Турбо Vision— библиотека объектно-ориентированных подпрограмм для разработки пользовательских интерфейсов.

Функции в Паскале

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

Особенности использования функции: 

  •  функция передает в точку вызова скалярное значение;
  •  имя функции может входить в выражение как операнд.

Например, функция Chr(65) возвратит в точку вызова символ А (код ASCII — 65), Sqr(X) — возведет в квадрат значения целого или вещественного Х и возвратит в точку вызова вычисленное значение квадрата числа X.

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

Встроенные функции и процедуры

Модуль System подключается к программе автоматически, поэтому его имя не указывается в разделе Uses. По этой причине программе становятся доступны его встроенные процедуры и функции.

Подробное описание функций и процедур приведено в файле «Стандартные функции и процедуры.doc».

Функция, определенная пользователем, состоит из заголовка и тела функции.

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

function <имя> (Формальные параметры) : <тип результата>;

const ...                              

type ...

var

begin

<операторы>

end;

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

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

Пример программы с использованием функции, определенной пользователем

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

,

.

program DemoFunc;

Var

М     : integer;

А,Z,R : real ;

{Функция вычисления  степени. N - степень, X – число, возводимое в данную степень. N, X — формальные параметры; результат, возвращаемый функцией в точку вызова, имеет вещественный тип}  

function Step(N : integer; X : real): real;

Var

I : integer;

Y : real;

begin

Y:=1;

for I:=1 to N do{Цикл вычисления N—й степени числа X)

Y:=Y*X;

Step:=Y ;     {Присваивание функции результата вычисления степени}

end; {Конец функции}

Begin              {Начало основной программы}

Write('Введите значение числа А и показатель степени М');

Readln(A,M) ;

Z:=Step(5,А) ; {Вызов функции с передачей ей факт. параметров N=5, X=А}

Z:=Z+ Step(3,l/A); {Вызов функции с передачей ей факт. параметров N=3, X=1/А}

if M=0 then R:=l {если число возводится в нулевую степень, то результат = 1}

else 

if M>0 then R:=Step(M,A){Вызов функции Step с передачей ей факт. параметров М, А}

else R:=Step(-M,A); {Вызов функции с передачей ей факт. параметров}

Z:=Z/(2*R) ;

Writeln(' Для А= ',А,'М= ',М,' Значение выражения= ',Z);

end.

В начале программы описываются переменная целого типа М и переменные вещественного типа А, Z, R, после этого описывается функция вычисления степени числа Step с формальными параметрами N и X, результат, возвращаемый функцией в точку вызова, - вещественного типа.

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

В начале выполнения основной программы на экран выводится запрос "Введите значение числа А и показатель степени М", затем считывается с клавиатуры значение вещественного числа А и целого числа М.

После ввода значений выполняется оператор Z:=Step(5,A);

Осуществляется вызов функции Step с передачей ей фактических параметров 5, А. Их значения присваиваются формальным параметрам функции N и X. По окончании вычисления степени числа значение функции Step, вычисленное для фактических параметров 5 и А, присваивается переменной Z. Аналогично в операторе Z := Z + Step(3,l/A); сначала осуществляется вызов функции Step с передачей ей фактических параметров 3, 1/A. После чего значение переменной Z увеличивается на величину возвращенного в основную программу результата вычисления функции Step.

Операторы:

if M=0 then R:=1

else if M>0 then R:=Step(M,A)

else R:=Step(- M,A);

проверяют условия М=0, М>0 и в зависимости от их соблюдения либо присваивает переменной R значение 1 (при М=0), либо выполняет вызов функции Step для фактических значений М, А или -М, А, а после вычисления значения функции Step присваивает его переменной R.

Оператор Z:=Z/(2*R); выполняет вычисление значения выражения, а затем присваивает вычисленное значение переменной Z.

В заключение программы стандартная процедура Writeln выводит на экран сообщение о результате вычислений степени М числа А.

Процедуры в Паскале

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

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

procedure <имя> (Формальные параметры);

const ... ;

type . . . ;

var   . . . ;

begin

<операторы>

end ;

Пример программы с использованием процедуры, определенной пользователем

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

procedure Abort(Msg: string);

begin

Writeln('Ошибка: ', Msg);

Halt(1);

end ;

В данной процедуре пользователя использована переменная Msg типа string, в которой хранится текст сообщения о характере ошибки, вызвавшей прерывание программы. Для прерывания выполнения программы используется стандартная процедура Halt из стандартного библиотечного модуля System.

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

В качестве примера приведем фрагмент программы, в котором используется описанная выше процедура Abort.

program DemoProc;   {Подсчет суммы десяти введенных целых положительных чисел: если будет введено отрицательное число, прервать выполнение}

const Limit= 10;  {Ограничение на количество вводимых чисел)

Var Count, Item, Sum : integer;

procedure Abort(Msg: string); {описание и реализация процедуры Abort}

begin

Writeln('Ошибка: ', Msg);

Halt(1);

end ;

Begin       {основная программа}

Count:= 0;

Sum: = 0 ;

while (Count < Limit) do   {Условие выполнение цикла}

begin

Count:= Count+1;

Write('Введите ', Count, '-e целое число: ');

Readln(Item);

if Item < 0 then {Если введено отрицательное число}

Abort('Введено отрицательное число! '); {Вызов процедуры}

Sum:= Sum+Item;

end;

Writeln('Сумма введенных чисел равна ', Sum);

end.

В разделе описания программы описываются константа Limit, ограничивающая количество вводимых чисел; в разделе описания переменных описываются переменные Count, Item, Sum типа integer.

В начале программы обнуляются значения количества введенных чисел Count и их сумма Sum. Потом выполняется цикл, пока очередное вводимое число меньше предельного, заданного значением константы Limit. Сначала устанавливается номер очередного числа, затем на экран выводится приглашение "Введите 1-е (2-е и т.п.) число", считывается значение числа с клавиатуры в переменную Item. Затем проверяется условие Item<0.

Если условие выполняется, то вызывается процедура Abort, которой передается фактический параметр-значение типа string: "введено отрицательное число". Это значение присваивается формальному параметру Msg процедуры Abort. Процедура Abort выводит на экран сообщение об ошибке и печатает текст сообщения - значение параметра Msg: "Ошибка: введено отрицательное число", после чего вызывает стандартную процедуру Halt(1), которая прерывает выполнение программы.

Если условие Item<0 не выполняется, то значение суммы Sum увеличивается на значение введенного числа Item, и управление передается в заголовок цикла для проверки условия Count < Limit. Если условие соблюдается, то тело цикла выполняется еще раз, иначе цикл завершается, а управление в программе передается на оператор, следующий за циклом, т. е. за резервированным словом end, обозначающим окончание составного оператора в теле цикла. После этого на экран выводится сообщение: "Сумма введенных чисел равна" и печатается значение переменной Sum. На этом выполнение программы завершается.

Механизм передачи параметров

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

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

Между формальными и фактическими параметрами должно быть полное соответствие:

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

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

procedure Abort(Msg: string);

function Step(N : integer; X : real): real;

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

Пример программы с использованием передачи параметров по значению:

program Pr1;

var

А,В : real;

{Процедура вычисления квадратов двух чисел и вывода на экран их суммы}

procedure Sum_Square(X, Y : real);  {X,Y - формальные параметры}

begin

Х:=Х*Х;

Y:=Y*Y;

Writeln('Cyммa квадратов = ',X+Y);

end;                    {Конец процедуры}

begin                   {Начало основной программы}

А:=1.5;

В:=3.4;

Sum_Square (А,В) ; {Вызов процедуры Sum_Square с передачей ей значений фактических параметров А и В}

end.

При вызове процедуры Sum_Square с фактическими параметрами А, В значения этих параметров (один раз) копируются в соответствующие формальные параметры X, Y, и дальнейшие преобразования формальных параметров X,Y внутри процедуры Sum_Square уже никак не влияют на значения переменных А, В.

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

procedure Example(var M,N : integer; var Y : real) ;

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

Пример программы, использующей параметры-переменные:

program Sum_Sub_Square;

var  A,В : real ;

SumAB, SubAB : real;

{Процедура с параметрами-переменными Sum, Sub}

procedure Sum_Sub(X,Y : real; var Sum, Sub : real);

begin

Sum:=X*X+Y*Y;

Sub:=X*X-Y*Y;

end;  {Конец процедуры} 

begin  {Начало основной программы}

А:=1.5;

В:=3.4;

Sum_Sub(A,B, SumAB,SubAB);   {Вызов процедуры с передачей ей фактических параметров-значений А, В и параметров-переменных SumAB, SubAB}

Writeln('Сумма квадратов чисел',А,' и ',В,'= ', SumAB);

Writeln("Разность квадратов чисел',А,’и',В,'=', SubAB);

end.

Индивидуальные задания:

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

  1.  Описать функцию  Max4(A,B,C,D) вещественного типа, находящую максимальное из четырех вещественных чисел AB, C и D. С помощью этой функции найти максимальные из наборов (A,B,C,D), (A,B,C,E), (A,C,D,E), если даны числа A, B, C, D, E.
  2.  Составить подпрограмму, которая формирует и выводит на печать единичную матрицу порядка N. Проверить ее работу на матрицах порядка 3, 5,7,12,14.
  3.  Составить подпрограмму решения квадратного уравнения ах2 +bx +c = 0.
  4.  С помощью составленных заранее подпрограмм поиска минимального и максимального элементов массива Y найти разницу между минимумом и максимумом массивов А(10), В(17). Для передачи имени массива в подпрограмму использовать понятие открытого массива. Элементы массивов вычисляются по формулам: .
  5.  Составить подпрограмму умножения одномерных матриц и подпрограмму их сравнения.
  6.  Разработать подпрограммы сортировки одномерного массива по возрастанию и убыванию.
  7.  Описать функцию Fib(N) целого типа, вычисляющую N-е число Фибоначчи F(N) по формуле: F(1) = F(2) = 1,   F(k) = F(k–2) + F(k–1),   k = 3, 4, ... . С помощью этой функции вычислить 10 чисел Фибоначчи с указанными номерами.
  8.  Описать процедуру SumDigit(N,S), находящую сумму цифр S целого числа N (99>=N>=10) (— входной, S — выходной параметр). Используя эту процедуру, найти суммы цифр пяти данных чисел.
  9.  Описать функцию Otr(Ax,Ay,Bx,By) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов: |AB| = sqrt((Ax-Bx)2 + (Ay-By)2) (Ax, Ay, Bx, By — вещественные параметры). С помощью этой функции найти длины отрезков AB, AC, AD, если даны координаты точек A, B, C, D.
  10.  Описать функцию Perim(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую периметр треугольника ABC по координатам его вершин (Ax, Ay, Bx, By, Cx, Cy — вещественные параметры). С помощью этой функции найти периметры треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
  11.  Описать функцию Area(Ax,Ay,Bx,By,Cx,Cy) вещественного типа, находящую площадь треугольника ABC по формуле Герона: SABC = sqrt(p·(p–|AB|)·(p–|AC|)·(p–|BC|)), где p — полупериметр. С помощью этой функции найти площади треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
  12.  Описать процедуру Dist(Px,Py,Ax,Ay,Bx,By,D), находящую расстояние D от точки P до прямой AB по формуле D = 2SPAB / |AB|, где SPAB — площадь треугольника PAB. С помощью этой процедуры найти расстояния от точки P до прямых AB, AC, BC, если даны координаты точек P, A, B, C.
  13.  Описать процедуру Heights(Ax,Ay,Bx,By,Cx,Cy,hA,hB,hC), находящую высоты hA, hB, hC треугольника ABC, проведенные соответственно из вершин A, B, C. С помощью этой процедуры найти высоты треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
  14.  Описать функцию Min3(A,B,C) вещественного типа, находящую минимальное из трех вещественных чисел A, B и C. С помощью этой функции найти минимальные из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.
  15.  Описать функцию Max3(A,B,C) вещественного типа, находящую максимальное из трех вещественных чисел A, B и C. С помощью этой функции найти максимальные из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.
  16.  Составить пользовательскую процедуру или функцию для вычисления произведения:
    (12/(1+1)2) * ( 22/(2+1)2) * ( 32/(3+1)2) * ··· * (n2/(n+1)2).
  17.  Составить пользовательскую процедуру или функцию для вычисления суммы:
    (11+1)/1 + (22+1)/(1*2) + ( 33+1)/(1*2*3) + ··· + (nn+1)/(1*2*3*4* ··· * n);
  18.  Составить пользовательскую процедуру или функцию для вычисления n-ого члена последовательности:  b0=cos21; b1=sin21; bk=2 bk-1+ bk-2, где k=2,3,4, ···  n.
  19.  Составить пользовательскую процедуру или функцию для вычисления n-ого члена последовательности:  z1=5; zn=1+3/ zn-1, где n=2,3,4, ···  k.
  20.  Составить пользовательскую процедуру или функцию для вычисления произведения:
    (1/(1+1)2) * ( 2/(2+1)2) * ( 3/(3+1)2) * ··· * (n/(n+1)2).
  21.  Даны значения c, d, m, k. Напишите функцию min для вычисления значения следующего выражения:    (min(c+d,m,k)+min(k,c,m))/(3+min(k,d-m,c+m)).
  22.  Дана целочисленная последовательность элементов c1, c2, c3, ··· , c2n, где n<=10.  Написать процедуру пользователя для вычисления: a2 + b3,  где a = c1+ c2 +c3 +··· + cn;  b = cn+1+ cn+2 +cn+3 +··· + c2n.  
  23.  Дана последовательность из n (n<=13) натуральных чисел. Найти в этой последовательности наибольшую по длине последовательность рядом стоящих элементов, представляющих собой степени числа три.
  24.  Составить подпрограмму вычисления факториала. С помощью подпрограммы вычислить: 5!, 12!, 17!.
  25.  Написать подпрограмму возведения числа в целую степень. Проверить ее работу на следующих данных: 210, З5,70.
  26.  Составить подпрограмму, определяющую, является ли заданное число простым, то есть делящимся только на единицу и на само себя. С помощью подпрограммы определить, являются ли простыми числа 6, 11, 21, 31.
  27.  Дана последовательность из n (n<=13) натуральных чисел. Найти в этой последовательности наибольшую по длине последовательность рядом стоящих элементов, представляющих собой простые числа.
  28.  Вероятность того, что в указанный морской порт в день прибывает k кораблей и барж, равна P(k) = 3k e3/ k! .Составить вспомогательный алгоритм для вычисления вероятности прибытия кораблей и барж для k = 13,25,100.
  29.  Составить подпрограмму сложения одномерных матриц и подпрограмму их сравнения.
  30.  Разработать подпрограммы определения суммы элементов К-го столбца массива и произведения элементов М-ой строки.

PAGE   \* MERGEFORMAT3


 

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

25602. Когнитивное направление в современной зарубежной психологии 51.5 KB
  Когнитивное направление в современной зарубежной психологии Работы Пиаже и Брунера во многом способствовали появлению нового направления появившегося уже в 60х годах XX в. когнитивной психологии. В когнитивной психологии психика рассматривается как система когнитивных реакций и постулируется связь этих реакций не только с внешними стимулами но и с внутренними переменными например с самосознанием когнитивными стратегиями селективностью внимания и т. Серьезное достоинство когнитивной психологии точность и конкретность полученных...
25603. Начало марксистско-ленинской перестройки в отечественной психологии 26.5 KB
  Корнилов 18791957. Используя идею диалектического единства Корнилов надеялся преодолеть как агрессивную односторонность рефлексологии Бехтерева и Павлова она претендовала на единственно приемлемое для материалиста объяснение поведения так и субъективизм интроспективного направления лидером которого в России был Г. Основным элементом психики Корнилов предложил считать реакцию. Став директором бывшего челпановского института Корнилов предложил сотрудникам изучать психические процессы в качестве реакций восприятия памяти воли и т.
25604. Рубенштейн и разработка им философских основ психологии в 30 и в послевоенные годы 27 KB
  Маркса он обосновал принцип единства сознания и деятельности который позволил дать новаторскую трактовку сознания не как внутреннего мира познаваемого субъектом только посредством самонаблюдения а как высшего уровня организации психической деятельности предполагающего включенность личности в контекст ее жизненных связей с объективным миром. Предполагалось что природа сознания является изначально социальной обусловленной общественными отношениями. На основе принципа единства сознания и деятельности Рубинштейном был проведен большой цикл...
25605. Выготский и разработка им культурно исторической концепции развития психики 34.5 KB
  Выготский и разработка им культурно исторической концепции развития психики. Лев Семенович Выготский 18961934. Опираясь на положение Маркса о различии между инстинктом и сознанием Выготский доказывает что благодаря труду происходит удвоение опыта и человек приобретает способность строить дважды: сперва в мыслях потом на деле . Понимая слово как действие сперва речевой комплекс затемречевую реакцию Выготский усматривает в нем особого социокультурного посредника между индивидом и миром.
25606. Концепция деятельности в трудах Леонтьева и его сотрудников 38 KB
  Концепция деятельности в трудах Леонтьева и его сотрудников А. О назвал категории деятельности сознания и личности как наиболее важные для построения непротиворечивой системы психологии как конкретной науки о порождении функционировании и строении психического отражения реальности которая опосредствует жизнь индивидов. Разработанная Леонтьевым общепсихологическая теория деятельности является важнейшим достижением советской психологической науки а сам Леонтьев крупным теоретиком одним из создателей советской психологии. Ha материале...
25607. Психологическое наследие Ананьева 33.5 KB
  Марксистское учение о сущности человека и ленинская теория отражения послужили фундаментом для построения концептуальной системы Б. Ананьев рассматривал онтогенетическое природное развитие человека как индивида как последовательную смену стадий или фаз: зачатие рождение созревание зрелость старение старость составляют основные моменты целостности человеческого организма. История формирования и развития личности составляет жизненный путь человека. Подобно тому как начало индивида долгий и многофазный процесс эмбриогенеза так и начало...
25610. Кровяные пластинки 47 KB
  Количество их в крови от 20 109 л до 40 109 л. При окраске мазков крови азур 2эозином в кровяных пластинках выявляются более светлая периферическая часть гиаломер и более темная зернистая часть грануломер структура и окраска которых могут варьировать в зависимости от стадии развития кровяных пластинок. Гликопротеин PIb является рецептором для находящегося в плазме фактора фон Виллебранда vWF одного из ключевых механизмов свертывания крови. Гликопротеин PIIbIIIa рецептор фибриногена; участвует в аггрегации кровяных...