Лабораторная работа №2
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ТЕОРЕТИЧЕСКИХ ОСНОВ РАДИОТЕХНИКИ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ ПО КУРСУ ИНФОРМАТИКИ (Часть 1)
Для студентов радиотехнических специальностей Всех форм обучения
РТФ ТАГАНРОГ 2017
УДК 681.3´5(07.07)
Составитель: М.Н. Максимов
Методические указания к лабораторным работам по курсу “Информатика” (Часть 1). Таганрог: Изд-во ТРТУ, 2000. 30 с.
Приведены методические указания к лабораторным работам 1-11 по курсу “Информатика”. Методические указания предназначены для студентов радиотехнических специальностей всех форм обучения.
Библиогр.: 8 назв.
Рецензент А.Л. Черниховский, канд. техн. наук, доцент кафедры ТОР ТРТУ.
Максимов Михаил Николаевич Введение Настоящее руководство предназначено для студентов радиотехнических специальностей безотрывных форм обучения. Руководство содержит описание лабораторных работ 1-11. Основные теоретические положения, необходимые для выполнения лабораторных работ, приведены в работах 1-11. Общие требования к содержанию отчетов по лабораторным работам 1. Титульный лист отчета должен содержать название, цель лабораторной работы, группу и фамилию студента, выполнившую её, и фамилию преподавателя, проверившего отчет. 2. Выполненное домашнее задание. 3. Содержание этого пункта отчета определяется требованиями, приведенными в пункте "Содержание отчета" выполняемой лабораторной работы. 4. Ответы на контрольные вопросы.
Лабораторная работа №1 Операции над основными типами данных языка С++ 1. Цель работы: Изучение операций над основными типами данных в языке С++.
Домашнее задание 2.1 Привести в отчете диапазон значений целых и вещественных констант и соответствующих им типов данных. 2.2 Нарисовать в отчете схему подготовки исполняемой программы. 2.3 Привести в отчете таблицу приоритетов операций.
Лабораторное задание. 3.1 Набрать программу №1, приведенную ниже. //Программа №1 #include "stdafx.h" #include <iostream> using namespace std; void _tmain(int argc, _TCHAR* argv[]) { cout<<"\nsizeof(int) = " << sizeof(int); cout<<"\nsizeof(short) = " << sizeof(short); cout<<"\nsizeof(long) = " << sizeof(long); cout<<"\nsizeof(float) = " << sizeof(float); cout<<"\nsizeof(double) = " << sizeof(double); cout<<"\nsizeof(char) = " << sizeof(char); cout<<"\nsizeof('a') = " << sizeof('a'); cout<<"\nsizeof(1) = " << sizeof(1); cout<<"\nsizeof(1L) = " << sizeof(1L); cout<<"\nsizeof(1U) = " << sizeof(1U); cout<<"\nsizeof(1.) = " << sizeof(1.); cout<<"\nsizeof(1.F) = " << sizeof(1.F); cout<<"\nsizeof(1.L) = " << sizeof(1.L); cout<< "\n (4<<2) = " <<(4<<2); cout<<"\n (5>>1) = " << (5>>1); cout<<"\n (6&5) = " << (6&5); cout<<"\n (6|5) = " << (6|5); cout<<"\n (3<5) = " << (3<5); cout<<"\n (3>5) = " << (3>5); cout<<"\n (3==5) = " << (3==5); cout<<"\n (3!=5) = " << (3!=5); cout<<"\n Press key to continue"; getchar();
cout<<"\n (3!=5 || 3==5) = " << (3!=5 || 3==5); cout<<"\n (3+4>5 && 3+5 > 4 && 4+5>3) =" << (3+4>5 && 3+5 > 4 && 4+5>3);
int k; cout<<"\n (k=35/4) = " << (k=35/4); // Тест cout<<"\n (k/=1+2+2) = " << (k/=1+2+2); cout<<"\n (k*=5-2) = " << (k*=5-2); cout<<"\n (k%=3+2) = " << (k%=3+2); cout<<"\n (k+=21/3) = " << (k+=21/3); cout<<"\n (k-=6-6/2) = " << (k-=6-6/2); cout<<"\n (k<<=2) = " << (k<<=2); cout<<"\n (k>>=6-5) = " << (k>>=6-5); cout<<"\n (k&=9+4) = " << (k&=9+4); cout<<"\n (k|=8-2) = " << (k|=8-2); getchar(); } 3.2 Отладить программу №1. 3.3 Проанализировать результаты работы программы. 3.4 Ответить на контрольные вопросы. 3.5 Написать отчет.
Содержание отчета. 4.1 Титульный лист. Домашнее задание 4.2 Текст программы №1 и результаты её выполнения. 4.3 Краткое пояснение против результатов выполнения каждой операции.
5. Контрольные вопросы. 5.1 Какие типы данных вы знаете, сколько байт занимает каждый тип данных, в каких диапазонах могут изменяются значения этих типов данных? 5.2 Поясните, что такое вещественная, целая, символьная и строковая константа. Какое максимальное целая константа может использоваться в программе на языке С++. Приведите примеры констант различного типа. 5.3 Какие управляющие символы могут быть использованы в строковой константе, поясните их назначение, приведите примеры их использования. 5.4 Расскажите об этапы подготовки исполняемой программы. 5.5 Идентификатор, правило записи идентификаторов в языке С++? 5.6 Операции, типы операций. Привести примеры операций определенных над множеством только целых типов данных. 5.7 Чем отличаются друг от друга операции & от &&, а также | от ||. 5.8 Раскройте смысл операции %, *=, +=, /=. 5.9 В этом выражении 8 операций (3+4>5 && 3+5 > 4 && 4+5>3) . Помете цифрами, в какой последовательности будут выполнятся эти 8 операций. Найдите вручную чему равно значение выражения (3+4>(5 && 3)+5 > 4 && 4+5>3). Объясните почему. 5.10 Что такое приоритеты и ассоциативность операций. 5.11 В строке программы, напротив которой написан комментарий //Тест, вместо константы 35 подставьте константу заданную вам преподавателем, и рассчитайте в ручную значение всех выражений определенных ниже.
Лабораторная работа №2 Явное и неявное преобразование типов в языке С++ Определение, описание и вызов функций в языке С++.
1. Цель работы: Изучение операции преобразования типа в языке С++, а также определения, описания и вызова функции пользователем.
Домашнее задание 2.1 Сформулировать и записать правила преобразования типов при выполнении арифметических операций и операции присваивания. Привести примеры. 2.2 Сформулировать и записать правило передачи данных в функцию по значению через аппарат фактических и формальных параметров. Привести пример.
Лабораторное задание. 3.1 Набрать программы №1 и №2. // Программа №1 Преобразование типов. #include "stdafx.h" #include <iostream> #include <math.h> using namespace std;
void main (){ long k = 123456789; float g = (float)k; cout<<"\n\n k = "<<k; cout<<"\n g= "<<g; k = (long)g; cout<<"\n k = "<<k; //Объяснить результат g = (float) 2.222222e+2; int m = int(g); cout<<"\n\n g = " <<g; cout<<"\n m = "<<m; g = (float)m; cout<<"\n g = "<<g; int a=1, b = 2; double c = 1; c = a/b*c+ a*c/b; cout<<"\n c = "<<c; //Объяснить результат cout<<"\n 1/2*exp(1) = "<<1./2*exp(1.); //Объяснить результат getchar(); }
// Программа №2 Функции, определенные пользователем #include "stdafx.h" #include <iostream> using namespace std;
extern double k; //Описание переменной k void main (){ double a = 2, b = 3;//Описание, определение и инициализация переменных a и b. k = 1.3*k/((a+b)*(a-b)); cout<< "\n k = "<<k; getchar(); } double k=1; //Определение переменной k 3.2 Отладить программы №1 и №2. 3.3 Модифицировать программу №2 определив функции, реализующие арифметические операции сложения (+), вычитания (-), умножения (*), деления (/). Имена функциям придумать самостоятельно. Вставить в строку программы k = 1.3*k/((a+b)*(a-b)); вместо операции и её операндов соответствующий вызов функции. //Пример определения и вызова функции, реализующей операцию сложения +: #include "stdafx.h" #include <iostream> using namespace std;
double sum(double a, double b); //Описание функции sum( ) extern double k; void main (){ k = 1; double a = 2, b = 3; k = 1.3*k/(sum(a,b)*(a-b)); //Строка программы содержит вызов функции sum( ) cout<< "\n k = "<<k; getchar(); } double sum(double a, double b){ //Определение функции sum( ) return a+b; } double k; 3.4 Проанализировать результаты работы программ. 3.5 Написать программу №3, вычисляющую значение функции при t = 0, 0.1 и 0.4. 3.6 Ответить на контрольные вопросы. 3.7 Написать отчет.
Содержание отчета 4.1 Титульный лист. Домашнее задание. 4.2 Текст и результаты работы программы №1. 4.3 Текст модифицированной программы №2, с функциями, реализующими операции - , *, /. 4.4 Текст программы №3.
5. Контрольные вопросы 5.1 Что такое описание, определение и вызов функции (пояснить на примере функций определенных вами в лабораторном задании)? Для чего необходимо описание функции, можно ли его опустить? 5.2 Что такое формальные и фактические параметры? Поясните способ передачи данных в функцию через параметры и через глобальную переменную? 5.3 Поясните, с помощью какого оператора функция возвращает значение в точку вызова. Какой тип этого значения? 5.4 Что такое описание и определение переменной? Приведите примеры описания и определения переменных? В чем их принципиальная разница? 5.5 Что такое инициализация переменной? Чем инициализация переменной отличается от присваивания переменной значения. 5.6 Свойства переменных различного типа: объем занимаемый в памяти, диапазон значений, количество значащих цифр, множество операций, определенных над ними, область видимости и область существования. 5.7 Какие переменные называются локальными, глобальными, статическими? Приведите примеры. Может ли локальная переменная быть статической? 5.8 Приведите примеры явного и неявного преобразования типов при выполнении арифметических операций и операции присваивания. Объясните результаты работы программы №1. 5.9 Как использовать библиотечные функции? Что такое заголовочный файл, и что он содержит. Где содержится определение и описание библиотечных функций, использованных в лабораторной работе? 5.10Напишите функцию, вычисляющую модуль, и функцию, вычисляющую, аргумент комплексного числа.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (598)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |