Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

План лаб по инфе

.doc
Скачиваний:
47
Добавлен:
09.02.2015
Размер:
147.46 Кб
Скачать

10

Практические занятия по информатике

1-й семестр

Неделя

Тема

Примеры заданий

1

Знакомство с системой программирования Delphi (консольный режим). Структура программы. Основные стандартные типы данных. Оператор присваивания. Выражения. Процедуры ввода - вывода. Разработка программ линейной структуры.

  1. Ввести два целых числа. Вывести результаты выполнения над ними 6-и арифметических действий (+ , - , * , / , DIV, MOD).

  2. Ввести символ. Определить его код по таблице ASCII. Используя значение кода в качестве величины радиуса, вычислить длину окружности, площадь круга и объем шара.

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

  4. Определить площадь треугольника по заданным координатам его вершин и его углы.

  5. По заданным коэффициентам a1,a2,b1,b2 и правым частям c1,c2 найти решение системы двух линейных уравнений в предположении, что ее определитель не равен 0.

  6. Присвоить символьным переменным с1, с2, с3 соответственно левую, среднюю и правую цифры целого трехзначного числа k.

  7. Определить площадь и периметр правильного n – угольника, вписанного в окружность радиуса R и описанного около нее. Сравнить полученные данные с площадью круга и длиной окружности радиуса R.

  8. Треугольник в пространстве задан координатами своих вершин A(x,y,z), B(u, v, w), C(r, p, q). Найти периметр и площадь треугольника. Определить скалярное произведение векторов .

  9. Задано пятизначное число a. Проверить, является ли оно палиндромом.

2

Операторы: условный, составной и выбора. Логические операции. Разработка программ разветвляющейся структуры.

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

  2. Вычислить значения y по одной из формул:

при x<=0;

при 0<x<=1;

y = lg(x) при x>1.

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

  2. Определить площадь закрашенных участков, если точка с координатами x,y располагается внутри них.

  1. Написать программу, имитирующую работу калькулятора. Калькулятор должен иметь арифметическую и функциональную часть. Работа калькулятора осуществляется следующим образом. Вводится вещественное число а. Вводится знак арифметической операции (+,-,*,/) или буква F. Если введен знак операции, то вводится значение вещественной переменной b и выполняется нужная операция. Если же введен символ функциональной части F, то должна вводиться первая буква вычисляемой функции, например s или S соответствуют функции Sin(a).

  2. Записать выражение x=a b c с помощью условных операторов. В этом выражении x, a, b, c – логические переменные. Операции OR и AND не использовать.

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

  4. Дано натуральное число n<101, являющееся возрастом человека в годах. Вывести для этого числа надпись «год», «года» или «лет». Например, 2 года, 56 лет, 34 года и т.д.

3

Операторы цикла (с известным и неизвестным числом повторений). Разработка программ циклической структуры.

  1. Протабулировать функцию y=x* sin(x) в диапазоне изменения х от А до В с шагом Н (A,B и H вводятся с клавиатуры). Использовать разные операторы цикла.

  2. Вычислить факториал введённого целого числа. Использовать разные операторы цикла.

  3. Вычислить сумму членов ряда с точностью до члена ряда по абсолютной величине, меньшего ε (ε – малое вводимое число).

  4. Вводится целое n и вещественные числа x1,y1 , x2,y2, … , xn, yn . Рассматривая пары xi,yi как координаты точки на плоскости, определить минимальный радиус круга с центром в начале координат, в котором разместятся все введенные точки.

  5. Найти так называемое «машинное эпсилон» для разных типов вещественных данных Delphi (single и т.д.), т.е. найти такое минимальное не равное нулю число, которое после прибавления его к 1.0 еще дает результат, отличный от 1.0

  6. Получить таблицу значений для x, изменяющегося в диапазоне с шагом .

4

РУБЕЖНЫЙ КОНТРОЛЬ

Операторы, выражения, программы различной структуры – 10(6) баллов.

