- •Общие сведения об эвм
- •1. Общая функциональная схема эвм
- •2. Языки программирования
- •3. Этапы решения задач на эвм
- •4. Понятие алгоритма и его свойства
- •5. Графическое описание алгоритмов. Схемы алгоритмов
- •Блоки для изображения схем алгоритмов и программ
- •6. Типы алгоритмов
- •7. Ос эвм. Понятие о файловой системе
- •Имя.Расширение
- •8. Команды ms dos
- •Программирование на языке Паскаль
- •1. Структура программы на языке паскаль
- •2. Описание данных
- •2.1. Константы
- •2.2. Переменные
- •3. Комментарии
- •4. Операторы языка паскаль
- •5. Операторы обработки данных
- •5.1. Операторы ввода
- •5.2. Операторы вывода
- •5.3. Вычисление по формулам. Оператор присваивания
- •6. Линейные программы
- •7. Управляющие операторы
- •7.1. Разветвляющиеся алгоритмы. Оператор if (если)
- •7.2. Пример разветвляющейся программы
- •7.3. Оператор case
- •8. Циклические алгоритмы и программы
- •8.1. Общая схема цикла
- •8.2. Циклы со счетчиком
- •8.3. Итерационные циклы
- •8.3.1. Оператор цикла с пост-условием
- •8.3.2. Оператор цикла с пред-условием
- •Описание данных
- •9. Типы данных, используемых в паскале
- •9.1. Представление данных в эвм
- •9.2. Стандартные функции Паскаля и Турбо Паскаля
- •9.3. Булевские переменные и выражения
- •9.4. Функции для работы с символами
- •Функции языка Паскаль
- •9.5. Массивы
- •10. Примеры программ обработки массивов
- •11. Особенности алгоритмов и программ с накапливанием
- •12. Алгоритм нахождения минимума и максимума
- •13. Задача сортировки
- •14. Обработка многомерных массивов
- •15. Программы обработки строк символов (текстов)
- •15.1. Простейшие алгоритмы и программы обработки строк
- •15.2. Анализ символов в строке
- •16. Типовые программы обработки строк
- •16.1. Выделение слов из текста (слова разделены одним пробелом)
- •16.2. Выделение слов из текста (слова разделены несколькими пробелами)
- •16.3. Некоторые типовые алгоритмы и программы обработки массивов строк (слов из текстов)
- •17. Алгоритмы поиска
- •17.1. Алгоритм линейного поиска
- •17.2. Алгоритм дихотомического поиска
- •Процедуры, функции и модули в паскале
- •18.1. Процедуры
- •18.1.1. Пример программы с процедурой
- •18.1.2. Расположение процедур в программе
- •18.2. Функции
- •18.2.1. Пример программы с функцией
- •18.3. Внешние процедуры и функции
- •18.3.1. Модули пользователей
- •19. Итерационные циклы
- •19.1. Приближенное вычисление функций
- •19.2. Решение уравнений приближенными методами
- •19.2.1. Метод деления отрезка пополам
- •19.2.2. Метод Ньютона
- •19.2.3. Метод прохождения отрезка с переменным шагом
- •19.3. Вычисление определенных интегралов
- •19.3.1. Метод прямоугольников
- •19.3.2. Метод трапеций
- •20. Дополнительные сведения о ТипАх данных, применяемЫх в Паскале
- •20.1. Перечисляемый тип
- •20.2. Интервальный тип
- •20.3. Множества
- •20.3.1. Примеры программ с использованием множеств
- •Алгоритм
- •20.4. Записи
- •20.4.1. Примеры программ обработки записей
- •Алгоритм
- •Оператор_1;
- •21. Файлы и наборы данных
- •Assign(имя_файла, имя_нд);
- •21.1. Текстовые файлы
- •21.1.1. Создание текстового файла
- •21.1.2. Работа с существующим текстовым файлом
- •21.2. Типизированные файлы
- •21.2.1. Последовательная обработка типизированных файлов
- •21.2.2. Использование прямого доступа к записям типизированного файла
- •21.2.3. Упорядочение записей в файле
- •Алгоритм
- •21.2.4. Удаление записей из файла
- •21.2.5. Вставка записей в файл
- •22. Динамическое распределение памяти. Указатели и списки
- •22.1. Использование указателей. Списки
- •22.2. Очереди
- •22.2.1. Очередь типа lifo
- •22.2.2. Очередь fifo
- •23. Стандартные модули Турбо Паскаля
- •23.1. Модуль Crt
- •23.1.1. Работа с клавиатурой и звуком
- •23.1.2. Управление цветом
- •23.1.3. Создание окон и позиционирование курсора
- •23.1.4. Построение графика в текстовом режиме
- •23.1.5. Алгоритм и программа представления меню средствами Турбо Паскаля
- •23.2. Модуль dos
- •23.3. Модуль Graph
- •23.3.1. Инициирование графического режима
- •1) Процедура InitGraph(Var grDr,grMd:integer;path:string);
- •23.3.2. Вывод точек на экран
- •23.3.3. Вывод текста (надписей) в графическом режиме
- •1) SetTextStyle(Шрифт, Направление:Word; Размер:1..10);
- •23.3.4. Построение графических изображений
- •1) SetLineStyle(Тип_линии, Образец, Толщина : Word);
- •23.3.5. Запоминание и вывод изображений
- •24. Рекомендации по оформлению текста программ
- •Библиографический список
- •Оглавление
8.3.2. Оператор цикла с пред-условием
Он отличается от оператора Repeat тем, что условие выполнения цикла проверяется до начала. Цикл выполняется, если оно истинно. Оператор с пред-условием начинается служебным словом While. Общая форма его записи:
While условие do
Оператор1;
Схема работы оператора приведена на рис. 2.7.
В этом операторе условие также записывается относительно параметра. Если в теле цикла необходимо выполнить несколько операторов, то они заключаются в блок следующего вида:
Begin
операторы
End;
В отличие от Repeat цикл While может не выполняться ни разу.
Пример. Вычисление множителей последовательности целых чисел (см. пример словесного описания алгоритма из раздела "ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА").
Алгоритм
1. Ввести первое число.
2. Пока нет признака конца последовательности выполнять
2.1. Положить число простое
2.2. Для делителя от 2 до ]число/2[ выполнять
если число делится на делитель, то
а) вывести делитель и
б) изменить предположение – «не простое».
2.3. Если число простое, то вывести: "простое число"
2.4. Прочитать следующее число.
3. Закончить.
Программа для этого алгоритма будет иметь вид
Program Dividers;
Const
d=2;
Var
Num, Del,P : Integer;
Begin
Writeln ('Введите число'); { п.1 }
Readln(Num);
{ п.2 }
While Num <>0 Do
Begin
P := 0; { п.2.1 – число простое }
For Del := d To Num Div d Do
Begin
If Num Mod Del=0 Then
Begin
Write(Del);
P := 1; { число не простое }
End;
End;
If P=0 Then{ п.2.3 }
Writeln('Число ',Num,' - простое');
Writeln('Введите число'); { п.2.4 }
Read(Num);
End;
End.
В программе использован оператор While, так как уже первое число может быть нулем и цикл выполнять не нужно.
Сведем основные операторы языка Паскаль и описатели данных в табл. 2 и 3 соответственно.
Основные операторы языка ПаскальТаблица 2
Название |
Общий вид |
Действие |
Пример записи |
1. Присваивания |
Переменная = выражение; |
Значение выражения записывается на место переменной |
X:= 0; Y:=A/B+C*D; |
2. Ввода |
Read(список); Readln(список); |
Перепись данных с устройства ввода в ОП. Readln – переход на новую строку |
Read (X,Y,A); |
3. Вывода |
Write(список); Writeln(список); |
Перепись данных из ОП на устройство вывода. Writeln - переход на новую строку |
Write ('X=',X:8:5.); |
4. Условный |
If Условие Then Оператор1 Else Оператор2; |
Ветвление (выполнение оператора1 или оператора2) |
If X>0 Then Y := Sqrt(X) Else Y := Sqr(X); |
5. Выбора |
Case Выражение Of Значение1 : Оператор1; . . . . . . ЗначениеN : ОператорN; End; |
Ветвление по N направленям |
Case Month Of 3..5 : Writeln(' Весна'); 6..8 : Writeln(' Лето'); End; |
6. Цикла со счечиком (For) |
For Пар.:= Н.З. To К.З. Do Оператор 1; For Пар.:= Н.З.Downto К.З. Do Оператор 1; |
Выполнение оператора1 n раз: n = кон.знач. – нач.знач.+1 Выполнение оператора1 n раз: n = нач.знач. – кон.знач.+1 |
S := 0; For I := 1 To 20 Do S := S+I; |
7. Цикла с постусловием |
Repeat Операторы Until Условие; |
Выполнение операторов пока условие "ложно". Выполняется не менее 1 раза. |
Num := 1; Repeat Num := Num*2; Until Num>1000; |
8. Цикла с предусловием |
While Условие Do Оператор1; |
Выполнение оператора 1 пока условие "истинно". |
Num := 1; While Num<1000 Do Num := Num*2; |
9. Заголовок программы |
Program Имя; |
Начало программы |
Program Pr1; |
10. Начало блока операторов |
Begin |
Обозначение начала блока |
Begin |
11. Конец блока, программы |
End; End. |
Обозначение конца блока или программы |
End; End. |
Таблица 3.