Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.
Аннотация к работе
Составить словесное (математическое) описание и блок-схему следующей задаче: найти периметр треугольника АВС, если его координаты A (x1,y1), B (x2,y2), C (x3,y3,) вводятся с клавиатуры. При неправильном вводе значений, вывести на экран сообщение об ошибке и предложением повторно ввести правильные данные. Результат отобразить на экране. Для тестирования программы использовались данные, приведенные в таблице 1.Составить словесное (математическое) описание и блок-схему следующей задаче: найти периметр треугольника АВС, если его координаты При неправильном вводе значений, вывести на экран сообщение об ошибке и предложением повторно ввести правильные данные. Результат отобразить на экране. Для тестирования программы использовались данные, приведенные в таблице 2. Результат решения задачи представлен на рисунке 2.Заменить нулем элементы, расположенные над побочной диагональю. Begin randomize; FOR j: = 1 to n DO begin Перед (после) каждого вхождения символа C в строку S1 вставить строку S2. Листинг - Структуры данных: строки uses crt;Запись содержит данные о продовольственных и промышленных товарах со следующими реквизитами: наименование товара (тип string), тип товара (тип string), количество (тип integer), цена за единицу (тип integer). Составить программу, выполняющую поиск по типу товара и количеству товара. Листинг - Структуры данных: записи uses crt; type tov=record t: string; for i: =2 to Nmax do begin if (m [i]. t=tip) and (m [i]. k=kol) then begin writeln (c);В заданном массиве К (N) найти индексы элементов, которые кратны минимальному значению элемента массива. FUNCTIONREC (k: integer): longint; {описаниефункции} begin ifk<4 then Rec: =1{началоцикла} else Rec: =Rec (k-3) Rec (k-2) Rec (k-1); end; {конеццикла} varn: integer; {описаниепеременных} beginclrscr; {очисткаэкрана} repeat{цикл} write ("vvedite nomer chlena posledovatelnosti, nat chislo n=");Написать программу с рекурсивной функцией, вычисляющей: . Листинг - Прямая и косвенная рекурсия uses crt; function Koren (n: integer): real; begin clrscr;Написать рекурсивную процедуру, переводящую целое число из восьмеричной системы счисления в десятичную. Для тестирования программы использовались данные, приведенные в таблице 7. Полученные результаты приведены там же. Таблица 7 - Результаты выполнения линейного алгоритма function Oct2Num (const ASOCT: String; const AWEIGHT, AI: Integer): Integer;Задан массив AX (N). Добавить массив С (К). В полученном массиве положительные элементы уменьшите вдвое, а отрицательные замените на значения их индексов. Для тестирования программы использовались данные, приведенные в таблице 8. 1element 2element 3element 4element 5element 1 2 5Begin End; {Straight_Insertion} begin randomize; for i: =1 to n do begin a [i]: =random (10) random (5); for i: =1 to m do begin c [i]: =random (15) random (5); for i: =1 to n do begin write (c [i]," ") end;Begin l: =2; r: =n; k: =n; If a [j-1] >a [j] Then begin x: =a [j-1]; End; {Shaker_Sort} begin randomize; for i: =1 to n do begin a [i]: =random (10) random (5); for i: =1 to n do begin write (c [i]," ") end;Задан массив К (N). Выполнить сортировку разделением. В полученном массиве найти индексы элементов, которые кратны минимальному значению элемента массива. for i: =1 to n do begin a [i]: =random (10) random (5); for i: =1 to n do begin write (c [i]," ") end;Присвоить указателю адрес начала размещения массива в памяти. Присвоить указателю адрес 10-го элемента, напечатать его значение, используя текущий базовый адрес сегмента и смещение с преобразованием в значение типа указатель. Заменить его содержимое на значение третьего элемента. Листинг - Статическое и динамическое разделение памяти program yp14; {название программы} uses crt; {подключение библиотеки} type {описание типов} massiv=array [1.10] of integer; {описание массива} var {раздел описания переменных} i,z: integer; PTRMAS: ^massiv; {указатель на массив} begin clrscr; {очистка экрана} writeln ("Vvedite elementy massiva: "); {выводнаэкран} for i: =1 to 10 do {выводэлементовмассива} begin read (a [i]);Создать связанный список из записей, содержащих сведения о товаре (код товара, наименование товара, цена), реализовать операции со связанным списком: запись первым в список, удаление первого объекта из списка, просмотр всего списка, удаление объекта, следующего за указанным. FINDNAME: =Nil; {еслиненашло} end; {end FINDNAME} procedure ADDFIRST (A: Link); {добавление 1 записи} begin A: Link); {удаление 1 } begin A: Link); {удаленияобъектазастарый} begin end; {конецпроцедуры} procedure INPAVTO; {ввод} beginНаписать программу, которая выводит на экран изображение шахматной доски. Используйте желтый и коричневый цвета для закрашивания квадратов. Прорисовка каждой детали выполняется с задержкой 1000 мс.
План
Содержание
1. Программирование на языке Паскаль в среде Турбо Паскаль
1.1 Линейные алгоритмы
1.2 Процедуры и функции
1.3 Структура данных: массивы
1.4 Структура данных: строки.
1.4 Структура данных: записи
1.5 Модульное программирование
1.6 Прямая и косвенная рекурсия
1.7 Рекурсивные алгоритмы
1.8 Бинарный поиск
1.9 Сортировка влючением
1.10 Обменная сортировка
1.11 Сортировка разделением
1.12 Статическое и динамическая распределение памяти
1.13 Организация списков
1.14 Модуль Graph
1. Программирование на языке Паскаль в среде Турбо Паскаль