ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Лекция
Дисциплина: Программирование
Добавлен: 19.10.2018
Просмотров: 5037
Скачиваний: 11
СОДЕРЖАНИЕ
1.2.Описание стандартных типов данных
Вычисление выражений с использованием стандартных функций
Вычисление выражений с использованием стандартных функций.
Описание используемых стандартных функций.
2.1. Составной и пустой операторы.
Решение уравнений и неравенств с использованием условного оператора.
Лабораторная работа № 2, вариант № 8.
Решение уравнений и неравенств с использованием условного оператора.
Лабораторная работа № 3, вариант № 8.
Организация циклов в программе.
Лабораторная работа № 4, вариант № 8.
Организация циклов в программе.
3.3. Метод половинного деления.
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом итераций.
Распечатка результатов работы программы в следующем виде:
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом Ньютона.
Распечатка результатов работы программы в следующем виде:
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом половинного деления.
Описание метода половинного деления:
Блок-схема метода половинного деления:
Распечатка результатов работы программы в следующем виде:
Метод Монте-Карло (метод статистических испытаний)
5.2.2. Классы задач по обработке массивов.
5.2.2.1. Однотипная обработка всех или указанных элементов массивов.
5.2.2.2. Задачи, в результате решения которых изменяется структура массива.
5.2.2.3. Обработка нескольких массивов одновременно.
5.2.2.4. Поисковые задачи для массивов.
5.2.2.5.1. Сортировка вставкой
5.2.2.5.3. Сортировка обменом («пузырьковая сортировка»)
5.2.2.5.4. Сортировка фон Неймана (слиянием)
5.3.1. Описание двумерных массивов.
5.3.2. Сортировка двумерных массивов
6.2. Процедуры обработки строк.
Лабораторная работа № 7, вариант № 8.
7. Комбинированные типы. Оператор присоединения
Работа с комбинированными типами данных.
Лабораторная работа № 8, вариант № 8.
Работа с комбинированными типами данных.
Работа с множественными типами данных.
Лабораторная работа № 9, вариант № 3.
Myset := Set1 + Myset; {Слияние двух множеств}
Writeln(‘Допускается также К’);
CH :=Myfunction (Myset);
REPEAT
UNTIL KeyPressed; {Ожидается нажатие клавиши для
Возврата в ИИО}
END.
Лабораторная работа № 9.
Работа с множественными типами данных.
Цель задания:
Получение навыков в задании переменных множественного типа и выполнении простейших операций над ними.
Знакомство с задачами, в которых целесообразно использовать переменные множественных типов.
Постановка задачи:
1. Ознакомиться с конечным и упорядоченным множеством символов.
2. Составить программу для одного из вариантов.
Содержание отчета:
-
Постановка задачи.
-
Текст программы.
-
Выводы.
Образец выполнения работы.
Лабораторная работа № 9, вариант № 3.
Работа с множественными типами данных.
Постановка задачи:
Ознакомиться с конечным и упорядоченным множеством символов.
Составить программу для одного из вариантов.
Методические указания:
Программа должна правильно работать для произвольного набора символов.
Вариант задания:
Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности:
19. знаки ‘%’ ,’!’ ,’?’ ,’$’, ’#’ и цифры от ‘1’ до ‘5’.
Текст программы:
Uses crt;
const
Length = 255;
var
m1,m2 : array [1..Length] of Char;
i,a : Integer;
Begin
ClrScr;
Randomize;
For i:=1 to Length do
m1[i]:=Chr(Random(255));
a:=1;
For i:=1 to Length do
Begin
Case m1[i] of
'%': Begin m2[a] := m1[i] Inc(a); End;
'!': Begin m2[a] := m1[i] Inc(a); End;
'?': Begin m2[a] := m1[i] Inc(a); End;
'$': Begin m2[a] := m1[i] Inc(a); End;
'#': Begin m2[a] := m1[i] Inc(a); End;
'1': Begin m2[a] := m1[i] Inc(a); End;
'2': Begin m2[a] := m1[i] Inc(a); End;
'3': Begin m2[a] := m1[i] Inc(a); End;
'4': Begin m2[a] := m1[i] Inc(a); End;
end;
End;
For i:=1 to Length do
Write(m2[i],' ');
ReadLn;
End.
Результаты работы:
% 2 $ ! 5 5 5 5 |
Методические указания:
Программа должна правильно работать для произвольного набора символов.
Варианты заданий.
Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности:
-
цифры от ‘0’ до ‘9’.
-
буквы от ‘A’ до ‘F’ и от ‘X’ до ‘Z’.
-
буквы от ‘G’ до ‘N’ и цифры от ‘0’ до ‘9’.
-
знаки препинания.
-
буквы от ‘A’ до ‘Z’ и цифры от ‘0’ до ‘5’.
-
буквы от ‘T’ до ‘X’ и знаки препинания.
-
цифры от ‘5’ до ‘9’ и знаки арифметических операций.
-
знаки арифметических операций и знаки препинания.
-
цифры и знаки арифметических операций.
-
знаки препинания и буквы от ‘E’ до ‘N’.
-
знаки операций отношений.
-
цифры от ‘3’ до ‘9’, буквы от ‘A’ до ‘F’ и знаки препинания.
-
знаки арифметических операций и операций отношения.
-
буквы от ‘F’ до ‘M’ и знаки арифметических операций.
-
знаки препинания и операций отношения.
-
цифры от ‘6’ до ‘9’ и знаки операций отношения.
-
знаки арифметических операций и цифры от ‘2’ до ‘8’.
-
знаки ‘%’ ,’!’ ,’?’ ,’$’, ’#’, ’@’, ’&’ ,’*’.
-
цифры от ‘3’ до ‘7’ и знаки препинания.
-
знаки операций отношения и буквы от ‘A’ до ‘F’.
-
цифры от ‘4’ до ‘9’ , буквы от ‘G’ до ‘M’ и знаки ‘%’ ,’!’ ,’?’.
-
цифры от ‘4’ до ‘9’ и операции отношения.
-
цифры от ‘0’ до ‘8’ и знаки ‘&’,’#’,’@’.
-
знаки арифметических операций, цифры ‘2’и ‘5’, буквы ‘C’ до ‘H’.
Лабораторная работа № 10.
Операции над множествами.
Цель задания:
-
Получение навыков в организации ввода/вывода значений множественных типов.
-
Получение практических навыков в выполнении операций над множествами.
Постановка задачи:
Задан список объектов, включающий в зависимости от варианта названия ЭВМ или видов спорта. Известно, что в каждом институте имеется определенный набор вычислительных машин, а учащиеся каждой группы занимаются определенными видами спорта. Необходимо задать конкретные наборы ЭВМ (перечни видов спорта) для каждого института (каждой группы). Количество институтов(групп) указано в варианте.
Введя исходные данные, необходимо построить и распечатать множество, удовлетворяющее указанному в варианте условию.
Содержание отчета:
-
Постановка задачи для конкретного варианта.
-
Инструкция пользования программой.
-
Текст программы и результаты ее выполнения.
-
Выводы.
Образец выполнения работы.
Лабораторная работа № 10.
Операции над множествами.
Постановка задачи:
Задан список объектов, включающий в зависимости от варианта названия ЭВМ или видов спорта. Известно, что в каждом институте имеется определенный набор вычислительных машин, а учащиеся каждой группы занимаются определенными видами спорта. Необходимо задать конкретные наборы ЭВМ (перечни видов спорта) для каждого института (каждой группы). Количество институтов(групп) указано в варианте.
Введя исходные данные, необходимо построить и распечатать множество, удовлетворяющее указанному в варианте условию.
Варианты задания:
требуется построить и распечатать три множества : первое множество должно включать в себя ЭВМ, , имеющиеся во всех институтах; второе - ЭВМ, имеющиеся хотя бы в одном институте; третье - ЭВМ, которых нет ни в одном ин ституте(N=4).
Текст программы:
Program Sets;
Uses Crt;
Type
Comps = (i386, i486, Apple, Pentium, Acer, Macintosh);
TComps = set of Comps;
Const
All_comps : TComps = [i386, i486, Apple, Pentium, Acer, Macintosh];
Inst_1 : TComps = [i386,Acer, Pentium];
Inst_2 : TComps = [macintosh, Pentium];
Inst_3 : TComps = [Apple, Pentium ];
Inst_4 : TComps = [Pentium, Acer, i486];
Var
InAll, NoOne, InOne, All_Comps_In, NotInst_1,
NotInst_2, NotInst_3, NotInst_4 : TComps;
Flag : String;
Procedure OutPut(s : TComps);
Begin
If i386 in s then Write('i386 ');
If i486 in s then Write('i486 ');
If Pentium in s then Write('Pentium ');
If Apple in s then Write('Apple ');
If Acer in s then Write('Acer ');
If Macintosh in s then Write('Macintosh ');
End;
Begin
ClrScr;
All_Comps_In := Inst_1 + Inst_2 + Inst_3 + Inst_4;
NoOne := All_Comps - All_Comps_In;
Write('Comps not met in all VUZ: ');
OutPut(NoOne); WriteLn;
Write('Comps met in only one VUZ: '); OutPut(All_Comps_In-Inst_1-Inst_2-Inst_3);
OutPut(All_Comps_In-Inst_2-Inst_3-Inst_4);
OutPut(All_Comps_In-Inst_3-Inst_4-Inst_1);
OutPut(All_Comps_In-Inst_2-Inst_4-Inst_1);
WriteLn;
Write('Comps met in every VUZ: ');
NotInst_1 := All_Comps_In-Inst_1;
NotInst_2 := All_Comps_In-Inst_2;
NotInst_3 := All_Comps_In-Inst_3;
NotInst_4 := All_Comps_In-Inst_4;
OutPut(All_Comps_In-(NotInst_1 + NotInst_2 + NotInst_3 + NotInst_4));
While not KeyPressed Do;
End.
Результаты программы:
Comps not met in all VUZ: Comps met in only one VUZ: i486 i386 Macintosh Apple Comps met in every VUZ: Pentium
|
Варианты заданий.
Задано множество вычислительных машин, которыми может быть обеспечен институт: IBM-386, IBM-486, Pentium, Macintosh, APPLE, ACER. Известен набор машин, имеющихся в каждом институте. Количество институтов (N) указано в варианте:
1) требуется построить и распечатать множество, включающее в себя вычислительные машины:
-
которыми обеспечены все институты (N=10).
-
которые имеют хотя бы один институт.
-
которых нет ни водном институте.
2) требуется построить и распечатать два множества:
-
первое множество должно включать в себя ЭВМ, имеющиеся во всех институтах
второе - ЭВМ, имеющиеся хотя бы в одном институте(N=5).
-
первое множество должно включать в себя ЭВМ, имеющиеся в одном институте; второе - ЭВМ, которых нет ни в одном институте(N=5).
-
первое множество должно включать в себя ЭВМ, которых нет ни в одном институте; второе - ЭВМ, имеющиеся во всех институтах(N=5).
3) требуется построить и распечатать три множества :
-
первое множество должно включать в себя ЭВМ, , имеющиеся во всех институтах;
-
второе - ЭВМ, имеющиеся хотя бы в одном институте;
-
третье - ЭВМ, которых нет ни в одном институте(N=4).