
- •Оглавление Оглавление 1
- •1. Системы счисления 4
- •Системы счисления Лабораторная работа 1.(переводим целые числа из десятичной системы счисления в систему счисления с основанием p и наоборот)
- •Лабораторная работа 3.(складываем целые числа в системе счисления с основанием p без перевода в десятичную)
- •Лабораторная работа 4.(простые и не очень простые вопросы и задачи по системам счисления)
- •Операторы ввода и форматного вывода Лабораторная работа 5.(учимся вводить данные с клавиатуры, вычислять большие формулы и выводить результат на экран)
- •Операторы ввода, вывода и присваивания Лабораторная работа 6.(первые простые содержательные задачи)
- •Дополнительные задания
- •Условный оператор Лабораторная работа 7.(учим компьютер спрашивать)
- •Логические переменные и операции Лабораторная работа 8.(таблица истинности)
- •Лабораторная работа 9. (бросаем точку на плоскость и наблюдаем за ней)
- •Лабораторная работа 10.(составляем логические условия)
- •Операторы цикла Лабораторная работа 11.(вычисляем суммы и произведения конечных рядов)
- •Лабораторная работа 12.(оператор цикла с предусловием – исследуем числа)
- •Лабораторная работа 13.(еще раз тренируемся в использовании оператора цикла)
- •Лабораторная работа 14.(факториал, Фибоначчи, Евклид и ... )
- •Лабораторная работа 15.(обрабатываем последовательности)
- •Дополнительные задания
- •Лабораторная работа 16.(препарируем целые числа)
- •Лабораторная работа 17.(опять целые числа, но мастерство – на ступень выше)
- •Символьные данные Лабораторная работа 18.(узнаем у компьютера, какими он пользуется символами)
- •Лабораторная работа 19.(впервые обрабатываем не числа, а текст)
- •Подпрограммы (процедуры и функции) Лабораторная работа 20.(задачи знакомые, но записываем их в новой форме)
- •Численные методы Лабораторная работа 21.(приближенно решаем уравнения)
- •Лабораторная работа 22.(приближенно находим площади криволинейных фигур)
- •Одномерные массивы Лабораторная работа 23.(наконец-то – от простых переменных переходим к массивам)
- •Лабораторная работа 24.(те же массивы, но задачи посложнее)
- •Двумерные массивы Лабораторная работа 25.(крестики-нолики, морской бой, шахматы, … – без двумерных массивов не обойтись)
- •Лабораторная работа 26.(гуляем по матрице прямо и зигзагами)
- •Графика Лабораторная работа 27.(на первых подступах к красоте)
- •Лабораторная работа 28.(графики функций в декартовой системе координат – помощь по математике)
- •Лабораторная работа 29.(графики кривых в полярной системе координат – и математика и красота одновременно)
- •Лабораторная работа 30.(не только рисуем, но и двигаем картинку по экрану)
- •Лабораторная работа 31.(довольно сложные, но интересные задачи по графике)
- •Лабораторная работа 32.(математические задачи с графическими иллюстрациями)
- •Строки Лабораторная работа 33.(работаем уже не с отдельными символами, а с целой строкой)
- •Лабораторная работа 34.(учимся разбивать строку на слова)
- •Дополнительные задания
- •Множества Лабораторная работа 35.(очень легкий материал – передышка после процедур, функций, массивов, … )
- •Записи Лабораторная работа 36.(оказывается, переменная может состоять из полей совершенно разного типа).
- •Файлы Лабораторная работа 37.(приступаем к изучению типизированных файлов)
- •Лабораторная работа 38.(используем все наши знания и пишем собственную базу данных)
- •Лабораторная работа 39.(текстовые файлы – незаменимый инструмент для отладки программ с большим количеством исходных данных)
- •Динамическая память (первый шаг к современному программированию) Лабораторная работа 40.(линейные однонаправленные списки – не так трудно, как кажется)
- •Краткий справочник
- •Литература.
Лабораторная работа 39.(текстовые файлы – незаменимый инструмент для отладки программ с большим количеством исходных данных)
Дано описание: var T : text;
Написать процедуры ввода и вывода текстового файла T, а также одну из следующих процедур:
DEL_pred_Last_Str(T) - удаляет из текста предпоследнюю строку, если она есть.
DOUBLE_Str_with_Digit(T) - удваивает в тексте каждую строку, содержащую цифры.
PRINT_Elem_N(T,N) - выводит на экран N-ый элемент текста, если он есть.
DEL_pred_Last_Elem(T) - удаляет из текста предпоследний элемент, если он есть.
DEL_1word_Str(T) - удаляет из текста строки, состоящие из одного слова (слова в строке разделены одним или несколькими пробелами).
ROTATE_Str(T) – переворачивает в тексте все строки.
PRINT_Max_LINE(T) - выводит на экран самую длинную строку.
REPLACE_Last_Str_to_C(T,C) - заменяет последнюю строку текста на строку C.
REPLACE_N_Str_to_C(T,N,C)- заменяет N-ую строку текста (если она есть) на строку C.
MOVE_Last_Str_to_Begin(T) - переносит последнюю строку в начало текста.
Del_Palindr_Str(T) – удаляет из текста все строки, являющиеся палиндромами.
COUNT_Str(T) – считает количество строк в тексте.
PRINT_Min_LINE(T) - выводит на экран самую короткую строку.
DEL_Empty_Str(T) – удаляет из текста все пустые строки.
CHANGE_Words_Str(T) – меняет местами первое и последнее слово в каждой строке текста.
REPLACE_First_Str_to_C(T,C) - заменяет первую строку текста на строку C.
Динамическая память (первый шаг к современному программированию) Лабораторная работа 40.(линейные однонаправленные списки – не так трудно, как кажется)
Пусть имеется линейный однонаправленный список, тип звена которого описан следующим образом:
Type
list = ^node;
node = record
K : integer;
next : List;
end;
Написать следующие функции (L – указатель на голову списка, а El – переменная типа integer).
1.Функция добавляет El в голову списка. |
|
Function ToHead(l:list; El:integer):list; |
|
|
Function ToTail(l:list; El:integer):list; |
3. Функция определяет длину списка. |
|
Function Length_List(l:list):integer; |
4. Функция возвращает число вхождений El в список. |
|
Function Count_El(l:list;El:integer):integer; |
5. Функция возвращает ссылку на минимальный элемент списка. |
|
Function Min_List(l:list):list; |
6. Функция возвращает ссылку на максимальный элемент списка. |
|
Function Max_List(l:list):list; |
7. Функция возвращает значение true, если в списке есть отрица-тельные элементы. |
|
Function Is_Neg(l:list):boolean; |
8. Функция возвращает ссылку на элемент, равный El. |
|
Function Find_El(l:list; El:integer):list; |
9. Функция удаляет все вхожде-ния El из непустого списка. |
|
Function Del_All_El(l:list; El:integer):list; |
10. Функция удаляет все отрица-тельные элементы из непустого списка. |
|
Function Del_All_Neg(l:list):list; |
11. Функция возвращает значение true, если список упорядочен по возрастанию. |
|
Function Is_Vozr(l:list):boolean; |
12. Функция вставляет El в упоря-доченный по возрастанию список (не нарушая порядка). |
|
Function El_into_VList(l:list; El:integer):list; |
13. Функция вставляет El в упоря-доченный по убыванию список (не нарушая порядка). |
|
Function El_into_UList(l:list; El:integer):list; |
14. Функция удваивает все эле-менты, равные El (удваивает – т.е. вставляет новый элемент со значением El). |
|
Function Double(l:list; El:integer):list; |
15. Функция возвращает значение true, если в списке есть повторя-ющиеся элементы. |
|
Function Is_Double(l:list):boolean; |