- •Учебно-методическое пособие
- •Маршрутная карта изучения дисциплины по Модулю 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. Таблица вариантов индивидуального задания
10.4. Вложенные циклы
В теле любого оператора цикла могут находиться другие операторы цикла. При этом цикл, содержащий в себе другой, называется внешним, а цикл, находящийся в теле первого, - называетсявнутренним(вложенным). Правила организации внешнего и внутреннего циклов такие же, как и для простых циклов.
Рассмотрим задачу вывода на экран таблицы умножения, решение которой предполагает использование вложенных циклов.
var
i,j : byte;
begin
writeln(‘ Таблица умножения ’);
for i:=1 to 9 do
begin
for j:=1 to 9 do
writeln( i , ‘ * ‘ , j ,‘ = ’, i*j );
writeln;
end;
readln;
end.
При организации вложенных циклов необходимо помнить, что параметр внешнего цикла меняется медленнее, чем параметр внутреннего. При одном значении параметра внешнего цикла параметр внутреннего – пробегает все свои возможные значения.
10.5. Оператор прерывания цикла
Для досрочного прерывания цикла можно использовать оператор goto или стандартную процедуру break.
Рассмотрим фрагмент:
…
for i:=1 to n do begin
p:=p* i;
if p>100 then break ;
writeln(‘p=’, p);
end;
…
Цикл будет прерван при достижении условия p>100 по процедуре break.
Пример программы циклической структуры
Задача.
Формулировка задачи:
Составить программу расчета таблицы значений функции f(x) на интервале a<=x<=b в n равностоящих точках. Границы интервала a,b и количество точек n ввести с клавиатуры. Результаты вывести на печать.
Найти сумму положительных значений функции f(x) на заданном интервале. Формула для расчета шага изменения аргумента:
dx = (b-a)/(n-1)
Таблица идентификаторов
№ |
Наименование переменной |
Обозначения в программе |
1 |
Функция |
y |
2 |
Аргумент |
x |
3 |
Количество точек |
n |
4 |
Начальное значение x |
a |
5 |
Конечное значение x |
b |
6 |
Шаг изменения аргумента |
dx |
7 |
Сумма |
s |
Листинг программы
program cikl_3;
uses
ctr;
var
y,x,a,b,dx,s : real;
I,n : integer;
begin
clrscr;
writeln(‘Введите a,b,n’);
readln(a,b,n);
{ шаг изменения аргумента}
dx:=(b-a)/(n-1);
s:=0;
x:=a;
for i:=1 to n do
begin
y:=(1-exp(-x)) * sin(4*pi*x);
writeln(‘y=’,y:8:3);
x:=x+dx;
if y>0 then s:=s+y;
end;
writeln(‘Сумма положительных значений s=’,s:8:3);
readln;
end.
Вопросы для самоконтроля
Что такое цикл?
Какие циклы можно организовать на языке Паскаль?
В каких случаях предпочтительней использовать оператор for …to … do для организации циклов?
Какой тип должна иметь переменная, которая является параметром цикла в операторе for …to … do ?
Сколько циклов будет пройдено, если в операторе while … do условие не выполнилось с первого раза?
Сколько циклов будет пройдено, если в операторе repeat … until условие выполнилось с первого раза?
Что такое вложенные циклы?
Как можно досрочно прервать цикл?
10.6. Методические указания для выполнения практического задания №6. «Циклы»
Цель работы: Ознакомиться с алгоритмами циклической структуры, операторами цикла с параметром, с предусловием, с постусловием.
Задание:
В приложении 7 выбрать вариант задания.
Выполнить практическое задание, используя пример программы циклической структуры.
Составить блок-схему алгоритма.
Написать программу и отладить ее по заранее подготовленному тесту.
Оформить задание в тетради для практических заданий.
Результат выполнения программы предъявить преподавателю.
Ответить на вопросы самоконтроля.
Защитить выполненную работу у преподавателя.