- •Пояснительная записка
- •Программирование на алгоритмическом языке pascal
- •«Ознакомление с работой в интегрированной среде Borland Pascal»
- •Задание 1
- •Ход работы:
- •Загрузите систему Borland Pascal.
- •После входа в систему появляется рабочий экран (рис. 2).
- •Изучите пункты главного меню.
- •Задание 2
- •Методические указания к лабораторным занятиям для учащихся.
- •Лабораторная работа №1
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Ход выполнения работы.
- •Задание 2
- •Лабораторная работа №2
- •Краткие теоретические сведения
- •Правила работы с условным оператором.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2.
- •Задание 3
- •Правила организации цикла с параметром.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2
- •Решение:
- •Задачи для самостоятельного решения.
- •Лабораторная работа №4. Тема: «Разработка, отладка и испытание простых циклических алгоритмов и программ с неизвестным числом повторений».
- •Краткие теоретические сведения
- •Вопросы для самоподготовки:
- •Задание 1
- •Решение:
- •Задание 2
- •Домашнее задание
- •Вопросы для самоподготовки:
- •Определим необходимые формулы:
- •Составим графическую схему алгоритма.
- •Составим таблицу соответствия переменных.
- •В соответствии с пунктами 2 и 3 составьте программу.
- •Задание 2
- •Задание 3
- •Решение:
- •Составим графическую схему алгоритма:
- •Составим таблицу соответствия переменных
- •Составим программу на языке Pascal.
- •Задание 4
- •Лабораторная работа №6. Тема: «Разработка, отладка и испытание циклических алгоритмов и программ с известным числом повторений с внутренними ветвлениями».
- •Задание
- •Задание 2
- •Решение:
- •Задание 3
- •Решение:
- •Задание 4 (задачи повышенной сложности)
- •Решение:
- •Задания для самостоятельного решения. Напишите программы с использованием процедур.
- •Дана последовательность слов. Напечатайте все слова, предварительно преобразовав каждое из них по следующему правилу:
- •Задание 5
- •Решение:
- •Задание 8 (повышенной сложности)
- •Решение:
- •Задание для самостоятельного решения:
- •(Повышенной сложности)
- •Лабораторная работа №8. Тема: «Разработка алгоритмов и программ методом пошаговой детализации. Обработка двумерных массивов. Организация ввода-вывода с помощью текстовых файлов».
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Решение:
- •Составим графическую схему алгоритма.
- •Составляем таблицу соответствия переменных.
- •Составляем программу на языке программирования Pascal.
- •Задание 3
- •Задание 4
- •Лабораторная работа №9. Тема: «Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя».
- •Краткие теоретические сведения
- •Задание
- •Задача для самостоятельного решения.
- •Лабораторная работа №10. Тема: «Разработка алгоритмов и программ обработки строк. Использование множеств для решения задач».
- •Вопросы для самоподготовки:
- •Задание 6
- •Решение:
- •Задачи для самостоятельного решения:
- •Лабораторная работа №11. Тема: «Разработка алгоритмов и программ с использованием методов внутренней сортировки».
- •Задание
- •Решение:
- •Для каждой команды в одной строке введите через пробел
- •Задание для самостоятельного решения:
- •Лабораторная работа №12. Тема: «Разработка рекурсивных алгоритмов и программ».
- •Краткие теоретические сведения
- •Задание.
- •Лабораторная работа №13. Тема: «Разработка алгоритмов и программ с использованием процедур и функций модулей crt и dos».
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание.
- •Краткие теоретические сведения
- •Решение:
- •Задание 2
- •Андреев
- •Задание для самостоятельного решения.
- •Лабораторная работа №16. Тема: «Разработка алгоритмов и программ с использованием динамических структур данных».
- •Краткие теоретические сведения
- •Задание
- •Задание для самостоятельного решения
- •Задача о «Ханойских башнях».
- •Решение:
- •Задания для самостоятельного решения.
- •Задание для самостоятельного решения:
- •Задания для самостоятельного решения:
- •Лабораторная работа №22. Тема: «Разработка программ обработки созданных файлов».
- •Постановка задачи
- •Содержание отчета
- •Варианты задания:
- •Лабораторная работа №23. Тема: «Разработка программ с использованием прерываний bios и dos, процедурных типов».
- •Краткие теоретические сведения
- •Константы
- •Задание
- •Задание для самостоятельного решения.
- •Лабораторная работа №25. Тема: «Разработка простейших программ с использованием компонентов страницы Standart».
- •Вопросы для самоподготовки:
- •Задание 1
- •Лабораторная работа №26. Тема: «Разработка программ обработки массивов с использованием компонентов страницы Standart».
- •Задание
- •Procedure tForm1.Button2Click (Sender: tObject); {обработка массива}
- •Лабораторная работа №32. Тема: «Разработка программ создания и использования мультимедийных возможностей».
- •Задание
- •Лабораторная работа №34. Тема: «Создание и использование справочной системы».
- •Краткие теоретические сведения
- •Задание
- •Ход работы:
- •Лабораторная работа №35. Тема: «Создание установочного диска».
- •Задание
Задача для самостоятельного решения.
Напишите программу, которая удаляет начальные пробелы и преобразует прописные символы строки в строчные.
Лабораторная работа №10. Тема: «Разработка алгоритмов и программ обработки строк. Использование множеств для решения задач».
Цель работы: получение навыков составления программ на языке Pascal для задач по обработке информации, представленной в виде строк и символов;
программ получение навыков разработки и составления программ с использованием множеств.
Программные средства: система программирования Borland Pascal.
Вопросы для самоподготовки:
Понятие строки. Описание строки.
Операции со строками.
Стандартные процедуры и функции при работе со строками.
ЗАДАНИЕ 1
Подсчитайте количество букв “a” в заданной строковой переменной.
Решение:
Program Kol;
Var
b: string;
i, k: integer;
begin
writeln (‘Введите строку’);
readln (b);
k:=0;
for i:=1 to length (k) do
if b[i]=’a’
then k:=k+1;
writeln (k);
readln
end.
ЗАДАНИЕ 2
Напишите программу, которая проверит, является ли введенное с клавиатуры строка целым числом?
Решение:
Program vkey;
Var
st: string [40]; {строка}
n: integer; {номер проверяемого символа}
begin
writeln (‘Введите число и нажмите <Enter>’);
writeln (‘’);
readln (st);
n:=1;
while (n<=Length (st)) and ((st[n]>=’0’) and (st[n]<=’9’)) do
n:=n+1;
write (‘Введенная строка’);
if n<Length (st)
then
write (‘не’);
writeln (‘является целым числом’);
readln
end.
ЗАДАНИЕ 3
Напишите программу, которая в введенной с клавиатуре строке преобразует строчные буквы русского алфавита в прописные (учтите, что функция Up Case с символами русского алфавита не работает).
Решение:
Program simvol;
Var
st: string[80];
len: integer;
i: integer;
begin
writeln (‘Введите строку текста и нажмите <Enter>’);
readln (st);
len:=Length (st);
for i:=1 to len do
case st[i] of
‘a’..’n’: st[i]:=chr (ord (st[i])-32);
‘p’..’я’: st[i]:=chr (ord (st[i])-80)
end;
writeln (‘Строка преобразована к верному регистру:’);
writeln (st);
readln
end.
Задание для самостоятельного решения:
1. Составить программу для определения, имеется ли в данном слове, часть равная заданному слову.
2. Дано слово. Получить слово, являющееся записью данного слова справа налево.
3. Написать программу, определения сколько раз в данной строке встречаются гласные буквы.
ЗАДАНИЕ 4
Напишите программу, используя множественный тип данных, которая подсчитывает количество цифр в символьной строке.
Решение:
Program counter;
Var
c: char;
k: integer;
begin
k:=0;
writetln (‘Введите символьную строку’);
repeat
readln (c);
if not (c in [‘,’, ‘.’, ‘:’, ‘,’, ‘;’, ‘+’, ‘-‘, ‘!’, ‘?’, ‘*’, ‘/’])
then
begin
if c in [‘0’..’9’]
then k:=k+1
write (c)
end;
until Eoln;
writeln;
writeln (‘Число цифр в строке’, k:2);
readln
end.
ЗАДАНИЕ 5
Напишите программу, которая формирует множество Znaki, в которое входят только строчные латинские буквы, встретившиеся во входной строке, и множество знаков препинания prepinaki, содержащиеся во входной строке.
Решение:
Program ZP;
Var
c, i, j: char;
znaki: set of ‘a’ .. ‘z’;
prepinaki: set of ‘!’ .. ‘?’;
begin
writeln (‘Введите строку’);
znaki:=[];
prepinaki:=[];
repeat
read (c);
if c in [‘a’ .. ‘z’]
then znaki:=znaki+[c]
else if c in [‘:’, ‘;’, ‘,’, ‘.’, ‘!’, ‘?’]
then pripenaki:=pripenaki+[c];
until Edn;
writeln (‘Латинские буквы:’);
for i:=’a’ to ‘z’ do
if i in znaki
then write (i:2);
writeln;
write (‘Знаки препинания’);
for j:=’!’ to ‘?’ do
if j in prepinaki
then write (j:2);
readln
end.
