Создание сайта учителя и воспитателя
Публикация авторских работ и материалов
Свидетельство о публикации на сайте

"Основы алгоритмизации и программирования на языках TPascal, Assembler".

Дидактический материал по дисциплине ОАиП на языках программирования TPascal, Assembler

Автор: Барсукова Анна Артемовна, преподаватель информатики, ГБПОУ КК "АМТ", Краснодарский край, город Армавир



В раздел среднее профессиональное образование




Содержание:

Тема №1. Алгоритмы линейные, циклические и разветвленные
.
Тема №2. Работа в среде Turbo-Pascal..

Тема №3 .Среда Turbo-Pascal.

Тема №4. Построение линейных программ.

Тема №5. Построение разветвляющихся программ.

Тема №6.
Составление программ с циклом.
Тема №7.
Массивы.
Тема №8. Работа с записями на языке Турбо Паскаль.

Тема №9. Работа со строками на языке Турбо Паскаль..

Тема №10. Построение 2-х и 3-х мерных объектов в ТП.

Тема №11. Разработка первой программы на Ассемблере.

Тема №12 Арифметические операции.

Тема №13. Работа над битами.

Тема №14. Условные и безусловные переходы.

Тема №15.
Циклические алгоритмы.
Тема №16. Работа с массивами.

Тема №17. Программирование звукового оборудования (динамика).

Тема №18. Работа с видеопамятью.

Тема №19. Использование языка Ассемблер в языках высокого уровня Турбо Паскаль.
1

Дидактический материал по дисциплине «Основы

алгоритмизации и программирования».

Тема №1.

Алгоритмы линейные, циклические и разветвленные
.
Вариант №1.

1
.Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника. Для нахождения можно воспользоваться формулой Герона.
2
. Известны плотность и геометрические размеры цилиндрического слитка. Найти объем, массу и площадь основания слитка.
Вариант№2.

1
.Зная длины двух катетов в прямоугольном треугольнике. Найти длину гипотенузы, площадь треугольника и величину его углов.
2
. Написать программу вычисления площади параллелограмма. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади параллелограмма. Введите исходные данные: Длина (см) —> 9 Ширина (см) —> 7.5 Площадь параллелограмма: 67.50 кв.см.
Вариант№3

1
Написать программу вычисления объема параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема параллелепипеда. Введите исходные данные: Длина (см) —> 9 Ширина (см) -> 7.5 Высота (см) —> 5 Объем: 337.50 куб.см.
2
.Написать программу вычисления площади поверхности параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади поверхности параллелепипеда. Введите исходные данные: Длина (см) ->
9
Ширина (см) —>
7.5
2
Высота (см) ->
5
Площадь поверхности: 90.00 кв.см.
Вариант№4.

1.
Написать программу вычисления объема куба. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема куба. Введите длину ребра (см) и нажмите <Enter> ->
9.5
* Объем куба: 857.38 куб.см.
2
. Написать программу вычисления объема цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема цилиндра Введите исходные данные: Радиус основания (см) —>
5
Высота цилиндра (см) —>
10
Объем цилиндра 1570.80 куб. см. Для завершения работы программы нажмите <Enter>.
Вариант№5.

1.
Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление стоимости покупки. Введите исходные данные: Цена тетради (руб.) —>
2.75
Количество тетрадей —>
5
Цена карандаша (руб.) —>
0.85
Количество карандашей —>
2
Стоимость покупки: 15.45 руб.
2
. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и такого же количества обложек к ним. Ниже 3
представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление стоимости покупки. Введите исходные данные: Цена тетради (руб.) —> 2.75 Цена обложки (руб.) —> 0.5 Количество комплектов (шт.) —> 7 Стоимость покупки: 22.75 руб.
Вариант№6.

1
. Написать программу вычисления стоимости некоторого количества (по весу) яблок. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление стоимости покупки. Введите исходные данные: Цена одного килограмма яблок (руб.) —> 8.5 Вес яблок (кг) —> 2.3 Стоимость покупки: 19.55 руб.
2.
Написать программу вычисления площади треугольника, если известна длина основания и высота. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади треугольника. Введите исходные данные: Основание (см) —> 8.5 Высота (см) —> 10 Площадь треугольника 42.50 кв.см.
Вариант№7.