5

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

  1. Ввести массив из целых чисел A[N], где N<=10 – размерность массива (вводятся по запросу). Найти сумму и произведение его элементов, а также максимальный элемент. Вывести на экран массив и найденные значения.

  2. Ввести массив из целых чисел A[N], где N<=10 – размерность массива. Из его отрицательных элементов создать другой массив. Вывести на экран оба массива. Если отрицательных элементов нет, вывести соответствующее сообщение.

  3. В массиве А после каждого отрицательного элемента вставить элемент с заданным значением.

  4. В массиве А поставить элемент с максимальным значением перед элементом с минимальным значением. Порядок следования остальных элементов не должен меняться (в упрощенном варианте можно поставить этот элемент на первое или на последнее место).

  5. В одномерном массиве целых чисел найти наибольший и наименьший элементы и поменять их местами.

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

  7. Заданы два упорядоченных по возрастанию массива целых чисел с числом элементов n1 и n2. Слить их в один (третий) массив, также упорядоченный по возрастанию.

6

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

  1. Ввести массив из целых чисел A[N,M], где N<=10, M<=20 – размерности массива (вводятся по запросу). Вывести массив в виде матрицы. Создать и вывести массив из элементов матрицы, которые больше среднего значения элементов матрицы.

  2. Ввести массив из целых чисел A[N,M], где N<=10, M<=20 – размерности массива (вводятся по запросу). Вывести массив в виде матрицы. Вывести отдельно столбец матрицы, произведение элементов которого минимально.

  3. Ввести массив из целых чисел A[N,N], где N<=10 – размерность массива (вводится по запросу). Вывести массив в виде матрицы. Вывести отдельно элементы матрицы, расположенные над главной диагональю.

  4. Получить матрицу В из матрицы А путем удаления k-го столбца.

  5. Расположить столбцы матрицы в порядке возрастания значений элементов k-ой строки.

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

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

  8. Заполнить квадратную матрицу последовательными натуральными числами, начиная с 1 до n*n, совершая обход по спирали от верхнего левого угла к центру матрицы.

7

Организация подпрограмм. Функции.

  1. Ввести два массива из целых чисел A1[N1] и A2[N2] , где N1<=10, а N2<=5 – размерности массивов (вводятся по запросу). Определить минимальный элемент которого из них больше. Использовать функцию.

  2. Разработать функцию, определяющую площадь треугольника по координатам его вершин. Использовать её в программе для вычисления площади выпуклого 5-угольника (координаты его вершин вводятся).

  3. Разработать функцию, определяющую максимальный элемент побочной диагонали квадратной целочисленной матрицы. Использовать её в программе для обработки двух введённых массивов А1[3,3] и А2[4,4]. Вывести массивы в виде матриц и найденные элементы.

  4. Вывести на экран таблицу значений функции для x, изменяющегося в диапазоне с шагом . Функция оформляется в виде подпрограммы-функции.

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

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

  7. На плоскости заданы n точек. Найти треугольник, имеющий наибольшую площадь из всех треугольников, которые можно построить на этих точках. Использовать функцию.

8. Заполнить случайным образом матрицу размером n x m последовательными без повторений числами Фибоначчи

8

РУБЕЖНЫЙ КОНТРОЛЬ

Одномерные и двумерные числовые массивы – 20(12) баллов.

9

Процедуры. Параметры подпрограмм.

  1. Ввести массив из целых чисел A[N], где N<=10 – размерность массива (вводятся по запросу). С помощью одной процедуры найти в нём максимальный и минимальный элементы, а с помощью другой – упорядочить по убыванию. Вывести исходный, упорядоченный массивы и найденные элементы.

  2. Разработать процедуру, вычисляющую корни х1 и х2 квадратного уравнения ах2+вх+с=0 для введённых значений коэффициентов а, в и с (а≠0 и дискриминант положителен). Использовать её в программе для двух введённых наборов коэффициентов а1, в1, с1 и а2, в2, с2.

  3. Разработать процедуру, меняющую местами k-ю и m-ю строки целочисленной матрицы (k и m вводятся по запросу). Использовать её в программе для обработки двух введённых массивов А1[3,4] и А2[4,3]. Вывести исходные и преобразованные массивы в виде матриц. Для ввода и вывода массивов использовать процедуры.

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

  5. Составить функцию, которая представлена в виде функционального ряда

