- •Т.В. Панова основы информатики и программирования на языке высокого уровня си Лабораторный практикум
- •Лабораторная работа №1. Организация компьютерной системы. Операционная система. Оболочка операционной системы………………………………………..…………5
- •Лабораторная работа №1
- •Организация компьютерной системы. Операционная система. Оболочка операционной системы
- •I. Теоретические сведения.
- •1. Основные блоки фон-неймановской кс
- •Общая функциональная схему кс
- •Цп управ.
- •2. Программное обеспечение
- •2.1. Системное по.
- •Функциональные уровни в составе спо
- •2.2. Прикладное по.
- •2.3. Инструментальное по.
- •3. Операционная система
- •3.2. Файл – объект файловой системы.
- •3.3. Логический диск и каталоги.
- •3.4. Организация файловой структуры ос и доступ к файлу.
- •3.5. Дерево каталогов.
- •3.6. Группы файлов.
- •4. Оболочка операционной системы
- •4.1. Функциональные клавиши оболочки ос.
- •III. Практическая часть.
- •1.2. Операционная среда.
- •2. Состав Windows
- •3. Файловые системы Windows
- •3.1. Файловая система fat (File Allocation Table).
- •3.2. Файловая система ntfs (New Technology File System).
- •4. Объекты Windows
- •4.1. Логические объекты Windows.
- •4.2. Физические объекты Windows.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •2.2. Перемещение файла.
- •IV. Требования к защите
- •2. Текстовый процессор Microsoft Word
- •2.1. Элементы окна Word.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •IV. Требования к защите
- •1.2. Описание алгоритмов с помощью блок-схем.
- •Основные символы блок-схем алгоритмов
- •1 (Да)0 (нет)
- •II. Контрольные вопросы.
- •3. Блок-схема алгоритма задачи:
- •2. Выполнение индивидуального задания.
- •IV. Требования к защите индивидуальных заданий.
- •V. Варианты индивидуальных заданий.
- •Лабораторная работа №5
- •3.Тип данных
- •4. Базовые типы данных языка Си
- •6. Операции и выражения
- •6.1. Знаки операций.
- •6.2. Операции присваивания.
- •6.3. Арифметические операции.
- •6.4. Операции сравнения и логические операции.
- •6.5. Условная операция.
- •6.6. Операция явного преобразования типа.
- •7. Логика алгоритма и операторы
- •8. Операторы простой последовательности действий
- •8.1. Функции форматного ввода/вывода данных.
- •Функция форматного ввода данных
- •Функция форматного вывода данных
- •Пример организации форматного ввода/вывода данных
- •8.2. Основные стандартные функции. Стандартные функции консольного ввода/вывода
- •Стандартные математические функции
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №6
- •Условные конструкции: операторы ветвления
- •I. Теоретические сведения.
- •1. Условный оператор
- •2. Оператор множественного выбора (переключатель)
- •II. Контрольные вопросы.
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №7
- •Циклические конструкции: операторы цикла
- •I. Теоретические сведения.
- •1. Оператор цикла с параметром (счетчиком)
- •2. Итерационные циклы
- •2.1. Оператор цикла с предусловием.
- •2.2. Оператор цикла с постусловием.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •1. Выполнение общего задания.
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •3. Блок-схема алгоритма задачи:
- •4. Текст программы:
- •5. Тестирование:
- •2. Математическая модель и описательный алгоритм задачи:
- •Лабораторная работа №8
- •Указатели и одномерные массивы данных
- •I. Теоретические сведения.
- •1. Указатели
- •1. Объявление переменных:
- •2. Операции присваивания объявленным переменным:
- •3. Использование косвенного обращения:
- •2. Массив как статическая структура данных
- •Одномерный массив данных
- •3. Адресная арифметика
- •4. Линейный поиск и сортировка в массивах данных
- •4.1. Признаки порядка.
- •4.2. Способы сортировки в массивах данных.
- •II. Контрольные вопросы.
- •III. Практическая часть.
- •1. Выполнение общего задания.
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
- •3. Блок-схема алгоритма программы:
- •4. Текст программы:
- •5. Тестирование:
2.2. Оператор цикла с постусловием.
Постусловие вычисляется и проверяется после выполнения операторов, составляющих тело цикла, и если значение логического выражения, определяющего условие работы цикла (в языке Си), истинно (=1), то цикл продолжает выполняться до тех пор, пока это значение не станет ложным (=0). В любом случае тело цикла с постусловием выполнится, по крайней мере, один раз.
Структура оператора цикла с постусловием:
[<инициализация>; ]
do
{
<тело_цикла>;
[<итерация>;]
}
while (<условие>);
<условие> – логическое выражение, определяющее условие повторения тела цикла; <инициализация> и <итерация> – необязательны.
II. Контрольные вопросы.
Что такое цикл?
Какие существуют два типа циклов?
Структура оператора цикла с параметром.
Как работает цикл с параметром?
Указать особенности оператора цикла с параметром в языке Си?
Какие циклы относятся к итерационным?
Привести структуру оператора цикла с предусловием.
Как работает цикл с предусловием?
Какую структуру имеет оператор цикла с постусловием?
Как работает цикл с постусловием?
III. Практическая часть.
1. Выполнение общего задания.
Задача 1.
1. Постановка задачи: разработать алгоритм вычисления и вывода значения суммы членов ряда = x+x2+x3+…+xn-1+xn для 0<x≤5 при n=8. Написать программу, реализующую разработанный алгоритм.
2. Математическая модель и описательный алгоритм задачи:
ввести значение переменной x;
проверить условие: если 0<x≤5, то продолжить выполнение алгоритма, иначе вывести соответствующее сообщение и выйти из алгоритма;
для формирования суммы использовать переменную S, изначально ее обнулить –S=0;
для получения степени переменной xиспользовать переменную xs, изначальноxs=x;
в цикле cпараметром (количество повторений = n) каждый раз значениеS увеличивать на значениеxs, а значениеxs увеличивать в xраз для получения степени x;
после выхода из цикла вывести значение переменной S.
3. Блок-схема алгоритма задачи:
4. Текст программы:
#include <stdio.h>
#include <conio.h>
int main()
{
const n=8;
float x,xs,S;
printf(“\nВвести x=”);
scanf(“%d”,&x);
if (x>0 && x<=5)
{
S=0; xs=x;
for (int i=1;i<=n;i++)
{
S=S+xs; xs=xs*x;
}
printf(“\nS=%d”,S);
}
getch(); return 0;
}
5. Тестирование:
Теоретически рассчитанное выходное значение |
Практически полученное выходное значение |
Тест 1: входные данные: x=-2 (не удовлетворяют условию 0<x≤5) | |
выход из программы |
выход из программы |
Тест 2: входные данные: x=1 | |
S=8 |
S=8.000000 |
Тест 3: входные данные: x=10 (не удовлетворяют условию 0<x≤5) | |
выход из программы |
выход из программы |
Задача 2.
1. Постановка задачи: разработать алгоритм вычисления и вывода значения частичной суммы членов ряда + … с точностьюε=10-4 (суммировать пока очередной член ряда по модулю не будет ≤10-3) для π/3≤x≤2ּπ/3. Написать программу, реализующую разработанный алгоритм.