Учебное пособие по курсу “ Основы программирования на языке Паскаль” icon

Учебное пособие по курсу “ Основы программирования на языке Паскаль”


Смотрите также:
Полный обучающий курс Turbo Pascal Содержание Ввод-вывод 4 Занятие Язык программирования Паскаль...
Рабочая программа по курсу «основы Программирования на языке ассемблер»...
Конкурс инфо 2005/2006 Малясова С. В. Элективный курс «Программируем на Паскале»...
Учебное пособие по курсу «Основы информатики и программирования» для студентов 1 курса...
Краткий курс лекций "Основы программирования на языке Паскаль" Введение...
Лабораторная работа №2 по Информатике и икт на тему «Язык программирования Паскаль...
Учебно-методический комплекс по факультативному курсу «основы логического программирования»...
Учебное пособие по курсу «Финансовый менеджмент» подготовлено кандидатом экономических наук...
Паскаль Б
Лабораторный практикум по курсу «Основы алгоритмизации и программирования» для студентов 1 2-го...
Рабочая программа по курсу “Программирование на языках высокого уровня” Факультет экономический...
Учебное пособие москва Издательство Российского университета дружбы народов 1994...



Загрузка...
скачать
МОУ Гимназия

г. Обнинска Калужской области


Т.П. Александрова


Лабораторный практикум по программированию

на языке Паскаль


Учебное пособие по курсу


Основы программирования на языке Паскаль”


Обнинск 2008


Учебное пособие написано на основе лабораторного материала, который использовался в процессе обучения школьников в течение ряда лет. Основная цель данного пособия - дать концептуальный подход к изучению программирования, сформировать определенную культуру конструирования алгоритмов и проектирования программ.

Пособие содержит материалы для практических занятий по курсу информатики в общеобразовательных учреждений в 10-11 классах с углубленным изучением информатики и программирования. Пособие можно использовать для подготовки к ЕГЭ по информатике и для самообразования.


 Т.П. Александрова, 2008

СОДЕРЖАНИЕ

Лабораторная работа №2 «Линейные алгоритмы»
6

Лабораторная работа № 3 «Разветвляющиеся алгоритмы»
7

Лабораторная работа № 4 «Разветвляющиеся алгоритмы-2»
8

Лабораторная работа № 5 «Циклические алгоритмы»
11

Лабораторная работа №6 «Числовые ряды »
Задание 1. Настройка каталога. 13

Лабораторная работа №7 «Числовые последовательности »
14

Лабораторная работа №8 «Одномерные массивы-1»
16

Лабораторная работа №9 «Одномерные массивы-2»
17

Лабораторная работа №10 «Процедуры и функции» 20

Лабораторная работа №11 «Двумерные массивы-1»
20

Лабораторная работа №12 «Двумерные массивы-2»
21

Лабораторная работа №13 «Операции над строками-1»
23

Лабораторная работа №14 «Операции над строками-2»
24

Лабораторная работа №15 «Записи -1» 25

Лабораторная работа №16 «Записи -2» 26

Лабораторная работа №17 «Типизированные файлы» 29

Лабораторная работа №18 «Текстовые и типизированные файлы» 30

Литература 32

Лабораторная работа №1 «Первая программа»

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

В каталоге D:\10Klass создать свой подкаталог, назвав его своей фамилией.
Войдите в среду Турбо Паскаля. Для этого найдите иконку Borland Pascal на рабочем столе, подведите туда курсор мыши и сделайте двойной щелчок левой кнопки мыши.

Находясь в окне редактора, наберите текст программы :

program Hello ;

begin

Writeln

Writeln(' Здравствуйте !');

end.

Сохраните набранный текст в файле 1_FAM.pas.Для этого нажмите F2, в появившемся диалоговом окне найдите и выберете свой подкаталог, наберите в строке ввода название файла 1_FAM (можно без расширения) и закройте это окно, нажав Enter .

Откомпилируйте программу (нажмите F9).

Если компилятор обнаружил синтаксическую ошибку и указал, где она встретилась, то отредактируйте программу снова, исправив ошибку (поставьте ; после первого writeln), и повторите компиляцию. Добейтесь, чтобы компиляция прошла успешно (без ошибок).

Запустите программу на выполнение (нажмите Ctrl-F9).

После прогона программы посмотрите экран пользователя, где программа оставила результаты своей работы(нажмите ALT-F5, потом ESC).

Дополните текст программы новыми операторами:

program Hello ;

const Prompt = ' Введите ваше имя =';

var Name : string;

begin

Writeln;

Writeln(' Здравствуйте !');

Write(Prompt); Readln(Name);

Writeln( 'До свидания, ', Name, ' !');

Readln;

end.

Снова запустите программу на компиляцию и выполнение, проведите диалог с программой: (нажмите Ctrl-F9, после приветствия программы и запроса ‘Введите ваше имя=’ наберите свое имя и нажмите Enter. Программа выдаст прощальный текст и будет ждать нажатия Enter)

Добавьте самостоятельно в программу новые операторы ввода-вывода, чтобы продлить диалог с компьютером. Добейтесь, чтобы компиляция прошла успешно (без ошибок).

Запустите программу на выполнение (нажмите Ctrl-F9).

Выйдите из среды Турбо Паскаля(нажмите ALT-X).

Оформление отчета по работе.


В тетради для лабораторных работ запишите и поясните все основные комбинации «горячих клавиш», которые вы использовали при редактировании текстовых файлов.

Запишите и поясните все основные комбинации «горячих клавиш», которые вы использовали при компиляции и выполнении программы.

Лабораторная работа №2 «Линейные алгоритмы»


Задание 1. Настройка каталога.


Найдите на диске D свой каталог и создайте в нем подкаталог LAB2. Зайдите в созданный подкаталог LAB2 и все созданные вами файлы сохраняйте только в нем.

Задание 2. Программа «Диалог с компьютером».


Войдите в среду Турбо Паскаля.

Находясь в окне редактора, наберите текст домашней программы.

Сохраните в LAB2 набранный текст в файле ex1.pas. Для этого настройте Турбо-среду на ваш каталог как на рабочий. (Для этого необходимо вызвать пункт меню File\Change Dir... и выбрать свой каталог.
Для сохранения файла нажмите F2, в появившемся диалоговом окне убедитесь, что вы записываете файл в свой подкаталог, после этого наберите в строке ввода название файла (можно без расширения) и закройте это окно, нажав Enter.)

