- •Пояснительная записка
- •Программирование на алгоритмическом языке 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. Тема: «Создание установочного диска».
- •Задание
Задание 6
Известен набор продуктов: хлеб, масло, сыр, молоко, имеющиеся в ассортименте магазинов. В три магазина доставлены отдельные виды этих продуктов требуется построить множества А, В, С, которые содержат собственно:
продукты, имеющиеся одновременно во всех магазинах;
продукты, имеющиеся, по крайней мере, в одном из магазинов;
продукты, которых нет ни в одном из магазинов.
Решение:
Program MAGAZIN;
const
n=3;
type
Product= (хлеб, масло, сыр, молоко);
ASSORT= SET of Product;
Mag=array[1..n] of assort;
Var
M1:Mag;
x: product;
a, b, c, XM1: integer;
i, j, iw, M: integer;
begin
for i:=1to n do
begin
XM1:=[];
writeln (‘Введите номера продуктов’, i:2, ‘-го магазина’);
repeat
read (iw);
Case iw of
1: x:=хлеб;
2: x:=масло;
3: x:=сыр;
4: x:=молоко;
end;
XM1:=XM1+[x];
until Eoln;
m1[i]:=XM1;
end;
a:=m1[1];
b:=[];
c:=[хлеб .. молоко];
for i:=1 to n do
begin
b:=b+m1[i];
a:=a+m1[i];
c:=c-b
end;
for i:=1 to 3 do
begin
case i of
1: writeln (‘Продукты, имеющиеся одновременно во всех магазинах’);
2: writeln (‘Ассортимент продуктов’);
3: writeln (‘Продукты, которых нет ни в одном магазине’);
end;
for x:=хлеб to молоко do
if x in a
then
case
хлеб: write (‘хлеб’);
масло: write (‘масло’);
сыр: write (‘сыр’);
молоко: write (‘молоко’);
end;
if i:=1 then a:=b
else a:=c;
writeln
end;
readln
end.
Задачи для самостоятельного решения:
Задано множество персональных компьютеров, которыми может быть обеспечен колледж: Pentium II, Pentium III, Pentium IV, Celeron, Atlon. Известен набор компьютеров, имеющихся в каждом колледже. Количество колледжей равно 10. Требуется построить и распечатать множество, включающее в себя персональные компьютеры:
которыми обеспечены все колледжи;
которые имеет хотя бы один колледж;
которых нет ни в одном колледже.
Задано множество ассортиментного перечня обуви, которыми может быть обеспечен каждый из 5-ти имеющихся магазинов: кроссовки, мужские туфли, женские туфли модельные, босоножки. Требуется построить и распечатать три множества: первое множество должно включать в себя обувь, которая имеется во всех магазинах, второе – обувь, которой нет ни в одном из магазинов; третье – обувь которая есть хотя бы в одном из магазинов.
Лабораторная работа №11. Тема: «Разработка алгоритмов и программ с использованием методов внутренней сортировки».
Цель работы: получение навыков составления программ на языке Pascal с использованием методов внутренней сортировки.
Задание
Напишите программу, которая высчитывает количество матчей и очков. Сортирует массив по убыванию количества произведенных побед.
Для исходных данных и результата обработки используется двумерный массив game, количество строк которого на единицу больше, чем количество команд, а количество столбцов на два больше, чем видов результатов матчей. Дополнительные два столбца используются для хранения вычислительного количества матчей и очков, а дополнительная строка – как буфер при обмене строк во время сортировки строк таблицы.
-
Команды
Матчей
Побед
Ничьих
Поражений
Очков
Алания
5
6
4
Динамо
1
9
5
Зенит
8
6
1
Локомотив
6
5
4
Ростсельмаш
6
6
3
Ротор
5
8
2
Спартак
9
4
2
