Файл: Лабораторная работа Создание линейного алгоритма 5 Лабораторная работа Решение задач с линейным алгоритмом 7.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.04.2024

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

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

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

СОДЕРЖАНИЕ

Интерфейс программы

Функциональные клавиши

Структура программы на языке Turbo Pascal

Лабораторная работа № 2. Решение задач с линейным алгоритмом

Лабораторная работа № 3. Обработка строковых и символьных переменных

Лабораторная работа № 4. Обработка целочисленных данных

Лабораторная работа № 5. Создание разветвляющего алгоритма

Лабораторная работа № 6. Решение задач с разветвляющимся алгоритмом

Лабораторная работа № 7. Использование оператора выбора CASE.

Лабораторная работа № 8. Генератор случайных чисел

Лабораторная работа № 9. Использование цикла с параметром

Лабораторная работа № 10. Использование цикла с предусловием

Лабораторная работа № 10. Использование цикла с предусловием

Лабораторная работа № 11. Решение задач с использованием циклического алгоритма

Лабораторная работа № 12. Использование цвета

Лабораторная работа № 13. Создание меню

Лабораторная работа № 14. Обработка одномерного массива

Лабораторная работа № 15. Решение задач на использование одномерных массивов

Лабораторная работа № 16. Обработка двумерного массива

Лабораторная работа № 17. Решение задач с использованием двумерных массивов

Лабораторная работа № 18. Использование процедур

Лабораторная работа № 19. Использование функций

Лабораторная работа № 20. Графические возможности Turbo Pascal

Лабораторная работа № 21. Работа с файлами

Лабораторная работа № 22. Задания для самостоятельной работы



Задание. Вывести на экран 10 раз слово красным цветом.

Задание для самостоятельной работы:


  1. Заполнить таблицу (записать в тетрадь) основных цветов.

  2. Используя генератор случайных чисел, вывести 15 раз слово разными цветами.

  3. Выяснить, что случится, если задать код цвета >15.

  4. Вывести в строку числа от 10 до 20, причем четные – красным цветом, а нечетные – зеленым.

Лабораторная работа № 13. Создание меню





  1. Используя цикл FOR, вывести на экран таблицу умножения на 2




  1. Используя цикл WHILE, вывести на экран таблицу умножения на 4

  2. Используя цикл REPEAT, вывести на экран таблицу умножения на 6

  3. Написать программу-меню, объединив программы 1,2,3. Организовать выход из меню. Обработку пунктов реализовать с помощью оператора CASE.

  4. Показать преподавателю 4 программы (1,2,3,4)

  5. Составить блок-схему для программы-меню.


Меню

  1. Таблица умножения на 2. (FOR)

  2. Таблица умножения на 4. (WHILE)

  3. Таблица умножения на 6. (REPEAT)

  4. Выход


Лабораторная работа № 14. Обработка одномерного массива



Задача 1. Одномерный массив W состоит из 10 элементов, элементы – целые числа, вводятся с клавиатуры. Вывести массив на экран и вычислить сумму всех элементов.
Блок-схема

Листинг программы

PROGRAM MASSIV;

USES CRT;

VAR W:ARRAY[1..10] OF INTEGER; {описание одномерного массива}

I,SUMMA: INTEGER;

BEGIN

CLRSCR;

WRITELN('Введите элементы массива');

FOR I:=1 TO 10 DO {цикл для заполнения массива}

READLN(W[I]); {ввод элементов с клавиатуры}

WRITELN; {вставка пустой строки}

WRITELN('Вывод массива');

FOR I:=1 TO 10 DO {цикл для вывода массива}

BEGIN

SUMMA:=SUMMA+W[I]; {вычисление суммы элементов}

WRITE(W[I],' ');

END;

WRITELN;

WRITELN; {вставка пустой строки}

WRITELN('SUMMA = ',SUMMA);

READLN

END.
Задание для самостоятельной работы:


  1. Изменить программу, чтобы вычислялось произведение всех элементов массива.

  2. Изменить программу, чтобы элементы массива выбирались случайным образом из диапазона от 0 до 1 (действительные числа) с точность 3 знака после запятой.


Задача 2. Одномерный массив W состоит из 10 элементов, элементы – целые случайные числа из диапазона от -5 до 5. Вывести массив на экран и определить максимальный элемент массива.
Листинг программы
PROGRAM MASSIV;

USES CRT;

VAR W:ARRAY[1..10] OF INTEGER; {описание массива}

I,MAX: INTEGER;

BEGIN

CLRSCR;

RANDOMIZE;

MAX:=0;

FOR I:=1 TO 10 DO

W[I]:=RANDOM(11)-5; {заполнение массива случайными числами}



WRITELN;

WRITELN('Вывод массива');

FOR I:=1 TO 10 DO

BEGIN

IF W[I]>MAX THEN MAX:=W[I]; {определение максимального элемента}

WRITE(W[I],' ');

END;

WRITELN;

WRITELN;

WRITELN('MAX = ',MAX);

READLN

END.

Задание для самостоятельной работы:


  1. Измените диапазон выбора элементов: от -30 до 30

  2. Измените программу, чтобы она определяла минимальный элемент массива

  3. Измените программу, чтобы определялись и максимальный и минимальный элементы массива

  4. Измените программу, чтобы определялись и максимальный и минимальный элементы массива и их позиция (индекс) в массиве