Откомпилируйте программу. Если компилятор обнаружил синтаксическую ошибку и указал, где она встретилась, то отредактируйте программу снова, исправив ошибку, и повторите компиляцию. Добейтесь, чтобы компиляция прошла успешно (без ошибок).

Запустите программу на выполнение.

После прогона программы посмотрите экран пользователя, где программа оставила результаты своей работы (нажмите ALT-F5, потом ESC).

Сохраните отредактированный текст в LAB2 в файле ex1.pas.

Задание 3. Самостоятельная работа над программой.


Решите самостоятельно задачу (номер вашей задачи узнайте у преподавателя):

1.1. Постройте алгоритм решения вашей задачи в виде блок-схемы в тетради для лабораторных работ. Покажите алгоритм преподавателю.

1.2. По алгоритму напишите программу на Паскале. Отладьте её и сохраните в LAB2 набранный текст в файле ex2.pas.

1.3. Продемонстрируйте работу вашей программы преподавателю.

Выйдите из среды Турбо Паскаля. (Нажмите ALT-X)

Задание 4. Оформление отчета по работе.


В тетради для лабораторных работ запишите и поясните программы ex1 и ex2.

Задачи для самостоятельного решения.


  1. Написать программу вычисления площади треугольника по формуле Герона. Длины сторон треугольника задаются с клавиатуры.

  2. Написать программу нахождения площади прямоугольного треугольника. Длины катетов треугольника задаются с клавиатуры.

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

  4. Написать программу вычисления периметра трапеции, длины сторон которой вводятся с клавиатуры.

  5. Написать программу для нахождения пути, пройденного автомобилем за заданное время. Значение средней скорости и время движения задаются с клавиатуры.

  6. Написать программу для решения следующей задачи: скорость первого автомобиля V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2 и S задаются с клавиатуры.

  7. Написать программу для решения следующей задачи: скорость первого автомобиля V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся навстречу друг другу? Значения V1, V2 и S задаются с клавиатуры.

  8. Напишите программу вычисления идеального веса человека по формуле: Ид. Вес= Рост в см –100. Значение роста вводится с клавиатуры.

  9. Вы положили деньги в сбербанк на срочный депозит на три месяца из расчета 3% годовых. Напишите программу, которая запрашивает сумму, внесенную на счет, и вычисляет причитающуюся вам сумму через три месяца.



Лабораторная работа № 3 «Разветвляющиеся алгоритмы»


Задание 1. Настройка каталога.


Зайдите на диске D в свой каталог и создайте в нем подкаталог LAB3. Все созданные вами файлы сохраняйте только в нем.

Задание 2. Программа «Вид треугольника».


Войдите в среду Турбо Паскаля.

Находясь в окне редактора, наберите текст домашней программы:

1 вариант: определить вид треугольника по углам;

2 вариант: определить вид треугольника по сторонам.

Сохраните в LAB3 набранный текст в файле treug.pas. Для этого настройте Турбо-среду на ваш каталог как на рабочий. (Для этого необходимо вызвать пункт меню File\Change Dir... и выбрать свой каталог.
Для сохранения файла нажмите F2, в появившемся диалоговом окне убедитесь, что вы записываете файл в свой подкаталог, после этого наберите в строке ввода название файла (можно без расширения) и закройте это окно, нажав Enter.)

Откомпилируйте программу.

Добейтесь, чтобы компиляция прошла успешно (без ошибок).

Запустите программу на выполнение.

После прогона программы посмотрите экран пользователя, где программа оставила результаты своей работы (нажмите ALT-F5, потом ESC). Результаты проверки запишите в отчет в виде таблицы:

А

В

С

Вид треугольника

8

8

2




3

4

5




16

8

9




5

5

5




1

1

3






Задание 3. Самостоятельная работа над программой.


Решите самостоятельно задачу (номер вашей задачи узнайте у преподавателя):

1.1. Постройте алгоритм решения вашей задачи в виде блок-схемы в тетради для лабораторных работ. Покажите алгоритм преподавателю.

1.2. По алгоритму напишите программу на Паскале. Отладьте её и сохраните в LAB3 набранный текст в файле sam.pas.

1.3. Продемонстрируйте работу вашей программы преподавателю.

Выйдите из среды Турбо Паскаля. (Нажмите ALT-X)

Задание 4. Оформление отчета по работе.


В тетради для лабораторных работ запишите и поясните созданные Вами программы.


Задачи для самостоятельного решения.


  1. С клавиатуры задано целое трехзначное число. Определите, есть ли среди цифр задуманного числа одинаковые.

  2. С клавиатуры заданы коэффициенты А, В, С биквадратного уравнения. Напишите программу решения этого уравнения.

  3. С клавиатуры вводятся координаты точки (х,у) на плоскости. Определите номер квадранта, в котором находится точка. Если точка лежит на оси, то укажите на какой.

  4. Идет k-ая секунда суток (k задается с клавиатуры). Определите, сколько полных часов и полных минут прошло к этому моменту от начала суток.

  5. С клавиатуры задаются А, В, С – ребра кирпича и Х, У – стороны прямоугольного отверстия. Определить, пройдет ли кирпич в отверстие.

  6. С клавиатуры заданы три целых числа А, В, С. Перераспределите их значения так, что А, В, С станут соответственно наименьшим, средним и наибольшим значениями.

  7. С клавиатуры заданы длины сторон двух прямоугольников. Определите, можно ли первый прямоугольник целиком поместить во втором.

  8. С клавиатуры заданы координаты двух точек. Определить, какая из них находится ближе к началу координат.

  9. С клавиатуры заданы координаты двух точек. Определить, лежат ли они на одной окружности с центром в начале координат.



Лабораторная работа № 4 «Разветвляющиеся алгоритмы-2»


Задание 1. Настройка каталога.


Зайдите в свой каталог и создайте в нем подкаталог LAB4 и все созданные вами файлы сохраняйте только в нем.

Задание 2. Программа «Точка и фигура».


Написать программу определения принадлежности точки М(х,у) заштрихованной области, изображенной на рисунке (рисунок – у преподавателя!)

Сохраните в LAB4 набранный текст в файле figura.pas

Откомпилируйте программу. Добейтесь, чтобы компиляция прошла успешно (без ошибок).

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