Составить процедуру для решения методом половинного деления уравнения

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

и .

7. Найти матрицу

, если степень матрицы определяется по формуле

10

Работа с символьными и строковыми данными (поиск, замена, удаление, вставка символов в строках, преобразование строк) с использованием подпрограмм.

  1. Ввести строку из букв. Поменять все буквы «а» на букву «А» и вывести. Вывести строку в обратном порядке. Упорядочить буквы в строке по алфавиту и вывести.

  2. Ввести простое предложение (без знаков препинания внутри, слова разделены одним пробелом, в конце строки один из знаков – «.», «!», «?»). Подсчитать количество слов начинающихся и заканчивающихся на одинаковую букву. Использовать подпрограмму.

  3. Ввести простое предложение. Заменить в нём одно из слов (по запросу) на новое и вывести. Если запрашиваемого слова нет, вывести соответствующее сообщение. Использовать подпрограмму.

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

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

  6. Преобразовать строку произвольной длины, удалив в ней все повторения строчных букв латинского алфавита.

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

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

  9. Сделать бегущую на экране строку.

11

Работа с записями. Обработка массивов записей с использованием подпрограмм.

  1. Ввести массив записей (не более 20-и) с полями – «фамилия», «оценка». Вывести на экран. Упорядочить массив по алфавиту и вывести. Определить средний балл.

  2. Ввести массив записей (не более 5-и) с полями – «наименование продукта», «цена», «количество» и «срок годности». Вывести на экран. По введённой дате вывести список испорченных продуктов и подсчитать убыток. Если нет испорченных продуктов, вывести соответствующее сообщение. Использовать подпрограмму.

  3. Ввести массив записей (не более 10-и) с полями – «фамилия сотрудника», «стаж работы», «оклад». Вывести на экран. Вывести в алфавитном порядке данные тех сотрудников, чей оклад ниже среднего по предприятию. Тому из малооплачиваемых, чей стаж максимальный, увеличить оклад в 2 раза. Вывести обновленный список всех сотрудников. Использовать подпрограмму.

  4. Задан массив записей, которые содержат фамилию человека, год рождения и пол. Переписать в новый массив фамилии лиц мужского пола 1982 – 1984 года рождения.

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

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

  7. Создать массив записей с полями: фамилия студента, баллы за экзамен по 4-м дисциплинам. Выдать фамилию студента, средний балл которого наиболее близок к среднему баллу группы.

  8. Создать массив записей с полями: фамилия, специальность. Выдать специальность, по которой имеется наибольшее количество сотрудников.

12

РУБЕЖНЫЙ КОНТРОЛЬ

Обработка строк и записей – 20(12) баллов.

13

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

  1. Создать типизированный файл из нескольких целых чисел. Вывести его содержимое на экран. Заменить один из элементов файла (по запросу его номера) на новый. Вывести содержимое изменённого файла.

  2. Создать типизированный файл, элементы которого – значения функции на интервале изменения x от А до В с шагом Н (А<B, А>0 и Н – вводятся по запросу). Вывести содержимое файла на экран. Переписать из него во второй типизированный файл элементы, начиная с N-го по M-й (N и M – вводятся по запросу). Вычислить значение среднего арифметического этих элементов и записать его в конец второго файла, содержимое которого вывести на экран. Использовать подпрограмму.

  3. Создать типизированный файл записей (поля – «марка автомобиля» и его «цена»). Переписать из него в другой типизированный файл записи в порядке возрастания цены. Вывести на экран содержимое обоих файлов. Использовать подпрограмму.

  4. В файле вещественного типа после компонента с максимальным значением поставить новый компонент с заданным значением.

  5. В файле вещественного типа упорядочить все компоненты по возрастанию их значений.

  6. Результаты предварительных соревнований по бегу содержатся в виде записей в типизированном файле. Полями являются фамилия спортсмена и его результат (время забега). Удалить из файла спортсменов с результатами ниже квалификационного.

  7. В типизированный файл поместить информацию о сотрудниках организации в виде: фамилия, год рождения. Удалить из файла юбиляров (возраст оканчивается на 0 или 5), дописав их в конец файла в том же порядке, в каком они представлены в файле. Задачу решить с использованием хотя бы одной процедуры.

  8. В типизированном файле содержатся квадратные матрицы размером 2 x 2. Просматривая попарно все матрицы, найти такие две матрицы, определитель произведения которых имеет наибольшее значение.

  9. Упорядочить типизированный файл фамилий по алфавиту. Вспомогательный массив не использовать.

