- •Учебно-методическое пособие
- •Маршрутная карта изучения дисциплины по Модулю 1
- •1. Логические и арифметические основы эвм
- •Системы счисления
- •1.1. Десятичная система счисления
- •1.2. Двоичная система счисления
- •1.3. Восьмеричная и шестнадцатеричная системы счисления
- •1.4. Перевод чисел из любой системы счисления в десятичную
- •1.5. Перевод чисел из десятичной системы счисления в любую другую
- •Вопросы для самоконтроля
- •Методические указания для выполнения практического задания №1. «Системы счисления»
- •Приложение 1. Таблица вариантов заданий
- •2. Алгебра логики
- •2.1. Логические операции
- •Инверсия
- •2.2. Нормальные формы
- •Конъюнктивная нормальная форма
- •Дизъюнктивная нормальная форма
- •3. Применение средств алгебры логики для описания функционирования устройств компьютера
- •3.1. Логические схемы
- •Пример решение логических задач средствами алгебры логики
- •Методические указания для выполнения практического задания №2. «Алгебра логики». Построение таблиц истинности.
- •Пример построения логических схем
- •Методические указания для выполнения практического задания №3. «Алгебра логики». Построение логических схем.
- •Приложение 2. Таблица вариантов заданий
- •4. Индивидуальное задание. Модуль 1. «Построение логических схем по заданным булевым выражениям»
- •Приложение 3. Таблица вариантов индивидуального задания
- •Приложение 4. Титульный лист идз
- •Маршрутная карта изучения дисциплины по Модулю 2
- •5. Введение в алгоритмизацию
- •6. Знакомство со средой Турбо Паскаль
- •6.1. Общие сведения
- •6.2. Запуск Турбо-Паскаля на выполнение
- •6.3. Назначение функциональных клавиш системы Турбо-Паскаль
- •6.4. Работа с текстовым редактором Турбо-Паскаля
- •Клавиши перемещения курсора
- •Работа с блоками текста
- •7. Основы алгоритмизации
- •7.1. Алгоритм
- •7.2. Алгоритмические структуры
- •8. Программирование на языке Pascal
- •8.1. Алфавит языка
- •8.2. Арифметические выражения и правила их записи
- •Знаки операций
- •Операции div и mod
- •8.3. Типы данных
- •Целые типы
- •Логический тип
- •8.5. Структура программы на языке Паскаль
- •8.6. Описательная часть программы
- •8.7. Исполнительная часть программы
- •8.10. Комментарии в программе
- •Пример программы линейной структуры
- •Вопросы для самоконтроля
- •8.11. Методические указания для выполнения практического задания №4. «Следования»
- •Приложение 5. Таблица вариантов заданий
- •9. Ветвления
- •9.1. Операторы условия и перехода
- •Логический оператор
- •Операции отношения
- •Логические операции
- •9.2. Оператор выбора
- •Пример программы разветвленной структуры
- •Вопросы для самоконтроля
- •9.3. Методические указания для выполнения практического задания №5. «Ветвления»
- •Приложение 6. Таблица вариантов заданий
- •10. Циклические вычислительные процессы
- •10.1. Оператор цикла с параметром
- •10.2. Оператор цикла с постусловием
- •10.3. Оператор цикла с предусловием
- •10.4. Вложенные циклы
- •10.5. Оператор прерывания цикла
- •Пример программы циклической структуры
- •Вопросы для самоконтроля
- •10.6. Методические указания для выполнения практического задания №6. «Циклы»
- •Приложение 7. Таблица вариантов заданий
- •11. Операции с индексированными переменными
- •11.1. Массивы одномерные
- •11.2. Описание массивов
- •Ввод элементов массива
- •Вывод элементов массива
- •11.3. Обработка одномерных массивов
- •Пример программы обработки одномерного массива
- •Вопросы для самоконтроля
- •11.4. Методические указания для выполнения практического задания №7. «Операции с индексированными переменными»
- •Приложение 8. Таблица вариантов заданий
- •12. Двумерные массивы
- •12.1. Матрицы
- •12.2. Описание двумерного массива
- •Ввод элементов двумерного массива
- •Вывод элементов двумерного массива
- •12.3. Обработка двумерных массивов
- •Пример программы обработки двумерного массива
- •Вопросы для самоконтроля
- •12.4. Методические указания для выполнения практического задания №8. «Матрицы»
- •Приложение 9. Таблица вариантов заданий
- •13. Подпрограммы
- •13.1. Функции и процедуры
- •Структура программы, содержащей процедуру (функцию)
- •13.2. Процедуры
- •13.3. Вложенные процедуры Директива forward
- •13.4. Функции
- •Пример программы с использованием подпрограмм
- •Вопросы для самоконтроля
- •Методические указания для выполнения практического задания №9. «Подпрограммы»
- •Приложение 10. Таблица вариантов заданий
- •14. Обработка строк текста
- •14.3. Строковые переменные
- •14.4. Функции обработки строковых переменных
- •14.5. Процедуры обработки строковых переменных
- •14.6. Примеры обработки строковых переменных
- •Вопросы для самоконтроля
- •15. Структурированные типы данных
- •Пример программы использования массива записей
- •Вопросы для самоконтроля
- •Методические указания к выполнению индивидуального задания по Модулю 2. «Массивы записей»
- •Приложение 11. Таблица вариантов индивидуального задания
9.2. Оператор выбора
Этот оператор предназначен для замены конструкций из вложенных if.
Структура:
case N of
N1: P1;
N2: P2;
NN: PN;
[else P;]
end;
[else P;] - необязательная часть оператора.
где N - целочисленная переменная, или выражение целого типа;
N1, N2 , … NN - возможные значения переменной N;
P, P1, P2, … PN - простые или составные операторы.
По этому оператору:
если значение N = N1, то выполняется P1 (после чего управление передается оператору, следующему за оператором case...of);
если значение N = N2, то выполняется P2, (после чего управление передается оператору, следующему за оператором case...of);
…
если N не принимает ни одного из перечисленных значений, управление передается оператору P;
если структура else - отсутствует и N - не принимает ни одного из перечисленных значений, управление передается следующему за
case...of оператору.
Например:
caseNof
1, 2, 5: writeln (’a’);
7 .. 10: writeln (’b’);
end;
1, 2, 5 - перечисляемые значения разделяются точкой.
7 .. 10 - интервал задается начальными и конечными значениями через двоеточие.
Пример программы разветвленной структуры
Задача.
1. Вычислить значение функции:
y=
Значение аргумента х в градусах ввести с клавиатуры.
2. Таблица идентификаторов
№ |
Наименование переменной |
Обозначения в программе |
1 |
Функция |
y |
2 |
Аргумент |
x |
3. Листинг программы.
program lab2;
uses
crt;
var
x, y: real;
begin
clrscr;
writeln (’Введите x’);
readln (x);
if x>90 then writeln(’функция не определена’)
else
{составной оператор}
begin
if x<0 then y: = 0
else y: = sin (x*pi/180);
writeln (’y = ’,y:8:3);
end;
readln;
end.
Вопросы для самоконтроля
Какие алгоритмические конструкции называются ветвлениями?
Для чего используют оператор goto?
Почему при использовании нескольких условий в одном операторе if … then … else, каждое условие заключается в круглые скобки?
Перечислите основные логические операции.
Перечислите основные операции отношения.
В каких случаях прибегают к использованию оператора case … of ?
9.3. Методические указания для выполнения практического задания №5. «Ветвления»
Цель работы: Ознакомиться с алгоритмами разветвленной структуры, логическим оператором, оператором выбора.
Задание:
В приложении 6 выбрать свой вариант задания.
Выполнить практическое задание №5, используя пример программы разветвленной структуры.
Составить блок-схему алгоритма.
Написать программу и отладить ее по заранее подготовленному тесту.
Оформить задание в тетради для практических занятий.
Результат выполнения программы предъявить преподавателю.
Ответить на вопросы самоконтроля.
Защитить выполненную работу у преподавателя.
Приложение 6. Таблица вариантов заданий
Вариант
|
Задание |
1 |
Переменной k присвоить номер четверти плоскости, в которой находится точка с координатами x и y (xy=0). |
2 |
Если сумма трех попарно различных действительных чисел x, y, z меньше единицы, то заменить меньшее из x и y полусуммой двух других, в противном случае уменьшить все числа в 5 раз. |
3 |
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3). |
4 |
Написать программу, которая выбирает наименьшее из четырех заданных чисел. |
|
Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны. |
6 |
Даны действительные числа х, у, и z. Вычислить max (x + y + z, xyz). |
7 |
Поменять местами значения переменных a, b, c не равных между собой таким образом, чтобы а > b > c. |
8 |
Меньшее из двух значений переменных вещественного типа заменить нулем, а в случае их равенства – заменить нулями оба. |
9 |
Если сумма трех попарно различных действительных чисел x, y, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других, в противном случае возвести все числа в квадрат. |
10 |
Наибольшее из трех различных значений переменных целого типа х, у и z уменьшить на 3. |
11 |
Даны два действительных числа, не равных между собой. Меньшее из них заменить их полусуммой. |
12 |
Если значение не равно 0 и при этом котангенс отменьше 0.5, тогда поменять знак у, а если значение равно 0, тогда присвоитьзначение 1. |
13 |
Даны действительные числа х, у и z. Получить min (x,y,z). |
14 |
Две точки плоскости заданы своими координатами. Определить, лежат ли они в одной или разных координатных плоскостях. |
15 |
Даны действительные числа х, у, и z. Вычислить min( (x + y + z / 2), (x*y*z) ) +1. |
16 |
Даны действительные числа a, b, c. Удвоить эти числа, если a > b > c, и заменить их абсолютными значениями, если это не так. |
17 |
Известно, что из четырех чисел одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n. |
18 |
Написать программу, которая выбирает наибольшее из четырех заданных чисел. |
19 |
Даны действительные числа x и y. если x и y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5, в противном случае извлечь из каждого квадратный корень. |
20 |
Две точки плоскости заданы своими координатами. Определить, лежат ли они в одной (распечатать ее номер) или разных координатных четвертях. |
21 |
Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и удвоить оба числа в противном случае. |
22 |
Даны действительные числа a, b, c, d. Если a < b < c < d, то каждое число заменить небольшим из них; если a > b > c > d, то числа оставить без изменения; в противном случае все числа заменить их квадратами. |
23 |
Даны действительные числа х, у и z. Получить max(x,y,z). |
24 |
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3). |
25 |
Меньшее из двух значений переменных вещественного типа заменить нулем, а в случае их равенства – заменить нулями оба. |
26 |
Даны действительные числа х, у и z. Обнулить отрицательные числа. |
27 |
Известно, что из трех целых чисел одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n. |
28 |
Наименьшее из трех различных значений переменных целого типа х, у и z увеличить на 3.
|
29 |
Если сумма трех попарно различных действительных чисел x, y, z больше единицы, то наибольшее из этих трех чисел заменить полусуммой двух других, в противном случае возвести все числа в квадрат. |
30 |
Даны два действительных числа, не равных между собой. Наибольшее из них заменить их полусуммой. |