Придумайте тесты для проверки всевозможных ситуаций своей программы и запишите в отчет в виде таблицы:

Х

У

Результат проверки










Продемонстрируйте работу вашей программы преподавателю.

Задание 3. Программа «Число».


Решите самостоятельно задачу (номер вашей задачи узнайте у преподавателя):

Напишите программу на Паскале. Отладьте её и сохраните в LAB4 набранный текст в файле number.pas.

Придумайте и запишите в виде таблицы систему тестов для проверки решения вашей задачи.

Продемонстрируйте работу вашей программы преподавателю.

Задание 4. Оформление отчета по работе.


В тетради для лабораторных работ для каждой задачи запишите математическую модель, нарисуйте блок-схему, запишите текст программы и таблицу с тестами.


Задачи для самостоятельного решения.


  1. Дано трехзначное число. Написать программу определения является ли оно палиндромом («перевертышем»), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево. Верно ли, что это число содержит одинаковые цифры? Например: числа 121, 222 являются палиндромами.

  2. Дано четырехзначное число. Написать программу определения является ли оно палиндромом («перевертышем»), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево. Верно ли, что все его цифры числа различны? Например: число 1221 является палиндромом.

  3. Дано пятизначное число. Написать программу определения является ли оно палиндромом («перевертышем»), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево. Верно ли, что это число содержит ровно три одинаковые цифры числа? Например: число 12321 является палиндромом.

  4. Дано натуральное число n (100

а) является ли это число четным;

б) сумма цифр этого числа кратна 3;

в) все ли цифры числа различны.

  1. Дано натуральное четырехзначное число n.

а) выбросить из записи числа цифры 0 и 5, оставив прежним порядок остальных цифр. Например: из числа 1509 должно получиться 19.

б) проверьте, являются ли исходное и полученное в пункте а) числа нечетными.

  1. Дано натуральное трехзначное число n. Определите:

а) является ли оно числом Армстронга, т.е. сумма его цифр, возведенных в 3 степень, равна самому числу (например: 153=13 +53+33)

б) найти произведение четных цифр этого числа.

  1. Дано натуральное четырехзначное число n. Определите:

а) все ли цифры этого числа различны;

б) сумма цифр числа и само число кратны 7.

  1. Дано натуральное трехзначное число n. Определите:

а) все ли цифры этого числа четные;

б) больше ли цифра сотен цифры единиц.

  1. Дано натуральное четырехзначное число n. Определите:

а) найти количество нечетных цифр этого числа;

б) является ли сумма его цифр двузначным числом.

Лабораторная работа № 5 «Циклические алгоритмы»



^ Задание 1. Настройка каталога.

Зайдите свой каталог и создайте в нем подкаталог LAB5 и все созданные вами файлы сохраняйте только в нем.

Задание 2. «Составление и отладка программ».


Возьмите вариант с заданием у преподавателя. Решите предложенные Вам задачи.

Сохраните в LAB5 тексты программ в файлах с именами varN_exM.pas, где N –номер варианта, M- номер задания.

Придумайте тесты для проверки всевозможных ситуаций своих программ и запишите в отчет в виде таблицы:







Результат проверки










Продемонстрируйте работу вашей программы преподавателю.

Задание 3. Оформление отчета по работе.


В тетради для лабораторных работ для каждой задачи нарисуйте блок-схему, запишите текст программы и таблицу с тестами.

Варианты работ:







Вариант №1



1. С клавиатуры вводится последовательность из N целых чисел. Найти наибольшее число из всех отрицательных и его порядковый номер в последовательности. В случае совпадения наибольших значений вывести номер первого из них.

2.Определить порядковый номер элемента последовательности 21, 22, 23,…,2n, значение которого превысит 100.

3. Найти все простые числа из заданного промежутка [a,b], где а и b задаются с клавиатуры.




Вариант №2



1.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них.

2. Вычислить сумму всех элементов последовательности Фибоначчи, не превосходящих N, где N задается с клавиатуры.

3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих положительных делителей, кроме самого себя. Например, 28 - совершенное число, т.к. 28=1+2+4+7+14 .





Вариант №3



1.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, сколько раз в последовательности встретились пары равных соседних чисел. Если такие пары были, то вывести на печать номера последней пары.

2.Определить количество элементов последовательности 21, 22, 23,…,2n, сумма которых не превышает 200.

3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось палиндромов. Назовем число палиндромом, если его запись читается одинаково справа налево и слева направо (как, например, 4884, 393, 55, 1).




Вариант №4



1.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, является ли последовательность возрастающей.

2.Вычислить порядковый номер элемента последовательности 1+ 1/(1+2)+1/(2+3)+…+1/(n+ (n +1)), значение которого станет меньше 0,002.

3. Для всех натуральных трехзначных чисел:

а) проверьте, является ли оно числом Армстронга, т.е. сумма его цифр, возведенных в 3 степень, равна самому числу (например: 153=13 +53+33)

б) найдите произведение всех чисел, которые кратны 5 и содержат хотя бы одну четную цифру.




Вариант №5



1.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них.

2.Определить количество элементов последовательности 21, 22, 23,…,2n, которые попадают в интервал [10, 150].

3. Для всех натуральных чисел n (100
б) все цифры числа различны



Вариант №6



1.Вводится последовательность из N целых чисел. Найти два наименьших по значению числа.

2.Население города увеличивается ежегодно на 3% каждый год. В 1995 году население города составляло 10500 человек. Напечатайте на экране год, в котором численность населения города превысит 15000.

3.С клавиатуры вводится последовательность из N целых чисел.

Найти:

-вывести номера тех элементов, значения которых больше заданного числа А;

-подсчитать количество положительных элементов кратных К.

(N,A,K- задаваемые константы)




Лабораторная работа №6 «Числовые ряды »
Задание 1. Настройка каталога.


Зайдите в свой каталог и создайте в нем подкаталог LAB6 и все созданные вами файлы сохраняйте только в нем.

Задание 2. «Составление и отладка программ»:


1. Составьте программу нахождения НОД для двух чисел по алгоритму Евклида. Сохраните в LAB6 текст программы в файле с именами ex1.pas

