МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ Н.Г. ЧЕРНЫШЕВСКОГО. МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
ОТЧЁТ По дисциплине<<Основы информатики>>
Выполнил студент 1 курса 111 группы Направление «прикладная математика и информатика» Черменский Н. А. ________________________________ Преподаватель: доцент кафедры информатики и программирования факультета КНиНТ Вахлаева К.П. __
Саратов 2015 №1 Написать программу, которая подсчитывает площадь треугольника, заданного координатами вершин xl, yl, х2, у2, хЗ, уЗ. · #include <iostream> int main() { a = sqrt(x1*x1+y1*y1); Стандартные библиотеки. Консольный ввод вывод. Программа с единственной функцией. Вводим х1 у1 х2 у2 х3 у3. Находим длину длинну стороны а b c ( по формуле корень из квадратов начала и конца линии). Находим полупериметр по формуле. И находим площадь по формуле корень из произведения полупериметра минус каждая сторона треугольника.
№2 кратна ли числу А сумма цифр двухзначного числа · #include <iostream> · using namespace std; · · int main() · { · int A, B; · cout << "read A" << endl; · cin >> A;//кратное · cout << "read B" << endl; · cin >> B;//2-х значное число · B = B / 10 + B % 10; · if (A%B == 0) cout << "Yes"; · else cout << "No"; · return 0; · } Консольный ввод, вывод. Подключаем стандартные библиотеки. Программа с единственной функцией. Задаём число А и задаём В двузначным числом. Создаём сумму В. И смотрим кратно ли число А этой сумме.
№3 Разработать функцию f(x), которая в двузначном числе меняет цифры местами, а остальные числа оставляет без изменения. Продемонстрировать работу данной функции на примере. · #include "stdafx.h" · #include <iostream> · #include <conio.h> · using namespace std; · int func(int x) · { · int n, c; · if ((x > -100) && (x < 100)) · { · n = x % 10; · x = x / 10; · c = n * 10 + x; · } · else { c = x; } · return c; · } · · int main() · { · int x, c, d; · cout << "Vvedite 4islo x:"; cin >> x; · c = func(x); · cout << c << endl; · _getch; · return 0;
· } · Консольный ввод, вывод. Подключены стандартные библиотеки (conio.h для создания текстового интерфейса пользователя). Имеет функциональную структуру. Задаём в функции условие – если число находится в диапазоне от -99 до 99 то переменной n присваеваем остаток этого числа при делении на 10. После чего берём целую часть при /10 и выполняем c = n * 10 + x. Объявляем переменные вводим Х вызываем функцию и Получает символ из консоли без отображения. (Найдена ошибка. Не учёл числа от -9 до 9. Что бы исправить нужно if ((x>-100) && (x<100))изменить на if (((x>-100) && (x<100)) &&((x<-10)&&(x>10)))). №4 Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе. Области задаются графически следующим образом:
· #include <iostream> · #include <cmath> · using namespace std; · int main() · { · float x; · float y; · cout << "x="; · cin >> x; · cout << "y="; · cin >> y; · if (fabs(x) < 40 && fabs(y) < 40) //точка вне области? · cout << "Нет"; · else if (fabs(x) > 40 || fabs(y) > 40) // точка внутри области? · cout << "Да"; · else · cout << "На границе"; · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Разбиваем программу на 3 ветви – 1 если точка снаружи фигуры, 2внутри, 3 на границе . После чего сверяем и выводим ответ.
№5 Дан пол человека: м - мужчина, ж - женщина. Вывести на экран возможные мужские и женские имена в зависимости от введенного пола. · #include <iostream> · using namespace std; · int main() · { · cout<<"Men -m, Female - f"<< endl; · char x; · cin >> x; · switch (x) · { · case 'm': · cout << "Aркадий" << endl; · case 6: · cout << "Дима " << endl; · case 3: · cout << "Василевс" << endl; · case 4: · cout << "Григорий" << endl; · case 5: · cout << "Альберт" << endl; · break; · case 'f': · cout << "Катя" << endl; · case 7: · cout << "Даша" << endl; · case 8: · cout << "Маша" << endl; · case 9: · cout << "Ирина" << endl; · case 10: · cout << "Настя" << endl; · break; · } · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Вводим пол (m – мужской, f – женский). С помощью оператора case определяем по какой ветви пойдём (по f или m) и в результате определения выводим определённые имена. №6 Вывести на экран все целые числа из диапазона от А до В (А<В), оканчивающиеся на любую четную цифру (while ). · #include <iostream> · using namespace std; · · int main() · { · int a, b; · cout << "vvedite interval ot A do B"; · cin >> a >> b; · while (a<=b) · { · if (a % 2 == 0) cout << a << endl; · a = a + 1; · } · · return 0; } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Вводим интервал А В. Пока А <= B ищем остаток от деления на 2 от каждого числа. Если он = 0, то выводим еэто число на экран. Ввод 1 10 Вывод 2 4 6 8 10
№7 Вывести на экран все целые числа из диапазона от А до В (А<В), оканчивающиеся на любую четную цифру (do while ).
· #include <iostream> · using namespace std; · · int main() · { · int a, b; · cout << "vvedite interval ot a do B"; · cin >> a >> b; · do · {if (a % 2 == 0) cout << a << endl; · a = a + 1; · } while (a <= b); · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Вводим интервал А В. Если первое число имеет отстаток 0 при делении на 2 то выводи его на экран и проверяем следующий элемент. Если ложно цикл завершается , но пока А <= B цикл возобновляется.
Ввод 1 10 Вывод 2 4 6 8 10
№8 Вывести на экран все целые числа из диапазона от А до В (А<В), оканчивающиеся на любую четную цифру (for ). · #include "stdafx.h" · #include <iostream> · using namespace std; · · int main() · { · int a, b, i; · cout << "vvedite interval ot a do B"; · cin >> a >> b; · {for (i = a; b >= i; i++) · if ((i % 10) % 2 == 0) · cout << i << "\t"; · } · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Вводим интервал А В. Задаём цикл с помощью for. Пока B>= A ищем чётные числа с помощью if ((i % 10) % 2 == 0) и если такое число найдено – выводим его.
Ввод 1 10 Вывод 2 4 6 8 10
№9 Постройте таблицу значений функции y=f(x) для хе[а, Ь] с шагом h. (СТР 49 № 12) · #include <iostream> · #include <cmath> · using namespace std; · float f(float x) · { · if (x < 0) return 0; · else if ((x>0)&&(x != 1)) return pow(x, 2) + 1; · else if (x = 1) return 1; · } · int main() · { · float a, b, h, x; · cout << "a="; cin >> a; · cout << "b="; cin >> b; · cout << "h="; cin >> h; · cout << "x\tf(x)\h"; · for (x = a; x <= b; x += h) · cout << x << "\t" << f(x) << endl; · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Создаём функцию которая разбивает наш пример на 3 ветви. После ввода данных решение пойдёт по одной из ветвей. Ввод a= -1 b= 2 h= 0.5 Вывод -1 0 -0.5 0 0 1 0.5 1.25 1 1 1.5 3.25 2 5
№10 Вывести на экран числа в виде следующей таблицы · #include "stdafx.h" · #include <iostream> · using namespace std; · int main() · { · int i, j; · for (i = 1; i <= 5; ++i) · { · for (j = 1; j <= i; j += 1) · cout << i + 1 - j << "\t"; · cout << endl; · } · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Создаём цикл в цикле где I отвечает за столбец, j за строку. C помощью формулы i + 1 – j получаем данную таблицу:
№11 Написать программу, вычисляющую первые п элементов заданной последовательности: (стр 52, 12)
· #include <iostream> · #include <cmath> · using namespace std; · int main() · { · float b1 = 0.5, b2 = 0.2, b; // задали первый и второй эл-нт последовательности · int n; · cout << "n="; · cin >> n; //ввели кол-во эл-тов последовательности · for (int i = 3; i <= n; i++) · { · b = (pow(b2, 2) + (b1 / 2));//вычисляем i · b1 = b2; · b2 = b; //делаем перестановку на шаг вперёд. · cout << "b" << i << "=" << b << endl; · } · return 0; · } Подключаем стандартные библиотеки . Консольный ввод вывод. Программа с единственной функцией. Задаём первый и второй элемент как в условии. Вводим количество элементов. Вычисляем число (i). И делаем шаг вперёд дабы освободить переменную. Ввод n=5 Вывод b3= 0.29 b4=0.1841 b5=0.178893
№ 12 Вычислить бесконечную сумму ряда с заданной точностью е (е>0). (стр 60 III) · #include <iostream> · #include <cmath> · using namespace std; · int main() · { · float e, s = 0; int i = 3; · cout << " e ="; cin >> e; · while (fabs(pow(-1, 2 * i - 1) / (i*(i - 1)*(i - 2)) >= e)); · { · s = +pow(-1, 2 * i - 1) / (i*(i - 1)*(i - 2)); · i++; · cout << "s=" << s; · } · return 0; · }
Ввод : е= 0.1 Вывод: 1.6667
№13 Подсчитать сумму квадратов четных элементов. · #include "stdafx.h" · #include <iostream> · using namespace std; · int main() · {int a[5]; · int n, i; int sum = 0; · cout << "n="; cin >> n; · for (int i = 0; i < n; i++) · {cout << "a[" << i << "]="; cin >> a[i]; · if (a[i]%2==0) · sum = (a[i] * a[i]) + sum; · } · cout << sum; · return 0; · } Консольный ввод вывод. Подключаем стандартные библиотеки.Создаём одномерный массив. Заполняем его элементами. С помощью if (a[i]%2==0) сверяем его - является ли оно чётным число. Если Это так то прибавляем к сумме. Ввод n=5 Вывод 20
№14 Подсчитать сумму элементов, расположенных между первым максимальным и последним минимальным элементами. Если максимальный элемент встречается позже минимального, то выдать сообщение об этом. · #include <iostream> · using namespace std; · int main() · { · int max, min, sum, k1, k2, i; · sum = 0; k1 = 0; k2 = 0; · int a[100]; · int n; cout << "n="; cin >> n; · cout << "a[" << 0 << "]="; cin >> a[0]; · min = a[0]; max = a[0]; · for (int i = 1; i < n; i++) · { · cout << "a[" << i << "]="; cin >> a[i]; · if (a[i] > max) · { · max = a[i]; k1 = i; · } · if (a[i] < min) · { · min = a[i]; k2 = i; } · } · if (k2 >= k1) · cout << "OSHIBKA"; · else · for (int i = k2+1; i < k1; i++) · {sum += a[i];} · cout << sum << endl; · return 0;} Консольный ввод вывод. Подключаем стандартные библиотеки. Создаём одномерный массив. Заполняем его одновременно ведутся поиски максимального и минимального элемента. В итоге суммируем элементы от максимального до минимального.
№15 Удалить из массива повторяющиеся элементы, оставив только их первые вхождения. · #include "stdafx.h" · #include <iostream> · using namespace std; · int main() · { · int n; · cout << "n="; cin >> n; · int *a = new int[n]; · cin >> a[0]; · for (int i = 1; i<n; i++) · { · cin >> a[i]; · for (int j = i - 1; j >= 0; j--) · if (a[i] == a[j]) { i--; n--; break; } · } · for (int i = 0; i<n; i++) · cout << "a[" << i << "]=" << a[i]; · return 0; · } Консольный ввод вывод. Подключаем стандартные библиотеки. Создаём одномерный массив. Заполняем его попутно сравнивая с предыдущим элементом. Если наш элемент равен предыдущему то делаем откат и перезаписываем в ячейку с повторяющимся элементом новый элемент.
№16 Удалить из массива повторяющиеся элементы, оставив только их первые вхождения. · #include <iostream> · using namespace std; · int main() · { · int ** a = new int *[3]; · for (int i = 0; i < 3; i++) · { · a[i] = new int [3]; · for (int j = 0; j < 3; j++) · cin >> a[i][j]; · } · int s= 0; · for (int i = 0; i < 3; i++) · for (int j = 0; j < 3; j++) · if (a[i][j] % 2 == 0) · s = s + (a[i][j] * a[i][j]); · cout << s; · return 0; · } Консольный ввод вывод. Подключаем стандартные библиотеки. Программа с единственной функцией. Создаём динамический двумерный массив размерностью 3 на 3. Начинаем ввод данных. Проверяем каждый символ не является ли он двузначным. Если да – возводим в квадрат и суммируем.Ввод: 123456789 Вывод:120
№17 Подсчитать норму матрицы по формуле |A| = Sum max a[i][j]. · #include <iostream> · using namespace std; · int main(){ · int n, m; · cout << "Vvedite chislo strok ="; · cin >> n; · cout << "Vvedite chislo stolbcov ="; · cin>> m; · int **a = new int *[m]; · for (int i = 0; i < m; i++) · a[i] = new int[n]; · for (int i = 0; i < n; i++) · for (int j = 0; j < n; j++){ · cout << " Vvedite elementbI ="; · cin >> a[i][j];} · int summ = 0; · for (int i = 0; i < m; i++) { · int max = a[i][0]; · for (int j = 1; j < m; j++) { · if (a[i][j] > max) · max = a[i][j]; · summ = summ + max; } } · cout << summ; · return 0;} · консольный ввод вывод. подключаем стандартные библиотеки. создаём двумерный массив. запускаем цикл по поиску максимального элемента в строке. суммируем их и выводим.
№18 Удалить все строки, в которых среднее арифметическое элементов является двузначным числом. · #include <fstream> · #include <iostream> · #include <string> · #include <stdio.h> · #include <cmath> · using namespace std; · int main() · { · int n, m,k, i = 0; · cout << "vvedite kol-vo strok = "; · cin >> n; · cout << "vvedite kol-vo stolbcov = "; · cin >> m; · int ** a = new int *[n]; · double *sr = new double[n]; · for (int i = 0; i < n; i++) · { · a[i] = new int[m]; · int sum=0; · for (int j = 0; j < m; j++) · { · cout << "Vvedite element ="; · cin >> a[i][j]; · sum += a[i][j]; · } · sr[i] = (double)sum / m; · · } · for (int i = 0; i < n; i++) · if ((fabs(sr[i]) >= 10) && (fabs(sr[i]) < 100)) · { · k = i; · for (int i = k; i < n - 1; ++i) a[i] = a[i + 1]; · a[n - 1] = 0; · --n; · } · for (int i = 0; i < n; i++, cout << endl) · for (int j = 0; j < m; j++)cout << a[i][j] << "\t"; · if (n > 0) · for (int i = 0; i < n; i++) · for (int j = 0; j < m; j++) · cout << "a[" << i << "][" << j << "]=" << a[i][j]; · else · cout << "Massiv polnost'y ydalen..."; · for (int i = 0; i < n; ++i) delete [] a[i]; · delete [] a; · delete[] sr; · return 0; · }
Консольный ввод вывод. Подключаем стандартные библиотеки. Создаём двумерный массив. Ищем среднее арифметическое каждой строки. Если оно двузначное то удаляем строку.
№ 19 Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке). · #include <iostream> · #include <string> · using namespace std; · int main() · { · string::size_type N1, N2, j; · string S1, S2, S = ""; · cout << "vvedite celoe chislo N1"; · cin >> N1; · cout << "vvedite celoe chislo N2"; · cin >> N2; · cout << "vvedite stroky 1" << endl; · cin >> S1; · cout << S1 << endl; · cout << "vvedite stroky 2" << endl; · cin >> S2; · cout << S2 << endl; · string::size_type len = S2.length(); · S = S1.substr(0, N1) + S2.substr(len - N2, N2); · cout << S; · return 0; · } консольный ввод вывод. подключаем стандартные библиотеки. вводим число символов N1 и N2. Вводим первую строку и вторую. С помощью S1.substr(1, N1) берём N1 первых символов строки S1 и аналогично S2.substr(len - N2, N2) N2 символов строки S2. Выводим всё в общую строку.
№20 Дан текстовый файл. Напечатать все строки, длина которых меньше заданного числа. · #include <fstream> · #include <iostream> · #include <string> · using namespace std; · int main (){ · ifstream in("text.txt"); ofstream out("t.txt"); · int g,k; · string s; · cout << "Vvedite chislo = "; cin >> g; · while (in.peek()!=EOF) · { getline(in,s); · k=s.length(); · g= g+1; · if (k==g) · out << s << endl;} · in.close (); out.close (); · return 0;} файловый ввод вывод. подключаем стандартные библиотеки. Подключаем используемый файл. "text.txt" и файл в который будем записывать результат работы "t.txt". вводим число которое будет константой для всех строк. сверяем кол-во символов в каждой строке файла "text.txt" с заданым числом (g). Если строка меньше числа то выводим эту строку в файл "t.txt". пример: "text.txt" 1. Сколько на Земле материков начинаются на букву «А»? 2. Сколько суток составляют високосный год? 3. Сколько музыкантов в квинтете? 4. Сколько полей-квадратиков на шахматной доске? 5. Сколько холодных цветов в радуге? 6. Сколько сантиметров составляет одна тысячная часть километра? 7. Сколько глаз у обыкновенной мухи? 8. Сколько суток курица высиживает цыплят? 9. Сколько звуков в слове «рассеянный»? 10. Сколько можно дать ответов на вопрос «Мы пойдем сегодня в парк?»...
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (843)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |