Файл: 1. Лекции Паскаль (Часть 1).doc

Добавлен: 19.10.2018

Просмотров: 4459

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Оглавление

1.Стандартные типы данных

1.1.Структура программы

1.2.Описание стандартных типов данных

Целый тип

Вещественный тип

Символьный тип

Булевский тип

Перечисляемый тип

1.3.Выражения

Лабораторная работа №1

Вычисление выражений с использованием стандартных функций

Лабораторная работа № 1.

Вычисление выражений с использованием стандартных функций.

Постановка задачи

Описание используемых стандартных функций.

Программы № 15.а

Программы № 15.б

Варианты заданий

2. Операторы языка.

2.1. Составной и пустой операторы.

2.2.Условный оператор.

2.3.Операторы повторений.

2.4.Оператор выбора

2.5.Практические задания.

Лабораторная работа № 2

Решение уравнений и неравенств с использованием условного оператора.

Лабораторная работа № 2, вариант № 8.

Решение уравнений и неравенств с использованием условного оператора.

Варианты заданий

Лабораторная работа № 3.

Построение таблиц функций.

Лабораторная работа № 3, вариант № 8.

Построение таблиц функций.

Варианты заданий

Лабораторная работа № 4.

Организация циклов в программе.

Лабораторная работа № 4, вариант № 8.

Организация циклов в программе.

Варианты заданий

3.Численные методы.

3.1.Метод итераций

3.2.Метод Ньютона

3.3. Метод половинного деления.

Лабораторная работа № 5

Решение нелинейных уравнений.

Лабораторная работа № 5, вариант № 3.

Решение нелинейных уравнений методом итераций.

Описание метода итераций:

Текст программы.

Распечатка результатов работы программы в следующем виде:

Лабораторная работа № 5, вариант № 3.

Решение нелинейных уравнений методом Ньютона.

Описание метода Ньютона:

Блок-схема метода Ньютона:

Текст программы.

Распечатка результатов работы программы в следующем виде:

Лабораторная работа № 5, вариант № 3.

Решение нелинейных уравнений методом половинного деления.

Описание метода половинного деления:

Блок-схема метода половинного деления:

Текст программы.

Распечатка результатов работы программы в следующем виде:

Метод Монте-Карло (метод статистических испытаний)

5. Массивы.

5.1. Процедуры и функции.

5.2. Одномерные массивы.

5.2.1. Описание массивов.

5.2.2. Классы задач по обработке массивов.

5.2.2.1. Однотипная обработка всех или указанных элементов массивов.

5.2.2.2. Задачи, в результате решения которых изменяется структура массива.

5.2.2.3. Обработка нескольких массивов одновременно.

5.2.2.4. Поисковые задачи для массивов.

5.2.2.5. Сортировка массивов.

5.2.2.5.1. Сортировка вставкой

5.2.2.5.2. Сортировка выбором

5.2.2.5.3. Сортировка обменом («пузырьковая сортировка»)

5.2.2.5.4. Сортировка фон Неймана (слиянием)

5.2.2.5.5. Шейкер-сортировка

5.3. Двумерные массивы.

5.3.1. Описание двумерных массивов.

5.3.2. Сортировка двумерных массивов

Лабораторная работа № 4.

Работа с массивами чисел.

Образец выполнения задания.

Лабораторная работа № 4.

Работа с массивами чисел.

Варианты заданий.

6. Обработка строк.

6.1. Функции обработки строк.

6.2. Процедуры обработки строк.

Лабораторная работа № 7.

Обработка строк.

Лабораторная работа № 7, вариант № 8.

Обработка строк.

7. Комбинированные типы. Оператор присоединения

7.1. Записи

7.2. Оператор присоединения

Лабораторная работа № 8.

Работа с комбинированными типами данных.

Лабораторная работа № 8, вариант № 8.

Работа с комбинированными типами данных.

8. Множественные типы данных.

8.1. Множества.

Лабораторная работа № 9.

Работа с множественными типами данных.

Лабораторная работа № 9, вариант № 3.

Работа с множественными типами данных.

Варианты заданий.

Лабораторная работа № 10.

Операции над множествами.

Лабораторная работа № 10.

Операции над множествами.

Варианты заданий.

Myset := Set1 + Myset; {Слияние двух множеств}

Writeln(‘Допускается также К’);

CH :=Myfunction (Myset);

REPEAT

UNTIL KeyPressed; {Ожидается нажатие клавиши для

Возврата в ИИО}

END.


Лабораторная работа № 9.

Работа с множественными типами данных.

Цель задания:

Получение навыков в задании переменных множественного типа и выполнении простейших операций над ними.

Знакомство с задачами, в которых целесообразно использовать переменные множественных типов.


Постановка задачи:

1. Ознакомиться с конечным и упорядоченным множеством символов.

2. Составить программу для одного из вариантов.


Содержание отчета:
  1. Постановка задачи.

  2. Текст программы.

  3. Выводы.


Образец выполнения работы.

Лабораторная работа № 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



Методические указания:

Программа должна правильно работать для произвольного набора символов.

Варианты заданий.

Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности:


  1. цифры от ‘0’ до ‘9’.

  2. буквы от ‘A’ до ‘F’ и от ‘X’ до ‘Z’.

  3. буквы от ‘G’ до ‘N’ и цифры от ‘0’ до ‘9’.

  4. знаки препинания.

  5. буквы от ‘A’ до ‘Z’ и цифры от ‘0’ до ‘5’.

  6. буквы от ‘T’ до ‘X’ и знаки препинания.

  7. цифры от ‘5’ до ‘9’ и знаки арифметических операций.

  8. знаки арифметических операций и знаки препинания.

  9. цифры и знаки арифметических операций.

  10. знаки препинания и буквы от ‘E’ до ‘N’.

  11. знаки операций отношений.

  12. цифры от ‘3’ до ‘9’, буквы от ‘A’ до ‘F’ и знаки препинания.

  13. знаки арифметических операций и операций отношения.

  14. буквы от ‘F’ до ‘M’ и знаки арифметических операций.

  15. знаки препинания и операций отношения.

  16. цифры от ‘6’ до ‘9’ и знаки операций отношения.

  17. знаки арифметических операций и цифры от ‘2’ до ‘8’.

  18. знаки ‘%’ ,’!’ ,’?’ ,’$’, ’#’, ’@’, ’&’ ,’*’.

  19. цифры от ‘3’ до ‘7’ и знаки препинания.

  20. знаки операций отношения и буквы от ‘A’ до ‘F’.

  21. цифры от ‘4’ до ‘9’ , буквы от ‘G’ до ‘M’ и знаки ‘%’ ,’!’ ,’?’.

  22. цифры от ‘4’ до ‘9’ и операции отношения.

  23. цифры от ‘0’ до ‘8’ и знаки ‘&’,’#’,’@’.

  24. знаки арифметических операций, цифры ‘2’и ‘5’, буквы ‘C’ до ‘H’.



Лабораторная работа № 10.

Операции над множествами.

Цель задания:
  1. Получение навыков в организации ввода/вывода значений множественных типов.

  2. Получение практических навыков в выполнении операций над множествами.

Постановка задачи:

Задан список объектов, включающий в зависимости от варианта названия ЭВМ или видов спорта. Известно, что в каждом институте имеется определенный набор вычислительных машин, а учащиеся каждой группы занимаются определенными видами спорта. Необходимо задать конкретные наборы ЭВМ (перечни видов спорта) для каждого института (каждой группы). Количество институтов(групп) указано в варианте.

Введя исходные данные, необходимо построить и распечатать множество, удовлетворяющее указанному в варианте условию.


Содержание отчета:
  1. Постановка задачи для конкретного варианта.

  2. Инструкция пользования программой.

  3. Текст программы и результаты ее выполнения.

  4. Выводы.

Образец выполнения работы.

Лабораторная работа № 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).


88