2. По вариантам решите задачу N2:

  1. Получить n-ое число Фибоначчи. Задается натуральное n (n<=30). Требуется получить n-ый член рекуррентной последовательности { F0=1, F1=1, Fk+1= Fk+Fk-1 для k>1 } .

  2. Получить первое число Фибоначчи, превышающее заданный предел. Задается натуральное M. Требуется получить член рекуррентной последовательности { F0=1, F1=1, Fk+1= Fk+Fk-1 для k>1 }, превышающий M

  3. Вычислить кубический корень. Для заданного вещественного X>0 построить рекуррентную последовательность {Y0=X,Yi+1=(2*Yi+X/Yi2)/3} до достижения требуемой точности Eps=10-4 , т.е. получить такое Yi+1 , что | Yi+1 - Yi | < Eps

  4. Вычислить корень k-ой степени. Для заданного вещественного X>0 и натурального k построить рекуррентную последовательность {Y0=X,Yi+1=(Yi*(k-1)+X/Yik-1 )/k} до достижения требуемой точности Eps=10-4 , т.е. получить такое Yi+1 , что | Yi+1 - Yi | < Eps.

Сохраните в LAB6 текст программы в файле с именем varNex2.pas, где N –номер варианта.

3. По вариантам решите задачу N3:

  1. Найти для заданного значения Х сумму ряда: S=x + (2*x3)/7 - (4*x6)/9 + (6*x9)/11 – (8*x12)/13 + …+ (14*x21)/19

  2. Найти сумму членов ряда. Суммирование продолжать пока разность между текущим и предыдущим значениями суммы остается больше 0,005. Вывести на экран значение суммы, последнего члена ряда и его порядковый номер: S= (1*3)/(2*4) + (1*3*5)/(2*4*6) + (1*3*5*7)/(2*4*6*8) +…..

  3. Найти сумму членов ряда. Суммирование продолжать пока разность между текущим и предыдущим членами остается больше 0,04. Вывести на экран значение суммы, последнего члена ряда и его порядковый номер: S= 1/(2*1) + 1/(2*2) +1/(2*3) +1/(2*4) +1/(2*5) +….

  4. Найти минимальное количество слагаемых в сумме членов ряда, при котором эта сумма станет больше 120. Вывести на экран значение суммы, последнего члена ряда и его порядковый номер: S= 1*1 + 1*2*2 +1*2*3*3 + 1*2*3*4*4 + …..

Сохраните в LAB6 текст программы в файле с именем varNex3.pas, где N – номер варианта.

Придумайте тесты для проверки всевозможных ситуаций своих программ и запишите в отчет в виде таблицы:







Результат проверки










Продемонстрируйте работу ваших программ преподавателю.

Задание 3. Оформление отчета по работе.


В тетради для лабораторных работ для каждой задачи нарисуйте блок-схему, запишите текст программы и таблицу с тестами.

Лабораторная работа №7 «Числовые последовательности »


Задание 1. Настройка каталога.


Зайдите в свой каталог и создайте в нем подкаталог LAB7 и все созданные вами файлы сохраняйте только в нем.

Задание 2. «Составление и отладка программ»:



По вариантам решите задачу №1:

  1. С клавиатуры вводится последовательность из N целых чисел. Найти наибольшее число из всех отрицательных и его порядковый номер в последовательности. В случае совпадения наибольших значений вывести номер первого из них.

  2. С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них.

  3. С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, сколько раз в последовательности встретились пары равных соседних чисел. Если такие пары были, то вывести на печать номера последней пары.

  4. С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, является ли последовательность возрастающей.


Сохраните в LAB7 текст программы в файле с именем varNex1.pas, где N –номер варианта.


По вариантам решите задачу №2:

  1. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось палиндромов. Назовем число палиндромом, если его запись читается одинаково справа налево и слева направо (как, например, 4884, 393, 55, 1).

  2. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих положительных делителей, кроме самого себя. Например, 28 - совершенное число, т.к. 28=1+2+4+7+14 .

  3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось чисел Армстронга. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ую степень, равна самому числу (как, например, 153=13+53+33 ).

  4. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось дружественных чисел. Два натуральных числа являются дружественными, если каждое из них равно сумме делителей другого, кроме самого этого числа.

Сохраните в LAB7 текст программы в файле с именем varNex2.pas, где N – номер варианта.


Решите задачу №3: « В очереди за билетами стоят мужчины и женщины. Какое наибольшее количество мужчин стоит в очереди перед женщиной».

Сохраните в LAB7 текст программы в файле с именем varNex3.pas, где N – номер варианта.

Придумайте тесты для проверки всевозможных ситуаций своих программ и запишите в отчет в виде таблицы:








Результат проверки










Продемонстрируйте работу ваших программ преподавателю.

Лабораторная работа №8 «Одномерные массивы-1»


Задание 1. Настройка каталога.

Задание 2. «Составление и отладка программ»:


По вариантам решите и сохраните в LAB8 текст программы в файле с именем varNex1.pas, где N –номер варианта.


По вариантам решите задачу №1:


  1. Массив целых чисел, состоящий из 20 элементов, задан случайным образом числами из промежутка [-45,65].

Найти:

    • -сумму элементов, имеющих нечетное значение;

    • -вывести индексы тех элементов, значения которых больше заданного числа А;

    • -подсчитать количество положительных элементов кратных К.

Числа А и К вводятся с клавиатуры.

  1. Массив целых чисел, состоящий из 20 элементов, задан случайным образом числами из промежутка [-15,85].

Найти:

    • -сумму элементов, имеющих нечетные индексы;

    • - номер первого отрицательного элемента;

    • количество элементов массива, значения которых кратны 5 .

  1. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [-50,55].

Найти:

    • -сумму положительных элементов, значения которых меньше 10;

    • -номер последнего отрицательного элемента;

    • -индексы тех элементов, значения которых больше значения предыдущего элемента.

  1. Массив целых чисел, состоящий из 25 элементов, задан случайным образом числами из промежутка [-30,30].

Найти:

  • -сумму отрицательных элементов;

  • -количество тех элементов, значения которых положительны и не превосходят заданного числа А;

  • -номера последней пары соседних элементов с разными знаками.


Сохраните в LAB8 текст программы в файле с именем varNex2.pas, где N – номер варианта.