1.
Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади треугольника. Введите (через пробел) длины двух сторон (см) треугольника -> 25 17 Введите величину угла между сторонами треугольника 4
-> 30 Площадь треугольника: 106.25 кв.см.
2
. Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление сопротивления электрической цепи при параллельном соединении элементов. Введите исходные данные: Величина первого сопротивления (Ом) —>
15
Величина второго сопротивления (Ом)—>
20
Сопротивление цепи: 8.57 Ом.
Вариант №8.

1
. Написать программу вычисления сопротивления электрической цепи, состоящей из двух последовательно соединенных сопротивлений. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление сопротивления электрической цепи. Введите исходные данные: Величина первого сопротивления (Ом) —> 15 Величина второго сопротивления (Ом)—> 27.3 Сопротивление цепи (последовательное соединение): 42.30 Ом.
2.
Написать программу вычисления силы тока в электрической цепи. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление силы тока в электрической цепи. Введите исходные данные: Напряжение (вольт) —> 36 Сопротивление (Ом) -> 1500 Сила тока: 0.024 Ампер.
Вариант №9.

1.
Написать программу вычисления расстояния между населенными пунктами, изображенными на карте. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). 5
Вычисление расстояния между населенными пунктами. Введите исходные данные: Масштаб карты (количество километров в одном сантиметре) —> 120 Расстояние между точками, изображающими населенные пункты (см) -> 3.5 Расстояние между населенными пунктами 420 км.
2
Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах); количество бензина, которое потребляет автомобиль на 100 км пробега; цена одного литра бензина. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление стоимости поездки на дачу и обратно. Расстояние до дачи (км) —> 67 Расход бензина (литров на 100 км пробега) —> 8.5 Цена литра бензина (руб.) —> 6.5 Поездка на дачу и обратно обойдется в 74.04 руб.
Вариант №10.

1
Написать программу вычисления объема цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема цилиндра. Введите исходные данные: Радиус основания (см) —> 5.5 Высота цилиндра (см) —> 7 Объем цилиндра: 665.23 куб. см.
2
. Написать программу вычисления площади поверхности цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади поверхности цилиндра. Введите исходные данные: Радиус основания (см) —> 5.5 Высота цилиндра (см) —> 7 Площадь поверхности цилиндра: 431.97 кв.см.
Вариант №11.

1
. Написать программу вычисления объема параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). 6
Вычисление объема параллелепипеда. Введите в одной строке длину, ширину и высоту параллелепипеда (в сантиметрах). Числа разделяйте пробелами. После ввода последнего числа нажмите <Enter>. -> 7.5 2.5 3 Объем параллелепипеда 56.25 куб. см.
2
. Написать программу пересчета расстояния из верст в километры (1 верста равняется 1066,8 м). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Пересчет расстояния из верст в километры. Введите расстояние в верстах и нажмите <Enter>. ->
100
100 верст(а/ы) - это 106.68 км.
Вариант №12.

1
. Написать программу пересчета веса из фунтов в килограммы (1 российский фунт равен 409,5 г). Ниже представлен рекомен дуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Пересчет веса из фунтов в килограммы. Введите вес в фунтах и нажмите <Enter> ->
5
5 фунт(а/ов) — это 2.05 кг.
2.
Написать программу вычисления величины дохода по вкладу. Процентная ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление дохода по вкладу. Введите исходные данные: Величина вклада (руб.) —> 2500 Срок вклада (дней) —> 30 Процентная ставка (годовых) —> 20 Доход: 41.10 руб. Сумма по окончании срока вклада: 2541.10 руб.
Вариант №13.

1.
Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). 7
Введите величину временного интервала (в минутах) и нажмите <Enter> -> 150 150 минут — это 2ч. 30 мин.
2
. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 125 должно быть преобразовано к виду 12 руб. 50 коп. Преобразование числа в денежный формат. Введите дробное число —> 23.6 23.6 руб. — это 23 руб. 60 коп.
Вариант №14.

1
. Написать программу пересчета веса из фунтов в килограммы (1 фунт равняется 409,5 г). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Пересчет веса из фунтов в килограммы. Введите вес в фунтах и нажмите <Enter>. -> 3.5 3.5 фунт(а/ов) - это 1 кг 420 г.
2
. Написать программу, которая вычисляет площадь треугольника, если известны координаты его углов. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади треугольника. Введите координаты углов (числа разделяйте пробелом) : xl,yl -> -2 5 х2,у2 -> 1 7 хЗ,уЗ -> 5 -3 Площадь треугольника: 23.56 кв.см.
Вариант №15.

1.
Определить является ли данный фрагмент алгоритма циклом, если да, то какого вида и какое действие является телом цикла? 8

2.
Протабулировать функцию Y =tg (X), при изменении X на отрезке [A,B] с шагом K и определить количество точек разрыва(M) этой функции. 9

Тема №2. Работа в среде Turbo-Pascal

.

Вариант №1.

1
.Найти 2х+3у, при х=4,у=5 (4 и 5 константы).
2
.Перечислите типы данных.
Вариант №2.

1
.Составить программу решения квадратного уравнения считая, что уравнение будет иметь два корня.
2.
Вещественные типы данных (указать тип, диапазон и требуемую память).
Вариант №3.

1.
Составить программу , вычисляющую дискриминант.
2
.Что такое синтаксическая ошибка в программе.
Вариант №4.

1
.Целочисленные типы данных (указать тип, диапазон и требуемую память).
2
.Найти 4у-3х, при х=3,у=4 (4 и 3 константы).
Вариант №5.

1
.Что такое компиляция.
2
.Найти сумму двух чисел А=3, В=5.
Вариант №6.
1.. Написать программу вычисления объема цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема цилиндра. Введите исходные данные: Радиус основания (см) —> 5.5 Высота цилиндра (см) —> 7 Объем цилиндра: 665.23 куб. см. 2. Написать программу вычисления площади поверхности цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление площади поверхности цилиндра. Введите исходные данные: Радиус основания (см) —> 5.5 Высота цилиндра (см) —> 7 Площадь поверхности цилиндра: 431.97 кв.см. 10

Вариант №7
1. Написать программу вычисления объема параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема параллелепипеда. Введите в одной строке длину, ширину и высоту параллелепипеда (в сантиметрах). Числа разделяйте пробелами. После ввода последнего числа нажмите <Enter>. -> 7.5 2.5 3 Объем параллелепипеда 56.25 куб. см. 2. Написать программу пересчета расстояния из верст в километры (1 верста равняется 1066,8 м). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Пересчет расстояния из верст в километры. Введите расстояние в верстах и нажмите <Enter>. ->
100
100 верст(а/ы) - это 106.68 км.
Вариант №8
1. Написать программу пересчета веса из фунтов в килограммы (1 российский фунт равен 409,5 г). Ниже представлен рекомен дуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Пересчет веса из фунтов в килограммы. Введите вес в фунтах и нажмите <Enter> ->
5
5 фунт(а/ов) — это 2.05 кг. 2. Написать программу вычисления величины дохода по вкладу. Процентная ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление дохода по вкладу. Введите исходные данные: Величина вклада (руб.) —> 2500 Срок вклада (дней) —> 30 Процентная ставка (годовых) —> 20 Доход: 41.10 руб. Сумма по окончании срока вклада: 2541.10 руб. 11

Вариант №9
1. Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Введите величину временного интервала (в минутах) и нажмите <Enter> -> 150 150 минут — это 2ч. 30 мин. 2. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 125 должно быть преобразовано к виду 12 руб. 50 коп. Преобразование числа в денежный формат. Введите дробное число —> 23.6 23.6 руб. — это 23 руб. 60 коп. 12

Тема №3 .Среда Turbo-Pascal

.

Вариант №1

.

1
.Найти значения выражения Z=b+sqrt(sqr(x)+4*a+c)/2*a, ГДЕ А,В,С- целого типа.
2.
Записать понятие разветвленного алгоритма.
Вариант №2.

1.
Найти среднеарифметическое и среднегеометрическое.
2
.Записать формулу на языке Turbo-Pascal y=log*4*x/3*x+1.
Вариант №3.

1
. Записать формулу на языке Turbo-Pascal y=x-3/x ² -10*x+24.
2
.Напишите структуру программы на языке Turbo-Pascal.
Вариант №4.

1.
Записать блок схему циклического алгоритма с постусловием и предусловием.
2
. Найти значения выражения Z=2*а+sqrt(b+3*a)/2*a*b*c, ГДЕ А,В,С- целого типа. 13

Тема №4. Построение линейных программ.

Вариант №1

.

1.
Вычислить значение выражения по формуле f =3+ e
2.
Вычислить значение выражения
y
=1/ tg x- e при Х 1 = - 25, Х 2= 0,04, Х 3 =11.
Вариант №2.

1.
Вычислить общую поверхность и объем круглого конуса, имеющего радиус и основание R=12,54 см и длину образующей L =24,88см. При вычислении использ. формулы: S=ПR ² + П R L; V = 1/3П R ²H , где Н- высота конуса Н= √ ¯ L ² - ¯ R ².
2.
Как на языке ТП обозначается модуль?
Вариант №3.

1.
Каким символом указывается присвоение значения?
2.
Вычислить значение выражения по формуле f=sinX+cosX
Вариант №4.

1
. Вычислить значение выражение у=(cos ²x - e ) / 7x при Х 1 = -11, Х 2= 0,78, Х 3 =3,98.
2.
Вычислить период колебания маятника Т длиной L по формуле: Т=2П √ L/g где g=9,81 ускорение свободного падения. 14

Тема №5. Построение разветвляющихся программ

.

Вариант №1.
1
.
Написать программу, которая запрашивает у пользователя номер квартиры в доме и выводит количество жителей этой квартиры. В случаи если пользователь вводит недопустимое число, программа должна вывести сообщение. 2.Что такое процедура WRITE и WRITELN ?
Вариант №2.
1.Найти значения выражения f = 10,8| sin ( x ² /1,3)| cos(x ² +1,4) при Х 1 =0,5; Х 2 =1,1. 2.Объясните значение оператора CASE?
Вариант №3.
1
.
Составить программу, которая по введенному номеру месяца выводит на экран названия времени года. 2.Найти значения
выражения
f = 13,4 sin(-12,6) cos | х ² /7,5| при Х 1 =2,5; Х 2 =0,5.
Вариант №4.
1.Что такое процедура READ и READLN ? 2.Составить программу, которая запрашивает возраст ребенка и затем выдает решение о приеме ребенка в школу (возраст >=7) .
Вариант №5.
1.Объясните значение оператора IF ? 2
.
Написать программу, которая запрашивает у пользователя номер автобуса и количество остановок его маршрута. В случаи если пользователь недопустимый номер, программа должна вывести сообщение.
Вариант №6.
1.Какие правила надо использовать при применении оператора CASE ? 2. Даны два числа. меньшее из этих чисел заменить суммой данных чисел, большее - произведением. 15

Вариант №7.

1.
Составить программу, которая по введенному номеру дня недели выводит на экран его название.
2.
Составить программу, которая по введенному номеру месяца выводит на экран название времени года. 16

Тема №6. Составление программ с циклом

.

Вариант №1.

1.
Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15 ° С до 30 ° С с шагом в 1 ° С. Перевод осуществляется по формуле: F=C*1.8+32.
2.
Вывести на экран натуральные числа от 1 до 9 в обратном порядке.
Вариант №2.

1
Найти сумму 10 произвольных чисел.
2.
Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.
Вариант 3.

1
. Написать программу, которая выводит таблицу значений функции у = |х|. Диапазон изменения аргумента [-4 ,4], шаг приращения аргумента — 0,5.
2
. Написать программу, которая выводит таблицу значений функции у =Iх + 2|. Диапазон изменения аргумента [-4 ,4], шаг приращения аргумента — 0,5.
Вариант № 4.

1
. Написать программу, которая выводит таблицу значений функции у = |х — 2I+ Iх + 1|. Диапазон изменения аргумента [-4 ,4], шаг приращения аргумента — 0,5.
2.
Написать программу, которая выводит на экран таблицу умножения, например, на 7. Рекомендуемый вид экрана во время работы программы приведен ниже.
Вариант № 5.