Лабораторная работа № 15. Решение задач на использование одномерных массивов





  1. Дан одномерный массив Е (15). Элементы - случайные целые числа из диапазона от -15 до 15. Вывести массив в строку, определить, сколько элементов массива =0, >0 и <0.

  2. Дан одномерный массив T(25). Элементы – случайные целые числа из диапазона от 20 до 240. Вывести массив в строку, определить, сколько элементов массива четных, сколько нечетных.

  3. Дан одномерный массив T(7). Элементы – латинские символы, введенные с клавиатуры. Вывести массив и определить сколько среди элементов букв ‘a’ , а сколько букв ‘t’.

  4. Дано слово из 5 букв (буквы хранятся в массиве). Для каждой буквы определить ее ASCII-код. (Пример оформления результата)



  1. Дан массив W(10), элементы которого генерируются из диапазона от -12 до +12. Вывести массив в виде строки. Вычислить сумму элементов, которые размещаются на четных местах. Вычислить произведение элементов, которые размещаются на нечетных местах.

  2. Дан массив N(20), элементы которого генерируются из диапазона от -50 до +50. Определить максимальный и минимальный элементы массива и поменять их местами. Вывести исходный массив и измененный.

  3. Дан массив K(16), элементы которого генерируются из диапазона от -20 до +20. Сформируйте из массива K массивы K1 И K2. В первый занесите все положительные элементы, во второй – отрицательные (ноль - не отрицательный не положительный). Вывести в виде строки массивы K, K1, K2.

Лабораторная работа № 16. Обработка двумерного массива



Задача 1. Дан двумерный массив R (10x10). Элементы случайные числа от 10 до 100. Заменить все четные элементы на 1, нечетные на 0. Вывести исходный массив и измененный.
Листинг программы
PROGRAM MASS2;

USES CRT;

VAR R:ARRAY[1..10,1..10] OF INTEGER;

I,J:BYTE;

BEGIN

CLRSCR;

RANDOMIZE;

FOR I:=1 TO 10 DO BEGIN

FOR J:=1 TO 10 DO

R[I,J]:=RANDOM(90)+10;

END;

{-------------------------}

WRITELN('ИСХОДНЫЙ МАССИВ');

FOR I:=1 TO 10 DO BEGIN

FOR J:=1 TO 10 DO BEGIN

WRITE(R[I,J]:4,' ');

END;

WRITELN;

END;

{--------------------------}

WRITELN;

WRITELN('НОВЫЙ МАССИВ');

FOR I:=1 TO 10 DO BEGIN

FOR J:=1 TO 10 DO BEGIN

IF R[I,J] MOD 2=0 THEN R[I,J]:=1 ELSE R[I,J]:=0;

WRITE(R[I,J]:4,' ');

END;

WRITELN;

END;

{------------------------}

READLN;

END.
Дорисуйте блок-схему


Задание для самостоятельной работы:


  1. Дорисуйте блок-схему (в тетрадь)

  2. Измените программу, чтобы диапазон выбора элементов был от -50 до 50. А замена элементов производилась следующим образом: отрицательные элементы заменить на -1, положительные на 1, нулевые – на 0.


Задача 2. Дан двумерный массив, элементы - случайные числа (положительные и отрицательные). Определить, сколько в массиве положительных элементов.
Листинг программы
………………………………………

CLRSCR;

RANDOMIZE;

{-----------------------------------------}

FOR I:=1 TO 5 DO

FOR J:=1 TO 5 DO

A[I,J]:=RANDOM(21)-10;

{----------------------------------------}

FOR I:=1 TO 5 DO

FOR J:=1 TO 5 DO

IF A[I,J]>0 THEN P:=P+1;

{--------------------------------}

WRITELN('MASSIV:');

FOR I:=1 TO 5 DO

BEGIN

FOR J:=1 TO 5 DO

BEGIN

WRITE(A[I,J]:3,' ');

END;

WRITELN;

END;

{---------------------------------}

WRITELN;

WRITELN('Положительных элементов = ', P);

READLN;

END.
Задание для самостоятельной работы:


  1. Набрать программу и дополнить недостающую часть (название программы, описание переменных и т.д.)

  2. Определить, из какого диапазона выбираются случайные числа.

  3. Изменить программу, чтобы также определялось количество отрицательных и нулевых элементов.

  4. Изменить диапазон выбора от -50 до +50

  5. Составить блок-схему для данной программы.

  6. Написать программу (или изменить данную), чтобы положительные элементы были окрашены в красный цвет, отрицательные – в зеленый, нулевые – в желтый.



Лабораторная работа № 17. Решение задач с использованием двумерных массивов




  1. Дан массив Р(10x10), элементы которого генерируются из диапазона от -50 до +50. Вывести массив на экран в виде таблицы. Элементы, расположенные по главной диагонали выделить другим цветом. Определить, сколько элементов массива больше 0, меньше 0, равно 0.

  2. Дан массив Р(8x8), элементы которого действительные числа, которые генерируются из диапазона от -5 до +5. Вывести массив на экран в виде таблицы. Элементы, расположенные на четных местах (четная строка, четный столбец), выделить другим цветом.

  3. Дан массив S(5x5). Заполните массив, если известно, что каждый элемент массива равен сумме номера строки и столбца, в которых элемент расположен. Вывести массив на экран в виде таблицы.

  4. Определите принцип заполнения данного массива и составьте программу, которая реализует заполнение такого массива. Выведите его на экран. (Элементы нельзя заполнять вручную).




7

8

9

8

9

10

9

10

11




  1. Дан массив Р(10x10), элементы которого генерируются из диапазона от -50 до +50. Сформировать из двумерного массива 2 одномерных: в один занесите положительные элементы, во второй – отрицательные, нули учитывать не надо. Вывести исходный и полученный массивы.