- •Содержание
- •Пояснительная записка
- •Раздел 1. Основы программирования
- •Тема 1.1 Понятие алгоритма
- •Понятие алгоритма. Свойства алгоритма
- •Алгоритмический язык
- •Понятие алгоритма. Свойства алгоритма
- •Хорезми
- •2. Алгоритмический язык
- •Тема 1.2 Методы описания алгоритма
- •Виды описания алгоритма
- •Тема 1.3 Типы алгоритмов
- •1.Типы алгоритмов
- •Алгоритм линейной структуры
- •3. Разветвляющийся алгоритм
- •4. Циклический алгоритм
- •5.Виды циклов
- •Цикл с предусловием (цикл пока)
- •2. Цикл с постусловием (цикл до)
- •3. Арифметический цикл (цикл для) – цикл с параметром.
- •Тема 1.4. Алгоритмический ряд.
- •Операторы цикла с условием
- •Операторы ограничения и прерывания цикла
- •Раздел 2. Решение задач на пэвм.
- •Тема 2.1. Основные этапы подготовки задачи к решению на пэвм.
- •Этапы решения задач
- •Тема 2.2 Программа на языке высокого уровня.
- •Тема 2.3. Методика Джексона
- •1. Методика Джексона
- •Шаг объект-действие
- •Раздел 3.Разработка программы на языке Турбо Паскаль
- •Тема 3.1 Основные элементы
- •История и классификация языков программирования
- •Элементы языка Турбо Паскаль
- •Тема 3.2. Типы данных
- •1. Типы данных Типы данных
- •Тема3.3 Программа на языке Турбо Паскаль
- •Структура программы на языке Паскаль
- •4. Вывод данных в тр
- •5. Ввод данных в тр
- •Тема 3.4 Массивы и их обработка
- •Строковый тип данных
- •Процедуры и функции для работы со строками
- •1. Определение массива
- •2 Описание массивов
- •3 Действия над массивами
- •4.Двумерный массив
- •6.Строковый тип данных
- •'Текстовая строка'
- •7. Процедуры и функции для работы со строками
- •Тема 3.5 Встроенные процедуры и функции
- •1. Арифметические процедуры и функции:
- •2. Функции преобразования типов:
- •3. Процедуры и функции для работы со строками:
- •Тема 3.6. Процедуры и функции пользователя
- •Отличия функции от процедур
- •3. Описание процедуры
- •4. Описание функций
- •5. Локальные и глобальные переменные.
- •6. Параметры в процедурах.
- •Тема 3.7. Записи
- •1. Структура записи в тр
- •2. Отличия записи от массива.
- •Тема 3.8 Файлы и их обработка
- •1. Понятие файла
- •2. Чтение и запись информации из файл или в файл
- •3.Доступ к файлам
- •4.Имена файлов
- •5. Связь файла с файловой переменной.
- •6. Открытие и переименование файла.
- •7. Типизированные фалы.
- •8. Нетипизированные файлы.
- •9.Текстовые файлы
- •Раздел 4. Объектно – ориентированная модель программирования
- •Тема 4.1. Основные характеристики ооп. Преимущества.
- •1. Основные характеристики ооп. Преимущества
- •Тема 4.2. Инкапсуляция.
- •Тема 4.3. Наследование.
- •Тема 4.4.Виртуальные методы и полиморфизм.
- •Перечень источников литературы для самостоятельного изучения учебной дисциплины «Основы алгоритмизации и программирования»
3 Действия над массивами
Массив может участвовать только в операциях отношения =,<> и присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т.е. иметь одинаковую размерность, одинаковый тип и одинаковое количество элементов. Паскаль допускает обработку массивов разной размерностью только в том случае, когда количество компонентов в них одинаково.
VAR
A,B:ARRAY[1..20] OF Integer;
C,D:ARRAY [1..4,1..5] OF Integer;
BEGIN
A=B – результатом вычисления этого выражения будет истина, если значение каждого элемента массива А равно соответствующему значению элемента массива В.
A<>B – результатом вычисления этого выражения будет истина, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В.
A:=B – все значения элементов массива В присваиваются соответствующим элементам массива А. Значение элементов массива В остаются неизменными (копирование).
Инициализация массива заключается в присваивании каждому элементу массива одного и того же значения соответствующего его базовому типу.
Для одномерного массива можно написать:
1)Операторы присваивания;
2)Fillchar (P,DL,Z);
3)FOR I:=1 TO 20 DO А[I]:=0;
Для двумерного массива могут быть так же использованы операторы присваивания:
FOR I:=1 TO 4 DO
FOR J:=1 TO 5 DO C[I,J]:=0;
Копированием массивов называется присваивание значений всех элементов одного массива всем соответствующим элементам другого массива. Копирование можно выполнить:
1)Одним оператором присваивания C:=D.
2)FOR I:=1 TO 4 DO
FOR J:=1 TO 5 DO C[I,J]:=D[I,J];
Оба массива должны быть идентичны по структуре.
Чтобы перемножить матрицы:
PROGRAM UMN;
CONST Gran=3;
TYPE
Mаtr=ARRAY [1..Gran,1..Gran] OF REAL;
VAR
Matr1,Matr2,Matr3:Matr;
PROCEDURE MU(M1,M2:Matr;VAR M3:Matr);
VAR
I,J,K:Integer;
S:Real;
BEGIN
FOR I:=1 TO Gran DO
FOR J:=1 TO Gran DO BEGIN
S:=0;
FOR K:=1 TO Gran DO S:=S+M1[I,K]*M2[K,J];
M3[I,J]:=S
END
END;
BEGIN
<Ввод значений исходной матрицы Matr1,Matr2>;
MU(Matr1,Matr2,Matr3);
<Вывод результатов>
END.
MU- оператор вызова процедуры MU.
(Matr1,Matr2,Matr3)- список фактических параметров.
Matr- имя типа.
M1,M2:Matr- принимающие параметры.
VAR M3:Matr- возвращающие параметры.
PROGRAM S1;
VAR
I,KN,KP,KO:Integer;
A:ARRAY [1..40] OF Real;
BEGIN
KP:=0;
KN:=0;
KO:=0;
FOR I:=1 TO 40 DO BEGIN
Read(A[I]);
IF A[I]=0 THEN KN:=KN+1
ELSE IF A[I]<0 THEN KO:=KO+1
ELSE KP:=KP+1
END;
Writeln(KP,KO,KN)
END.
PROGRAM S2;
USES DOS, CRT, PRINTER;
VAR
D:ARRAY [1..100] OF Real;
Max:Real;
I,PN:Integer;
BEGIN
CLRSCR;
Writeln(‘Введи D(100)’);
Max:=2E-19;
FOR I:=1 TO 100 DO BEGIN
Read(D[I]);
IF D[I]>Max THEN BEGIN
Max:=D[I];
PN:=I
END
END;
Writeln(‘Max=’,Max:5:2,’PN=’,PN);
Readkey
END.
PROGRAM S3;
USES DOS,CRT,PRINTER;
VAR
I,J,KN,KP,KO:Integer;
A:ARRAY [1..3,1..4] OF Real;
BEGIN
CLRSCR;
Writeln(‘Введи A(3*4)’);
I:=1;
KP:=0;
KN:=0;
KO:=0;
FOR I:=1 TO 3 DO
FOR J:=1 TO 4 DO BEGIN
Read(A[I,J]);
IF A[I,J]>0 THEN KP:=KP+1
ELSE IF A[I,J]=0 THEN KN:=KN+1
ELSE KO:=KO+1
END;
Writeln(‘KO=’,KO,’KN=’,kn,’KP=’,KP);
Readkey
END.