1
.Написать программу, которая 10 раз выводит на экран имя и фамилию.
2
.Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление среднего арифметического последовательности положительных чисел. Вводите после стрелки числа. Для завершения ввода введите ноль. -> 45 -> 23 -> 15 Введено чисел: 3 17
Сумма чисел: 83 Среднее арифметическое: 27.67.
Тема №7. Массивы
. 18

Вариант №1.

1
. Задан одномерный массив В(10), заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k.
2.
Определить самую высокую температуру и самый теплый день в мае.
Вариант №2.

1.
Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.
2.
Задан двумерный массив В(10, 10), заполненный случайными числами из [-10,10]. Найти и вывести на экран те элементы массива, которые больше заданного числа k.
Вариант №3.

1
.Заполнить массив А(10) порядковыми номерами людей старше 25 лет.
2
.Заполнить массив А(10), числами вводимыми с клавиатуры. Найти среднегеометрическое элементов не превышающие 25.
Вариант №4.

1
.В массиве хранится информация о стоимости каждой из 50 марок мониторов. Определить сколько стоит самый дорогой и самый дешевый монитор.
2
.В массиве В(6,6) найти произведение нечетных отрицательных элементов побочной диагонали.
Вариант №5.

1
.Подсчитать сумму элементов массива имеющих четные места.
2
.Сформировать и вывести на экран в виде таблицы массив А(7,5) заполнив массив его целыми случайными числами на интервале [20,40].
Вариант №6.
1. Написать программу, которая проверяет, находится ли в массиве введенное с клавиатуры число. Массив должен вводится во время работы программы. 2. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность.
Вариант №7.
19

1
. Написать программу, которая проверяет, образуют ли элементы введенного с клавиатуры массива неубывающую последовательность.
2.
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.
Вариант №8.

1.
Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковым значением.
2.
Написать программу, которая методом прямого выбора сортирует по убыванию введенный с клавиатуры одномерный массив.
Вариант №9.

1
. Написать программу, которая методом обмена ("пузырька") сортирует по убыванию введенный с клавиатуры одномерный массив.
2
. Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию массив. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Объединение двух упорядоченных по возрастанию массивов. Введите в одной строке элементы первого массива, (5 целых чисел) —> 1 3 5 7 9 Введите в одной строке элементы второго массива, (5 целых чисел) -> 2 4 6 8 10 Массив — результат 123456789 10 Для завершения работы нажмите <Enter>.
Тема №8. Работа с записями на языке Турбо Паскаль.
20

Вариант №1.

1.
Организуйте запись, содержащую сведения о книге.
2.
Организуйте массив записей, содержащий информацию о результатах сдачи экзаменов по математике и физике студентами вашей группы.
Вариант №2.

1.
Опешите, запись и поместите в нее следующие анкетные данные: фамилию, имя, отчество, пол.
2.
Опешите запись, содержащую информацию о месте работы и занимаемой должности ваших родителей.
Тема №9. Работа со строками на языке Турбо Паскаль.
21

