- •Пояснительная записка
- •Программирование на алгоритмическом языке 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. Тема: «Создание установочного диска».
- •Задание
Решение:
Program sport;
const
NC=7; {число команд}
Var
team: array[1..NC+1] of string[30]; {команда}
game: array[1..NC+1, 1..5] of integer; {кол-во матчей, побед, ничьих}
m: integer;
i, j: integer;
begin
team[1]:=’Алания ’;
team[2]:=’Динамо ’;
team[3]:=’Зенит ’;
team[4]:=’Локомотив ’;
team[5]:=’Ростсельмаш’;
team[6]:=’Ротор ’;
team[7]:=’Спартак ’;
writeln (‘Для каждой команды в одной строке введите через пробел’);
writeln (‘число побед, ничьих и поражений и нажмите <Enter>’);
writeln;
for i:=1 to NC do
begin
write (team[i], ‘’);
readln (game[i, 2], game[i,3], game[i,4]);
end;
{подсчет кол-ва матчей и очков}
for i:=1 to NC do
begin
game[i,1]:=game[i,2]+game[i,3]+game[i,4]; {кол-во матчей}
game[i,5]:=game[i,2]*3+game[i,3]; {кол-во очков}
end;
{сортировка таблицы}
for i:=1 to NC-1 do
begin
{найти строку, в которой максимальное количество очков}
m:=i;
for j:=i+1 to NC do
if game[j,5]>game[m,5] then m:=j;
{обменяем i-ю строку с m-й}
team[NC+1]:=team[i];
team[i]:=team[m];
team[m]:=team[NC+1];
for j:=1 to 5 do
begin
game[NC+1, j]:=game[i, j];
game[i, j]:=game[m, j];
game[m, j]:=game[NC+1, j];
end;
end;
{вывод итоговой таблицы}
writeln;
writeln (‘**Итоговая таблица**’);
writeln (‘---------------------------------------------------------------------------------‘);
writeln (‘ Команда Матчей Побед Ничьих Пораж. Очков’);
writeln (‘---------------------------------------------------------------------------------‘);
for i:=1 to NC do
begin
write (i:2, ‘.’, team[i]);
for j:=1 to 5 do
write (game[i, j]:7);
writeln;
end;
writeln (‘--------------------------------------------------------------------------------‘);
writeln (‘Для завершения нажмите <Enter>’);
readln;
end.
Пример работы программы:
Для каждой команды в одной строке введите через пробел
число побед, ничьих и поражений и нажмите <Enter>
Алания -> 5 6 4
Динамо -> 1 9 5
Зенит -> 8 6 1
Локомотив -> 6 5 4
Ростсельмаш -> 6 6 3
Ротор -> 5 8 2
Спартак -> 9 4 2
**Итоговая таблица**
Команда |
Матчей |
Побед |
Ничьих |
Пораж. |
Очков |
1. Спартак |
15 |
9 |
4 |
2 |
31 |
2. Зенит |
15 |
8 |
6 |
1 |
30 |
3. Ростсельмаш |
15 |
6 |
6 |
3 |
24 |
4. Локомотив |
15 |
6 |
5 |
4 |
23 |
5. Ротор |
15 |
5 |
8 |
2 |
23 |
6. Алания |
15 |
5 |
6 |
4 |
21 |
7. Динамо |
15 |
1 |
9 |
5 |
12 |
Для решения нажмите <Enter>
Задание для самостоятельного решения:
Напишите программу, которая высчитывает количество матчей и очков. Сортирует массив по убыванию количества произведенных побед.
Решение задачи производится аналогично предыдущей. Для исходных данных и результата обработки используется двумерный массив hockey, количество строк которого на единицу больше, чем количество команд, а количество столбцов на два больше, чем видов результатов матчей. Дополнительные два столбца используются для хранения вычислительного количества матчей и очков, а дополнительная строка – как буфер при обмене строк во время сортировки строк таблицы.
-
Команды
Матчей
Побед
Ничьих
Поражений
Очков
Гомель
5
2
0
Керамин
0
5
5
Гомель-2
7
0
1