14

Текстовые файлы и их особенности. Использование текстовых файлов для ввода – вывода числовых данных.

  1. Создать текстовый файл из нескольких строк символов. Вывести его содержимое на экран. В строке под номером k (по запросу) подсчитать количество цифр. Полученное значение записать в конец файла и вывести содержимое изменённого файла на экран.

  2. Создать с помощью текстового редактора (например, «Блокнот») файл, содержащий несколько чисел. Разработать программу, которая выводит на экран содержимое файла и вычисляет значение среднего арифметического чисел из этого файла. Использовать подпрограмму.

  3. Записать в первый текстовый файл несколько записей (поля – название горы и её высота). Переписать из первого во второй текстовый файл записи о горах, высота которых больше 3000 м. Найти в текстовом файле гору с минимальной высотой. Использовать подпрограмму.

  4. В файле задан текст. Записать этот текст в другой файл, выполнив контекстную замену слова. Заменяемое и заменяющее слова вводятся с клавиатуры.

  5. Создать в файле текст, содержащий несколько предложений, которые заканчиваются точкой. Переписать этот текст в другой файл, отформатировав его так, чтобы в каждой строке нового файла либо содержалось n символов, если в ней отсутствует точка, либо она заканчивалась бы точкой.

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

  7. В текстовый файл поместить информацию о сотрудниках организации в виде: фамилия, год рождения. Переписать в конец файла в алфавитном порядке фамилии юбиляров (возраст оканчивается на 0 или 5) и их возраст в заданном пользователем году

  8. Создать n текстовых файлов с разным количеством строк. Вывести на экран их имена в порядке возрастания количества строк в файлах.

  9. В текстовом файле находятся две квадратные матрицы с их размерами в строго заданном виде:

Размер матриц

3

Матрица 1 Матрица 2

3 4 5 2 0 3

2 5 0 3 5 1

1 2 4 4 1 8

Найти произведение матриц, и результат дописать в тот же файл, снабдив заголовком «Произведение матриц 1 и 2».

15

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

  1. Разработать функцию, вычисляющую произведение четных элементов одномерного числового массива, и процедуру, сортирующую этот массив по возрастанию, и поместить их модуль. Использовать этот модуль в программе, обрабатывающей два массива А1[4] и А2[5].

  2. Разработать программу, определяющую что длиннее: гипербола y=1/x или парабола y=x2 в диапазоне изменения x от A до B с шагом H (В>A, H<B-A). Вычисление длины линии реализовать в подпрограмме, которую поместить в модуль. Использовать процедурный тип.

  3. Разработать программу, содержащую меню из четырёх пунктов:

  • Создание типизированного файла записей (фамилия, номер телефона).

  • Вывод содержимого файла на экран.

  • Изменение номера у абонента с заданной фамилией (по запросу).

  • Завершение работы.

Первые три пункта реализовать в процедурах, которые поместить в модуль.

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

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

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

16

РУБЕЖНЫЙ КОНТРОЛЬ

Обработка файлов. Модули – 20(12) баллов.

17

ЗАЧЕТ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]