Вариант №1.
1.Написать программу, которая запрашивает имя пользователя и здоровается с ним. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Как Вас зовут? Введите свое имя и нажмите <Enter> ->
Вася
Здравствуйте, Вася! 2. Написать программу, которая выводит на экран сообщение в "телеграфном" стиле, т. е. буквы сообщения должны появляться по одной, причем с некоторой задержкой.
Вариант №2.
1. Написать программу, которая выдает код символа, введенного пользователем. Программа должна завершать работу после ввода, например, точки. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Введите символ и нажмите <Enter>. Для завершения работы программы введите точку. ->
1
Символ: 1 Код: 49. ->
2
Символ: 2 Код: 50 —>
ы
Символ: ы Код:235 2. Написать программу, которая выводит на экран первую часть таблицы кодировки символов (символы, имеющие коды от О до 127). Таблица должна состоять из восьми колонок и шестнадцати строк. В первой колонке должны быть символы, имеющие код от 0 до 15, во второй — от 16 до 31 и т. д.
Вариант №3.
1. Написать программу, которая в веденной с клавиатуры строке преобразует строчные буквы русского алфавита в прописные (учтите, что функция upcase с символами русского алфавита не работает). Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Введите строку текста и нажмите <Enter> —> изучив Паскаль, можно приступить к изучению С 22
Строка, преобразованная к верхнему регистру: ИЗУЧИВ ПАСКАЛЬ, МОЖНО ПРИСТУПИТЬ К ИЗУЧЕНИЮ С. 2. Написать программу, которая удаляет начальные пробелы из введенной с клавиатуры строки.
Вариант №4.
1. Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Введите число и нажмите <Enter> -> 23.5 Введенная строка не является целым числом. 2. Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом.
Вариант №5.
1. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. 2. Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом.
Вариант №6.
1. Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное. Рекомендуемый вид экрана во время работы программы представлен ниже (введенные пользователем данные выделены полужирным шрифтом). Введите восьмиразрядное двоичное число и нажмите <Enter> ->
11101010
Двоичному числу 11101010 соответствует десятичное 234 Для завершения работы программы нажмите <Enter>. 2. Написать программу, которая преобразует введенное с клавиатуры двухразрядное шестнадцатеричное число в десятичное.
Вариант №7.
23
1. Написать программу, которая преобразует введенное пользователем десятичное число в число в указанной системе счисления (от 2-х до 10-ти). Рекомендуемый вид экрана во время работы профаммы приведен ниже. Введите целое число —>
67
Введите основание системы счисления —>
2
100011 2. Написать программу, которая преобразует введенное пользователем десятичное число в шестнадцатеричное.
Вариант №8.
1. Написать программу, которая вычисляет значение выражения N o O 1 N 1 O 2 ...O k N k , где N i — целое одноразрядное число, O i — один из двух знаков простейших арифметических действий: сложения или вычитания. Ниже представлен рекомендуемый вид экрана во время работы профаммы (данные, введенные пользователем, выделены полужирным шрифтом). Введите арифметическое выражение, например, 4+5-3-5+2 и нажмите <Enter> -> 9-5+4+2-6 Значение введенного выражения: 4 Для завершения программы нажмите <Enter>.
Тема №10. Построение 2-х и 3-х мерных объектов в ТП.
24

Вариант №1.
1. Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета. 2. Написать программу, которая вычерчивает на экране ломанную линию, состоящую из 200 звеньев, окрашенных в разные цвета, выбираемые случайным образом, причем координаты звеньев тоже выбираются случайно.
Вариант №2.
1. Написать программу, которая выводит на экран контур пятиконечной звезды. 2. Написать программу, которая выводит на экран пятиконечную звезду.
Вариант №3.
1. Написать программу, которая вычерчивает на экране ломанную линию, состоящую из 200 звеньев, окрашенных в разные цвета, выбираемые случайным образом, причем координаты звеньев тоже выбираются случайно. 2. Написать программу, которая вычерчивает на экране шестиугольник.
Вариант №4.
1. Написать программу, которая рисует на экране Государственный флаг России. 2. Написать программу, которая рисует на экране веселую рожицу желтого цвета.
Тема №11. Разработка первой программы на Ассемблере.
25
Пример выполнения работы Текст программы: .MODEL small .STACK 100h .DATA ;ДАННЫЕ .CODE Start: mov ax,@Data mov ds,ax ;КОД mov ah, 4C00h; int 21h END Start 1. Программа с помощью текстового редактора заносится в файл имя.asm 2. Выполняется трансляция программы имя.asm в имя.obj по команде: asm имя.asm После успешной трансляции в текущем директории программы получен объектный файл имя.obj. Если имя.obj отсутствует необходимо просмотреть содержимое выходного файла листинга имя.lst, в котором будут указаны ошибки программы. После чего исправить исходный файл имя.asm и оттранслировать программу заново. 3. Выполняется компоновка объектного файла имя.obj в имя.exe по команде: tlink имя.obj осле успешной компоновки в текущем директории появится файл имя.exe. 4. Запустить имя.exe.
Тема №12 Арифметические операции.
26
Дана формула X = 3A+(B+5)*2, X, A, B, C -целые числа занимающие слово. Разработать программу реализующую указанную формулу:

1. X=-3A+(B+C)/4+2 2. X=(A-B)*6+C/4+1 3. X=(2A+B)/3+C 4. X=(A-B)/5+2C-3 5. X=(A-B)*6+C/4+1 6. X=-4A-6B+2C+7
7. X=7
(A-2B)+C


Тема №13. Работа над битами.
27
Постановка задачи: вывести на экран восьми битное число.
.MODEL small

.STACK 100h

.DATA
x dw 10001101b .CODE Start: mov ax,@Data mov ds,ax mov cx,7 mov ax,x
m1:

shl ax,cx ; циклический сдвиг влево содержимого регистра ax на значение

регистра cx
and ax,1b mov dx,ax add dx, 0 ; преобразование числа в символ mov ah,2 int 21h inc cx loop m1
mov ah, 4C00h;

int 21h

END Start

Тема №14. Условные и безусловные переходы.
28

Обозначения команд:

JA - переход, если больше;

JAE - переход, если больше или равно;

JB - переход, если меньше;

JBE - переход, если меньше или равно
.
Пример выполнения работы
Постановка задачи: x-y x>y F= y-x x<y 2x -y x=y
.MODEL small

.STACK 100h

.DATA
x dw ? y dw ? f dw ?
.CODE

Start:

mov ax,@Data

mov ds,ax

mov ax,x
mov bx,y cmp ax,bx ; сравниваем значение регистров ах и bх ja m1 ; если ах > bх переход на метку m1 jb m2 je m3 m1: sub ax,bx mov f,ax jmp m4 m2: sub bx,ax mov f,bx 29
jmp m4 m3: add ax,ax sub ax,bx jmp m4 m4:
mov ah, 4C00h;

int 21h
END Start
Тема №15. Циклические алгоритмы.
30
Постановка задачи: Вывести на экран числа от 0 до 9.
.MODEL small

.STACK 100h

.DATA

i db ?

.CODE

Start:

mov ax,@Data

mov ds,ax

mov cx,10

;начало цикла

m1:

mov i,0
mov dl,i add dl,30h; преобразование числа в символ mov ah,2 int 21h inc i ; увеличивает счетчик i на 1 loop m1 ;конец цикла
mov ah, 4C00h;

int 21h

END Start
31

Тема №16. Работа с массивами.
Постановка задачи: инициализация массива в цикле
.MODEL small

.STACK 256h

.DATA

mas db 10 dup (?)

i db 0

.CODE

Start:

mov ax,@Data

mov ds,ax

mov cx,10

go:

mov bh,i
mov mas[si],bh inc i inc si loop go
mov cx,10
m1: mov si,0 mov ah,2 mov dl,mas[si] add dl,30h int 21h inc si loop m1
mov ah, 4C00h;

int 21h

END Start
32

Тема №17. Программирование звукового оборудования

(динамика) .
TITLE SOUND (COM) Процедура для генерации звука SOUNSG SEGMENT PARA 'Code' ASSUME CS:SOUNG,DS:SOUNG,SS:SOUNG ORG 100H BEGIN: JMP SHORT MAIN ; ------------------------------------------------------- DURTION DW 1000 ;Время звучания TONE DW 256H ;Высота (частота) звука ; ------------------------------------------------------- MAIN PROC NEAR IN AL,61H ;Получить и сохранить PUSH AX ; данные порта CLI ;Запретить прерывания CALL B10SPKR ;Произвести звук POP AX ;Восстановить значение OUT 61H,AL ; порта STI ;Разрешить прерывания RET MAIN ENDP B10SPKR PROC NEAR B20: MOV DX,DURTION ;Установить время звучания B30: AND AL,11111100B ;Очистить биты 0 и 1 OUT 61H,AL ;Передать на динамик MOV CX,TONE ;Установить частоту B40: LOOP B40 ;Задержка времени OR AL,00000010B ;Установить бит 1 OUT 61H,AL ;Передать на динамик MOV CX,TONE ;становить частоту B50: LOOP B50 ;Задержка времени DEC DX ;Уменьшить время звучания JNZ B30 ;Продолжать? SHL DURTION,1 ; нет - увеличить время, SHR TONE,1 ; сократить частоту JNZ B20 ;Нулевая частота? RET ; да - выйти B10SPKR ENDP SOUNSG ENDS END BEGIN 33