По вариантам решите задачу №2:


  1. С клавиатуры вводится массив из N целых чисел. Определить, сколько среди них встретилось палиндромов. Назовем число палиндромом, если его запись читается одинаково справа налево и слева направо (как, например, 4884, 393, 55, 1).

  2. С клавиатуры вводится массив из N целых чисел. Определить, сколько среди них встретилось совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих положительных делителей, кроме самого себя. Например, 28 - совершенное число, т.к. 28=1+2+4+7+14 .

  3. С клавиатуры вводится массив из N целых чисел. Определить, сколько среди них встретилось чисел Армстронга. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ую степень, равна самому числу (как, например, 153=13+53+33 ).

  4. С клавиатуры вводится массив из N целых чисел. Определить, сколько среди них встретилось х чисел-близнецов. Числами-близнецами считаются пары простых чисел, разность которых равна 2. Например: 3 и 5, 7 и 9, 11 и 13.



Сохраните в LAB8 текст программы в файле с именем varNex3.pas, где N – номер варианта.

Придумайте тесты для проверки всевозможных ситуаций своих программ и запишите в отчет в виде таблицы:







Результат проверки










Продемонстрируйте работу ваших программ преподавателю.

Задание 3. Оформите отчет по работе в тетради для лабораторных работ.




Лабораторная работа №9 «Одномерные массивы-2»


Вариант 1


1. Массив целых чисел, состоящий из 20 элементов, задан случайным образом числами из промежутка [-45,65].

Найти:

-сумму элементов, имеющих нечетное значение;

-вывести индексы тех элементов, значения которых больше заданного числа А;

-подсчитать количество положительных элементов кратных К.

Числа А и К вводятся с клавиатуры.

2. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [0,100]. Отсортировать в порядке убывания элементы, стоящие на нечетных местах, методом обмена.

3. Имеются сведения о багаже пассажира (название и вес каждого предмета). Всего предметов N. Выбрать из заданных предметов любые такие, чтобы их суммарный вес не превышал 30 кг. Вывести на печать название и вес выбранных предметов.

Вариант 2


1. Массив целых чисел, состоящий из 20 элементов, задан случайным образом числами из промежутка [-15,85].

Найти:

-сумму элементов, имеющих нечетные индексы;

- номер первого отрицательного элемента;

количество элементов массива, значения которых кратны 5 .

2. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [0,100].

Отсортировать в порядке убывания только четные элементы массива методом выбора.

3. Дана последовательность вещественных чисел, содержащая n=15 элементов.

Построить из неё новую последовательность, так чтобы в её начале располагались все отрицательные, а затем все положительные числа и нули. Относительный порядок расположения как отрицательных, так и неотрицательных должен быть сохранён.

Вариант 3


1. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [-50,55].

Найти:

-сумму положительных элементов, значения которых меньше 10;

-номер последнего отрицательного элемента;

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

2. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [0,100]. Отсортировать в порядке убывания элементы, стоящие на нечетных местах, методом обмена.

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

Вариант 4.


1. Массив целых чисел, состоящий из 25 элементов, задан случайным образом числами из промежутка [-30,30].

Найти:

-сумму отрицательных элементов;

-количество тех элементов, значения которых положительны и не превосходят заданного числа А;

-номера последней пары соседних элементов с разными знаками.

2. Массив целых чисел, состоящий из 10 элементов, является частичноупорядоченным.

Отсортировать его по возрастанию методом «пузырька», исключив лишние просмотры.

3. Два массива содержат сведения о росте учеников в классе и список этих учеников. Выведите на печать фамилию самого высокого и самого низкого ученика.

Вариант 5.


Массив P целых чисел, состоящий из 20 элементов, задан случайным образом числами из промежутка [-25,30].

заменить первый отрицательный элемент нулем;

умножить все элементы, кратные 3, на третий элемент массива;

из элементов массива P сформировать массив M той же размерности

по правилу: если номер четный, то M[i]=i*P[i] ,

если нечетный, то M[i]= -P[i].

2. Массив целых чисел, состоящий из 15 элементов, задан случайным образом числами из промежутка [-100,100].

Отсортировать в порядке возрастания отрицательные элементы массива методом обмена.

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

Лабораторная работа №10 «Процедуры и функции»

Вариант 1.



В школе в параллели 11-х классов есть три класса.

Для каждого класса заданы списки, содержащие фамилию и имя каждого ученика.

Выясните:

а) в каких классах есть однофамильцы (выведите на печать совпадающие фамилии)?

б) в каких классах есть тёзки (выведите на печать совпадающие имена)?

в) есть ли в параллельных классах однофамильцы?

г) в каких классах есть ученики, у которых совпадают и имя и фамилия?


Для решения вашей задачи создайте процедуру ввода-вывода исходных данных, и процедуры поиска ответа на каждый вопрос.


Вариант 2.



В финал чемпионата России вышли три команды: «Зенит», «Спартак» и «Локомотив».

Для каждой команды заданы сведения о количестве голов, забитых каждым футболистом команды в каждом из матчей чемпионата.

Проверьте для каждой команды:

а) сколько в команде футболистов, забивших хотя бы два гола (выведите на печать их фамилии)?

б) сколько в команде футболистов, забивавших голы в каждом матче?

в) сколько в команде есть футболистов, не забивших ни одного гола?

г) назовите для каждой команды игрока (игроков), забивших максимальное количество голов.

Для решения вашей задачи создайте процедуру ввода-вывода исходных данных, и процедуры поиска ответа на каждый вопрос.


Лабораторная работа №11 «Двумерные массивы-1»


Вариант 1.


  1. Имеются сведения о количестве мест и количестве проданных билетов в каждом из 15-ти вагонов поезда. Считая заданной среднюю стоимость билета, оценить потери от недогрузки поезда, определить число свободных мест в самом незагруженном вагоне и его номер.

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



Вариант 2.


  1. В 6 городах Калужской области взяты пробы воздуха и определено процентное содержание в нем 5 вредных элементов. Вывести на печать название каждого элемента и название города с наименьшим содержанием этого вредного элемента.

  2. Известно количество абитуриентов, подавших заявления на каждую из n=8 специальностей института и план приема по каждой специальности. Определить конкурс по каждой специальности отдельно и общий конкурс по институту.



Вариант 3.


  1. Имеются сведения о названиях и ценах на n=5 видов товаров по m=6 магазинам. Требуется составить список 3 магазинов, имеющих минимальные цены по заданному виду товара. Список должен включать название магазина, название и цену выбранного товара.

  2. Каждое из N фермерских хозяйств представило свой перечень из М машин разных наименований на приобретение их в единственном экземпляре (M и N заданы). Составить общий перечень необходимых машин с указанием их количества, расположив список в порядке убывания потребности в них.



