- •Учебно-методическое пособие
- •Маршрутная карта изучения дисциплины по Модулю 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. Таблица вариантов индивидуального задания
14.4. Функции обработки строковых переменных
length(s:string):byte - подсчитывается фактическая длина строки, включая пробелы и знаки препинания.
Например:
…
s:=’Москва’;
wrtiteln(length(s));
Результат на экране:
Число 6, количество символов в сломе Москва.
copy(s:string,i,n):string -
копируется фрагмент строки s.
Где s - переменная, из которой копируется фрагмент;
i - позиция, с которой копируется;
n - количество копируемых символов.
Если i и n - вне пределов строки, сообщения об ошибке не будет.
Если i>length(s ) результат - строка нулевой длины.
Если n >length(s ) результат - фрагмент от i до конца строки.
Например:
…
s:='электрификация';
b:=copy(s,8,3)+copy(s,12,3);
writeln(s);
…
Результат на экране:
фикция
pos(t:string,s:string):byte -
осуществляет поиск подстроки t в строке s.
Результатом этой функции является позиция вхождения t в s. Если подстрока не найден - результат 0.
Например:
…
t:='ритм'; s:='алгоритм';
k:=pos(t,s);
wrieln(‘k=’,k);
Результат на экране:
k=5
14.5. Процедуры обработки строковых переменных
insert(t,s,i);
- вставить подстроку t в строку s начиная, начиная с позиции i.
Например:
…
s:='ритм';
insert(‘алго’,s,1);
wrieln(s);
…
Результат на экране:
алгоритм
delete(s,i,n) ;
- удалить из строки s с позиции i - n символов.
Например:
…
s:='алгоритм';
delete(s,1,4);
writeln(s);
…
Результат на экране:
ритм
i,n - в процедурах insert и delete обязательно должны присутствовать в строке s. Иначе - сообщение об ошибке.
14.6. Примеры обработки строковых переменных
Задача.
В произвольном тексте заменить все сочетания “чя” на “ча”.
Таблица идентификаторов
№ |
Наименование переменной |
Обозначения в программе |
1 |
Текст |
Text |
2 |
Индекс массива |
i |
Program word_text;
Uses crt;
var
text:string;
i:integer;
begin
clrscr;
writeln(‘Введите текст’);
readln(text);
for i:=1 to length(text)-1 do
if copy(text,i,2)=‘чя’ then
begin
delete (text,i+1,1);
insert (‘a’,text,i+1);
end;
writeln(‘Преобразованный текст’);
writeln(text);
readln;
end.
Задача.
В произвольном тексте (text) в слове word заменить первую букву на заглавную и подсчитать количество замен (текст латинский).
Таблица идентификаторов
№ |
Наименование переменной |
Обозначения в программе |
1 |
Текст |
text |
2 |
Слово |
word |
3 |
Индекс массива |
i |
4 |
Количество замен |
s |
Program word_text1;
Uses crt;
var
text,word:string;
s,i:integer;
begin
writeln(‘Введите текст’);
readln(text);
s: =0;
writeln(‘Введите слово’);
readln(word);
for i:=1 to length(text)-lenght(word)+1 do
if copy(text,i,length(word))=word then
begin
s:=s+1;
text[i]:=upcase(text[i]);
end;
writeln (s);
readln;
end.
Задача.
Заменить в произвольном тексте все слова word1 на слово word2.
Таблица идентификаторов
№ |
Наименование переменной |
Обозначения в программе |
1 |
Текст |
text |
2 |
Слова первое |
word1 |
3 |
Слова второе |
word2 |
4 |
Индекс |
i |
Program word_text2;
var
text,word1,word2:string;
i:integer;
begin
writeln(‘Введите исходный текст’);
readln text);
writeln(‘Введите первое слово’);
readln(word1);
writeln(‘Введите второе слово’);
readln(word2);
repeat
i:=pos(word1,text)
if i<>0 then
begin
delete(text,i,length(word1));
insert(word2,text,i);
end;
until i=0;
writeln(‘Преобразованный текст’);
writeln(text);
readln;
end.