Тема №18. Работа с видеопамятью.
Текстовая видеопамять начинается по адресу B800H и имеет 8 страниц, каждая из которых 4 Кбайт. По четным адресам вводятся ascii соды символов, а по не четным атрибуты. По умолчанию видео память имеет атрибут 07h белый цвет символа на черном фоне title 88952 stacksg segment stack dw 32 dup(?) stacksg ends data segment mes1 db 'Введите строку.. ','$' mes2 db 0dh,0ah db 'Через видеобуф.. ',0dh,0ah db 'Для продолжения нажмите любую клавишу..','$' text label byte max db 50 len db ? tptr db 50 dup(' ') data ends code segment assume cs:code,ds:data begin: mov ax,data mov ds,ax mov ax,0b800h mov es,ax ;Инициализация 0 страницы видеобуфера mov ah,09 mov dx,offset mes1 int 21h mov ah,0ah mov dx,offset text int 21h mov ah,09 mov dx,offset mes2 int 21h cld sub cx,cx mov cl,len mov si,offset tptr mov di,80*2*23+34 ;Вывод в 23 строке b1: movsb inc di ;Символ должен передаваться по четным адресам loop b1 34
mov ah,00 int 16h ;Пауза перед завершением mov ax,4c00h int 21h code ends end begin 35

Тема №
19
. «

ИСПОЛЬЗОВАНИЕ ЯЗЫКА ASSEMBLER В ЯЗЫКАХ

ВЫСОКОГО УРОВНЯ ТП».
Постановка задания: сравнить сумму верхнего и нижнего треугольника матрицы, используя файл. program mtk; uses crt; label o3,e,o1,o2,m52,m42,begsi,begsi2,m1,m2,m3,m4,m5,m6,ext2end,extend; var mm,ooo,ot1,ot2,ni,nj,i,j:integer; m:array [1..10,1..10] of integer; m2m:array [1..16] of string; ef:text; begin clrscr; assign(ef,'enter.dat'); reset(ef); for i:=1 to 16 do begin readln(ef,m2m[i]); m2m[i]:=m[i,j]; end; { for i:=1 to 4 do begin for j:=1 to 4 do readln(ef,m[i,j]); end; } asm xor bx,bx xor ax,ax xor si,si mov nj,8 mov si,2 mov ot1,0 begsi: add bx,2 { mov ax,m[bx][si] } mov i,bx mov j,si end; begin mm:=m[i,j]; end; asm mov ax,mm add ot1,ax cmp bx,nj je m4 jmp begsi m4: cmp si,8 je m5 add si,2 sub nj,2 mov bx,0 36
jmp begsi m5: {;================2====================================2===================== } xor ax,ax mov bx,0 mov nj,0 mov si,8 mov bx,10 mov ot2,0 begsi2: sub bx,2 { mov ax,m[bx][si]} mov i,bx mov j,si end; begin mm:=m[i,j]; end; asm mov ax,mm add ot2,ax cmp bx,nj {?} je m42 jmp begsi2 m42: cmp si,2 je m52 sub si,2 add nj,2 mov bx,8 jmp begsi2 m52: {-----------} mov ax,ot2 cmp ot1,ax je o1 jmp e o1: mov ooo,1 jmp extend e: cmp ot1,ax jl o3 jmp ext2end o3: mov ooo,2 jmp extend ext2end: mov ooo,3 {================================== OUTPUT ===================} extend: end; case ooo of 1:writeln('1=2'); 2:writeln('1>2'); 3:writeln('1<2'); end; writeln('ot1= ',ot1); writeln('ot2= ',ot2); readkey; end. 37

Контрольные вопросы
1. Связь языка Ассемблера с языками высокого уровня. 2. Состав программы в языке Ассемблера. 3. Команды и директивы языка. 4. Форматы команд. 38


В раздел среднее профессиональное образование