Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

Пример 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, на экран.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.