Моделирование памяти компьютера

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

Пример 3. Напишите программу вычисления площади треугольника по трём сторонам, если заведомо известно, что треугольник существует. Исполните составленную программу, используя метод моделирования памяти, для a = 3, b = 4, c = 5.

Решение

алгплощадь_треугольника (аргвещ a, b, c, резвещ s) | 1 – ый способ

дано| длины трех сторон треугольника: a, b, c

надо |вычислить площадь s треугольника

начвещ p

│ р:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c))

кон

алг площадь_треугольника | 2 – способ

дано| длины трех сторон треугольника: a, b, c

надо| вычислить площадь s треугольника

начвещ a, b, c, s, p

вывод “Введите длины трех сторон a, b, c”; ввод a, b, c

│ р:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c))

выводнс, “Площадь равна”, s

кон

Исполнение алгоритма «площадь_треугольника»

Изобразим на доске или в тетради прямоугольник, сверху напишем, под значения величин какого алгоритма отводится эта область.

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

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

2 шаг. Программа запрашивает значения a, b, c. Пользователь вводит эти значения с клавиатуры. Компьютер заносит эти значения в память. Пусть введены: a = 3, b = 4, c = 5.

3 шаг. Компьютер вычисляет значение p и заносит в память: p = (3+4+5)/2 = 6.

4 шаг. Компьютер вычисляет значение s и заносит его в память: .

 

5 шаг. Компьютер выводит значение площади s на экран.

Пример 4. Напишите программу обмена значениями двух переменных m и n целого типа: переменная m должна принять значение переменной n, а переменная n – значение переменной m. Исполните составленную программу, используя метод моделирования памяти, для m = 25, n = -10.

Решение: Чтобы найти способ решения поставленной задачи, рассмотрим такую «жизненную» ситуацию. Имеется два сосуда с жидкостью, в стакане находится молоко, а в чашке – кофе с молоком. Требуется обменять содержимое этих сосудов так, чтобы в стакане было кофе с молоком, а в чашке – молоко. Возникает необходимость иметь ещё один пустой сосуд, например, бокал, для того чтобы выполнить следующие действия: перелить молоко из стакана в бокал, перелить кофе с молоком из чашки в стакан, перелить молоко из бокала в чашку. Все сосуды вмещают одинаковое количество жидкости. Житейская задача решена.

Решим основную задачу. Чтобы обменять значениями две переменные m и n целого типа, можно использовать ещё одну переменную целого типа, например, переменную k. Запрограммируем выполнение следующих действий: переменной k присвоим значение переменной m, k:=m,переменной m присвоим значение переменной n, m:=n,переменной n присвоим значение переменной k, n:=k. Эти действия реализованы в алгоритме «алгобмен значениями».

алгобмен значениями

дано| значения переменных m и n

надо | обменять значениями переменные m и n

начцел m, n, k

вывод “Введите значения m и n”

вводm, n

k:=m; m:=n; n:=k

выводнс, “m=”, m, “n=”, n

кон

Исполнение алгоритма «обмен значениями»

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

2 шаг. Программа запрашивает значения m, n. Пользователь вводит эти значения с клавиатуры. Компьютер заносит эти значения в память. Пусть введены: m = 25, n = -10.

3 шаг. Компьютер переменной k присваивает значение переменной m: k = 25.

4 шаг. Компьютер переменной m присваивает значение переменной n, m = -10.

5 шаг. Компьютер переменной n присваивает значение переменной k, n = 25.

 

6 шаг. Компьютер выводит значения переменных m и n на экран: m = -10, n = 25.

Пример 5. Напишите программу БИТ, нахождения числа bid – большего числа из трёх вещественных чисел, заданных с клавиатуры. Исполните составленную программу, используя метод моделирования памяти, для m = -5.34, n = -10.5, k = -3.3.

Решение: Чтобы выбрать большее число из трёх заданных чисел m, n, k, можно выбрать сначала большее число из двух чисел m и n, выбранное большее значение присвоить переменной bid. Затем выбрать большее число из чисел bid и k. Чтобы выбрать большее число из чисел m и n, необходимо сравнить эти числа, m>n (?). Если высказывание m>n – истинное высказывание, то переменной bid нужно присвоить значение m, иначе значение n. Далее нужно сравнить значения переменной bid и переменной k, bid<k (?). Если высказывание bid<k – истинное высказывание, то переменной bid присваивается значение переменной k, иначе значение переменной bid больше значения k или ему равно, и никаких действий производить не нужно. Эти действия реализованы в алгоритме «алгБИТ».

алгБИТ дано|значения переменных m , n, k надо |переменной bid присвоить |большее значение из значений |переменных m, n, k начцел m, n, k, bid │вывод “Введите значения m, n, kвводm, n, k если m>n ││то bid:=m ││иначе bid:=n │всеесли bid<k ││то bid:=k │всевыводнс, “bid =”, bid кон

Исполнение алгоритма «БИТ»

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

2 шаг. Программа запрашивает значения m, n, k. Пользователь вводит эти значения с клавиатуры. Компьютер заносит их в память. Пусть введены: m = -5.34, n = -10.5, k = -3.3.

3 шаг. Компьютер проверяет истинность высказывания m>n (?), то есть -5.34>-10.5. Это высказывание истинно, выполнятся команды, следующие за служебным словом «то».

4 шаг. Компьютер переменной bid присваивает значение переменной m, bid:=m, bid = -5.34. Значение bid записывается в память компьютера.

5 шаг. Компьютер проверяет истинность высказывания bid<k (?), то есть -5.34<-3.3. Это высказывание истинно, выполнятся команды, следующие за служебным словом «то».

6 шаг. Компьютер переменной bid присваивает значение переменной k, bid:=k, bid = -3.3 Значение bid записывается в память компьютера.

7 шаг. Компьютер выводит значение переменной bid, равное
-3.3, на экран.








Дата добавления: 2015-01-26; просмотров: 1072;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.013 сек.