Вариант 4.


  1. Каждое из N предприятий выпускает 5 видов товаров (одинаковых для всех предприятий). Известны названия предприятий и товаров, стоимость единицы и общий объем выпуска товаров каждого вида на каждом предприятии. Для каждого предприятия определить вид произведенного товара с максимальной общей стоимостью.

  2. В автопарке 10 шоферов, о каждом из которых известно: ежемесячное количество рейсов и ежемесячное количество порожних рейсов в течение года. Для каждого шофера определить общий процент порожних рейсов за год и номер месяца с максимальным количеством порожних рейсов.



Вариант 5.


  1. Список участниц конкурса красоты содержит 10 фамилий. Каждый из 5 судей ставит оценки претенденткам. Вывести на экран список участниц, занявших 1, 2 и 3 места (по сумме баллов).

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

Лабораторная работа №12 «Двумерные массивы-2»


Вариант 1.





  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется уменьшить на 1 все числа в тех строках матрицы, которые не содержат отрицательных чисел.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа),заданная случайным образом, числами из промежутка от –15 до 75. Удалить все столбцы матрицы, которые содержат нули.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Вставить строку из нулей перед всеми строками, первый элемент которых делится на 3.

Вариант 2.


  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется прибавить 1 ко всем числам в тех столбцах матрицы, в которых есть хотя бы одно нулевое значение.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа),заданная случайным образом, числами из промежутка от –10 до 5. Удалить все строки матрицы, которые содержат нули.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Вставить второй столбец перед всеми столбцами, в которых нет отрицательных элементов.

Вариант 3.


  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется заменить минимальный элемент в каждой строке матрицы на противоположный по знаку.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа),заданная случайным образом числами из промежутка от –5 до 15. Удалить все столбцы матрицы, которые содержат максимальный элемент.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Вставить первую строку между средними строками.

Вариант 4.


  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется изменить знак на обратный у всех чисел тех столбцов матрицы, которые содержат хотя бы одно отрицательное число.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа),заданная случайным образом, числами из промежутка от –10 до 10. Удалить все строки матрицы, которые содержат минимальный элемент.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Вставить столбец из нулей после столбцов с минимальными элементами.

Вариант 5.


  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется увеличить в два раза все числа в тех строках матрицы, которые содержат только положительные числа.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа), заданная случайным образом, числами из промежутка от –10 до 15. Удалить все столбцы матрицы, у которых сумма элементов по столбцам максимальна.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Поменять местами в каждой строке первый отрицательный и последний положительный элементы.

Вариант 6.


  1. Дана прямоугольная матрица вещественных чисел размером N*M (N,M-константы). Требуется уменьшить в два раза все числа в тех столбцах матрицы, которые содержат хотя бы одно положительное число.

  2. Дана квадратная матрица целых чисел размером N*N (N – константа),заданная случайным образом, числами из промежутка от –10 до 15. Удалить все столбцы матрицы, у которых сумма элементов по строкам минимальна.

  3. Дана прямоугольная матрица целых чисел размером N*M (N,M-константы). Поменять местами первый столбец и столбец, в котором находится последний нулевой элемент.



Лабораторная работа №13 «Операции над строками-1»


Вариант 1.


  1. Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Посчитать, сколько слов содержит данная строка.

  2. Дана строка символов. Удвойте в заданном тексте все буквы. Пробелы и знаки препинания оставьте без изменения.

  3. Введена строка символов. Проверить правильность написания сочетаний «ЧА» и «ЩА». Если надо, то исправить ошибки их написания. Полученную строку вывести на экран дисплея.



Вариант 2.


  1. Дана строка символов. В заданной последовательности найдите все слова, имеющие заданное окончание.

  2. Дана строка символов. Замените в заданном тексте все сочетания «min» на «мах».

  3. Введена строка символов. Проверить правильность написания сочетаний «ЧУ» и «ЩУ». Если надо, то исправить ошибки их написания. Полученную строку вывести на экран дисплея.



Вариант 3.


  1. Дана строка символов. В заданной последовательности найдите все слова, начинающиеся с заданной приставки.

  2. Дана строка символов. Посчитать, сколько предложений содержит данная строка.

  3. Введена строка символов. Проверить правильность написания сочетаний «ЖИ» и «ШИ». Если надо, то исправить ошибки их написания. Полученную строку вывести на экран дисплея.



Вариант 4.


  1. Дана строка символов. В заданной последовательности найдите все повторяющиеся слова.

  2. Дана строка символов. В заданной последовательности каждые n символов отделите знаком «!».

  3. Введена строка символов. Удалите из нее все кратные рядом стоящие одинаковые символы, оставив по одному. Например: МАААММААА=>МАМА.

Лабораторная работа №14 «Операции над строками-2»


Вариант 1.


  1. Дана строка символов. Словом текста считается любая последовательность букв кириллицы. Вывести все слова, в которых гласные буквы образуют палиндром. Расположение гласных может быть произвольным. Малые и большие буквы считаем эквивалентными. Например: слово- Африка, абракадабра. Симметрия: (а,и,а), (а,а,а,а,а).

  2. Дана строка символов. Словом текста считается любая последовательность букв латинского алфавита. Найти и вывести в лексикографическом порядке все слова минимальной длины.

Вариант 2.


  1. Дана строка символов. Словом текста считается любая последовательность цифр. Удалить все симметричные слова (палиндромы). Слова из одной цифры палиндромами не считаются.

  2. Дана строка символов. Словом текста считается любая последовательность букв латинского алфавита. Найти и вывести в обратном лексикографическом порядке все слова, содержащие более двух букв «a».

Вариант 3.


  1. Дана строка символов. Словом текста считается любая последовательность букв латинского алфавита. Найти и вывести на печать самое длинное слово палиндром.

  2. Дана строка символов. Словом текста считается любая последовательность букв кириллицы. Найти и вывести на печать в лексикографическом порядке все слова, начинающиеся на гласную букву.

Вариант 4.


  1. Дана строка символов. Словом текста считается любая последовательность букв и цифр. Удалить из неё каждое нечетное слово нечетной длины.

  2. Дана строка символов. Словом текста считается любая последовательность букв и цифр. Вывести в обратном лексикографическом порядке все слова, встречающиеся в тексте по одному разу.

Вариант 5.


  1. Дана строка символов. Словом текста считается любая последовательность букв и цифр. Поменять местами первое и последнее слово в строке.

  2. Дана строка символов. Словом текста считается любая последовательность букв и цифр. Найти и вывести на печать в лексикографическом порядке все слова, в которых встречается буква «а».

Вариант 6.


  1. Введена строка символов. Определить длину самой длинной подстроки из подряд стоящих букв «и».

  2. Введена строка символов. Группу символов, разделенную с одной или обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом. «Перевернуть» каждое слово, сохранив неизменным их порядок в строке.



Вариант 7.


  1. Введена строка символов. Распечатать все слова четной длины, отличные от первого слова. Если таких слов нет, то выдать соответствующее текстовое сообщение

  2. Введена строка символов. Распечатать по алфавиту все слова нечетной длины, в которых нет буквы «К». Если таких слов нет, то выдать соответствующее текстовое сообщение



Вариант 8.


  1. Введена строка символов. Распечатать все слова нечетной длины, имеющие не менее двух букв «а». Если таких слов нет, то выдать соответствующее текстовое сообщение.

  2. Введена строка символов. Напечатать в алфавитном порядке только те слова, которые начинаются на гласную букву. Если таких слов нет, то выдать соответствующее текстовое сообщение.

Вариант 9.


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

  2. Введена строка символов. «Перевернуть» каждое слово, сохранив неизменным их порядок в строке.

Вариант 10.


  1. Введена строка символов. Распечатать все слова четной длины, в которых нет буквы «К». Если таких слов нет, то выдать соответствующее текстовое сообщение.

  2. Введена строка символов. Распечатать в лексикографическом порядке все слова четной длины. Если таких слов нет, то выдать соответствующее текстовое сообщение.



Лабораторная работа №15 «Записи -1»




Задача 1.


Задан массив записей со сведениями о студентах.
Определить в программе следующий тип записи о студенте:
type
TPol= (Man,Woman);

Tmark= 2..5;

TSTUD = record

Fam: string[30];

Name: string[20];
Day: 1..31;

Mon: 1..12;

Year:1900..3000;

Pol: TPol;
Matem: Tmark;

Info: Tmark;
Fizica: Tmark;
end;


Подсчитать и вывести на экран:

1 вариант: количество студенток и студентов.

2 вариант: количество отличников по каждому предмету.

3 вариант: количество студентов с именами «Иван» и «Мария».

4 вариант: количество студентов, родившихся в заданном году (год вводится с клавиатуры).

Задача 2.


Багаж пассажира характеризуется ФИО пассажира, количеством вещей и общим весом вещей. Задать массив записей, содержащий сведения о багаже всех пассажиров. Подсчитать и вывести на экран:

1 вариант: найдите пассажиров, у которых средний вес одной вещи не более 10 кг.

2 вариант: найдите число пассажиров, у которых количество вещей превосходит среднее число вещей.

3 вариант: найдите всех пассажиров, у которых багаж состоит из 1 вещи весом менее 100 кг, но более 10 кг.

4 вариант: найдите число пассажиров, у которых более 2 вещей общим весом менее 5 кг.

Задача 3.


Дан массив записей, в котором хранятся данные о расписании поездов: номер поезда, название (откуда-куда, например, Обнинск-Москва), время отправления и время прибытия на станцию(часы, минуты).

Подсчитать и вывести на экран:

1 вариант: название всех поездов, которые отправляются из Москвы с 10 до 12 часов.

2 вариант: по заданному времени определить, какие из поездов находятся в данный момент в пути.

3 вариант: название всех поездов, которые прибывают в Москву с 22 до 24 часов.

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

Лабораторная работа №16 «Записи -2»

Вариант 1


Описать структуру с именем STUDENT, содержащую следующие поля:

  • NAME – фамилия и инициалы;

  • GROUP – номер группы;

  • SES – успеваемость (массив из 5 элементов).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив STUD1, состоящий из 10 структур типа STUDENT;

  • сортировка записей по возрастанию содержимого поля GROUP;

  • вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4.0;если таких студентов нет, вывести соответствующее сообщение.



Вариант 2


Описать структуру с именем AEROFLOT, содержащую следующие поля:

  • NAZN – название пункта назначения рейса;

  • NUMR – номер рейса;

  • TIP – тип самолета.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив AIRPORT, состоящий из 7 структур типа AEROFLOT;

  • сортировка записей по возрастанию номера рейса;

  • вывод на дисплей номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого введено с клавиатуры; если таких рейсов нет, вывести соответствующее сообщение.

Вариант 3


Описать структуру с именем WORKER, содержащую следующие поля:

  • NAME – фамилия и инициалы работника;

  • POST – название занимаемой должности;

  • YEAR – год поступления на работу.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив TABL, состоящий из 10 структур типа WORKER,

  • сортирует записи в алфавитном порядке фамилий;

  • вывод на дисплей фамилий работников, чей стаж работы превышает значение, введенное с клавиатуры; если таких работников нет, вывести соответствующее сообщение.

Вариант 4


Описать структуру с именем TRAIN, содержащую следующие поля:

  • NAZN – название пункта назначения;

  • NUMR – номер поезда;

  • TIME – время отправления.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив RASP, состоящий из 8 структур типа TRAIN;

  • Сортировка записей в алфавитном порядке по названиям пунктов назначения;

  • вывод на дисплей информации о поездах, отправляющихся после введенного с клавиатуры времени; если таких поездов нет, вывести соответствующее сообщение.

Вариант 5


Описать структуру с именем MARSH, содержащую следующие поля:

  • BEGST – название начального пункта маршрута;

  • TERM – название конечного пункта маршрута;

  • NUMER – номер маршрута.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив TRAFIC, состоящий из 8 структур типа MARSH;

  • сортировка записей по номерам маршрутов;

  • вывод на дисплей информации о маршруте, номер которого введен с клавиатуры; если таких маршрутов нет, вывести соответствующее сообщение.

Вариант 6


Описать структуру с именем NOTE, содержащую следующие поля:

  • NAME – фамилия, имя;

  • TELE – номер телефона;

  • BDAY – день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив BLOCKNOTE, состоящий из 8 структур типа NOTE;

  • сортировать записи по датам дней рождения;

  • вывод на дисплей информации о человеке, номер телефона которого введен с клавиатуры; если такого нет, вывести соответствующее сообщение.

Вариант 7


Описать структуру с именем ZNAK, содержащую следующие поля:

  • NAME – фамилия, имя;

  • ZODIAC – знак Зодиака;

  • BDAY – день рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив BOOK, состоящий из 8 структур типа ZNAK;

  • сортировать записи по датам дней рождения;

  • вывод на дисплей информации о человеке, чья фамилия введена с клавиатуры;

  • если такого нет, вывести соответствующее сообщение.

Вариант 8


Описать структуру с именем PRICE, содержащую следующие поля:

  • TOVAR – название товара;

  • MAG – название магазина, в котором продается товар;

  • STOIM – стоимость товара в рублях.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив SPISOK, состоящий из 8 структур типа PRICE;

  • сортировать записи в алфавитном порядке по названиям товаров;

  • вывод на дисплей информации о товаре, название которого введено с клавиатуры; если таких товаров нет, вывести соответствующее сообщение.

Вариант 9


Описать структуру с именем ORDER, содержащую следующие поля:

  • PLAT – расчетный счет плательщика;

  • POL – расчетный счет получателя;

  • SUMMA – перечисляемая сумма в рублях.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив SPISOK, состоящий из 8 структур типа ORDER;

  • сортировать записи по расчетным счетам плательщиков;

  • вывод на дисплей информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры; если такого расчетного счета нет, вывести соответствующее сообщение.



Лабораторная работа №17 «Типизированные файлы»


( Для задания значений типизированного файла используйте Приложение 1)

Вариант 1.





  1. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл f содержит столько же отрицательных чисел, сколько и положительных. Переписать компоненты файла f в файл g так, чтобы в файле g сначала шли все положительные числа, а потом все отрицательные. Массивы не использовать.




  1. Даны два упорядоченных по возрастанию файла целых чисел. Получить один файл-результат, в котором присутствуют все числа из исходных файлов.

Вариант 2.





  1. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл f содержит столько же отрицательных чисел, сколько и положительных. Используя вспомогательный файл h, переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке: два положительных, два отрицательных, два положительных, два отрицательных и т. д.

  2. Даны два упорядоченных по возрастанию файла символов. Получить один файл-результат, в котором присутствуют все буквы из исходных файлов.

Вариант 3.





  1. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т. д. Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке: пять положительных, пять отрицательных, пять положительных, пять отрицательных и т. д.

  2. Даны два упорядоченных по убыванию файла целых чисел. Получить один файл-результат, в котором присутствуют все числа из исходных файлов.


Приложение 1.

program newf;

const n=10;

var

f1: file of integer; {файл исходных данных }

f2: file of integer; { файл результатов  }

i,a:integer;

begin

assign( f1,'a.dat');

assign( f2,'b.dat');

{ I. Задаём файл исходных данных }

rewrite( f1); {открываем файл для записи }

for i:=1 to n do

begin

readln(a); {вводим данные с клавиатуры }

write( f1,a); { записываем в файл }

end;

close( f1); { закрываем файл }

{ II. Читаем данные из файла }

reset( f1); {открываем файл для чтения }

while not eof(f1) do

begin

read(f1,a); { читаем из файла }

write(a,',');

end;

close(f);


{ ...........Программа ......}

end.

Лабораторная работа №18 «Текстовые и типизированные файлы»

Вариант 1.


  1. Дан текстовый файл, в котором хранятся данные об учениках класса: фамилия, имя, отчество, адрес (улица, дом, квартира) и домашний телефон (если есть). Вывести на экран фамилию, имя и адрес только тех учеников, до которых нельзя дозвониться. Создайте текстовый файл данных в текстовом редакторе BP.

  2. Создайте типизированный файл записей, отражающих результаты сессии: фамилия, группа, три предмета, три оценки. По запросу об отличниках сессии выдайте список по алфавиту фамилий студентов по каждой группе, сдавших экзамены на «отлично».

Вариант 2.


  1. Дан текстовый файл, в котором хранятся данные о работающих на фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Вывести на экран данные тех из них, кто на сегодняшний день проработал уже не менее 5 лет. Создайте текстовый файл данных в текстовом редакторе BP.

  2. Создайте типизированный файл записей об учебной литературе: наименование, автор, учебная дисциплина, число экземпляров, цена. По запросу о наличии учебной литературы по заданной дисциплине выдайте список изданий (по алфавиту), указывая число их экземпляров и общую стоимость издания.

Вариант 3.


  1. Дан текстовый файл, в котором хранятся данные о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира) и что взял (только один предмет). Вывести на экран данные тех из них, кто взял на прокат телевизор. Создайте текстовый файл данных в текстовом редакторе BP.

  2. Создайте типизированный файл записей, отражающих результаты сессии: фамилия, группа, три предмета, три оценки. По запросу о лучшей группе выдайте упорядоченный (в порядке убывания) список групп, которые имеют наивысший суммарный средний балл по всем экзаменам.

Вариант 4


  1. Дан текстовый файл, в котором хранятся данные о клиентах автостоянки: фамилия, имя, отчество, марка автомобиля, год выпуска автомобиля. Вывести на экран данные тех из них, чей автомобиль старше 10 лет. Создайте текстовый файл данных в текстовом редакторе BP.

  2. Создайте типизированный файл записей об учебной литературе: наименование, автор, учебная дисциплина, число экземпляров, цена. По запросу о наличии учебной литературы заданного автора выдайте список всех наименований (по алфавиту), указывая число их экземпляров и общую стоимость издания.

Литература


  1. И.А. Бабушкина, Н.А. Бушмелева, С.М. Окулов, С.Ю. Черных. Практикум по Паскалю, М., АБФ, 1998.

  2. Л.З. Щауцукова.. Информатика 10-11. М., Просвещение, 2004.

  3. Е.А. Виноградова. Программирование на языках высокого уровня. Учебное пособие по курсу "Программирование на языках высокого уровня". Обнинск: ОГТУИАТЭ, 2003.










Скачать 397.01 Kb.
оставить комментарий
Дата29.09.2011
Размер397.01 Kb.
ТипУчебное пособие, Образовательные материалы
Добавить документ в свой блог или на сайт

плохо
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх