Программирование на языке С
Изучение языка программирования С и решение задач на этом языке. Рассмотрение основных операторов, которые используются в языке С. Использование программы для расширения профессиональных задач. Оценка возможностей создания 3D моделей разного характера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 12.03.2020 |
Размер файла | 38,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯИ РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра конструирования узлов и деталей радиоэлектронной аппаратуры (КУДР)
ОТЧЁТ ПО РЕЗУЛЬТАТАМ
Учебной практики: практики по получению первичных профессиональных умений и навыков, в том числе первичных умений и навыков программирования на языке си
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С
Студент гр. 238-2: К.О. Сопов
Руководитель практики: от университета
преподаватель каф. КУДР Е. И. Тренкаль
Томск 2019
Оглавление
- программирование язык программа модель
- 1. Введение
- 2. Основные операторы, которые используются в языке СИ
- 2.1 Оператор ”выражение”
- 2.2 Составной оператор
- 2.3 Оператор if
- 2.4 Оператор switch
- 2.5 Оператор break
- 2.6 Оператор for
- 2.7 Оператор while
- 2.8 Оператор do
- 2.9 Оператор continue
- 2.10 Оператор return
- 3. Практическая часть, решение задач
- 4. Заключение
- Список использованной литературы
1. Введение
Целью практики является получение навыков программирования на языке С.
Задачи практики:
- получение навыков программирования ;
- самостоятельное изучение языка С;
- решение задач на языке С.
Во время прохождения учебной практики в дневнике фиксировалась работа, которая выполнялась ежедневно. Руководителем практики отмечалось качество выполненных работ. Заполненный дневник является основным приложением к отчету.
2. Основные операторы, которые используются в языке СИ
Операторы, использованные в ходе прохождения практики, условно могут быть разделены на категории:
1. условные операторы (if, switсh);
2. операторы цикла (for, while, do);
3. операторы переходов (break, continue, return);
Операторы в программе могут объединяться в составные операторы с помощью фигурных скобок.
Любой оператор языка Си может быть помечен меткой, состоящей из имени и следующего за ним двоеточия.
Все операторы языка Си, кроме составных операторов, заканчиваются точкой с запятой (;).
2.1 Оператор ”выражение”
Этот оператор заключается:
a. в вычислении выражения и присваивания;
b. в вызове функций.
2.2 Составной оператор
Формат:
{[объявление]
…
оператор
[оператор]
…
}
В конце составного оператора точка с запятой не ставится. Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов.
2.3 Оператор if
if(выражение)
оператор1
[else оператор2]
Пример: if (i<j)
i++;
else {
j=i-3;
i++;
}
Вычисление оператора if начинается с вычисления выражения.
Если выражение истинно (не ноль), то выполняется оператор1, иначе оператор2.
Если выражение ложно и отсутствует фраза else, то выполняется следующий за if оператор.
Допускается использование вложенных операторов if
2.4 Оператор switch
Предназначен для организации выбора из множества вариантов.
Формат:
switch (выражение){
[case константное_выражение:]
…
[список операторов]
[case константное_выражение:]
…
[список операторов]
…
[default: список оператор] }
Выражение, следующее за ключевым словом switch, может быть произвольным выражением, значение которого должно быть целым.
Константное выражение вычисляется во время компиляции. Оно не может содержать переменные или вызовы функций. Обычно используются целые или символьные константы.
Замечание: Программист должен сам позаботиться о выходе из case, иначе все выполняется до конца.
Пример:
int a=2;
switch(a) {
case 1: func1();
case 2: func2();
case 3: func3();
case 4: func4();
default: printf(“Good bye\n”);
}
Выполнение будет идти от func2() и до конца.
2.5 Оператор break
Обеспечивает прекращение выполнения самого внутреннего из объемлющих его операторов switch, do, for и while. После выполнения оператора break управление передается оператору, следующему за прерванным.
Пример:
char cSign;
float x, y=2, z=5;
printf(“Введите знак операции (+ - * /):”);
scanf("%c",&cSign);
switch (cSign) {
case '-':x=y-z;
break;
case '+':x=y+z;
break;
case '*':x=y*z;
break;
case '/':x=y/z;
break;
default: printf("Неизвестная операция.\n");
}
printf("x=%f\n",x);
2.6 Оператор for
Оператор цикла for имеет следующий формат:
for([выражение_инициализация];[условное выражение];[выражение_итерация])
оператор
Выражение_инициализация используется для установки начального значения переменных, управляющих циклом.
Условное выражение -- выражение, определяющее условие, при котором оператор цикла будет исполняться.
Выражение_итерация определяет изменение переменных, управляющих циклом после каждого выполнения цикла.
Схема выполнения оператора for:
1. вычисляется выражение_инициализация;
2. вычисляется условное выражение;
3. если значение условного выражения не равно нулю, выполняется оператор;
4. вычисляется выражение_итерация;
5. вновь вычисляется условное выражение;
6. если условное выражение равно нулю, управление передается на оператор, следующий за оператором for.
Замечание: Проверка условия всегда выполняется в начале цикла. Это значит, что цикл может ни разу не выполниться, если условное выражение сразу будет ложным.
Пример:
#include<stdio.h>
#include<windows.h>
void main()
{
char cStr[]="Квадрат числа ";
CharToOem(cStr,cStr);
for(int i=0; i<=10; i++)
printf("%s%2d=%3d\n", cStr, i, i*i);
}
Результат -- квадрат чисел от 0 до 9.
Проверить работу программы, если изменить 7-ую строку на:
for(int i=0; i<=10; i++); //добавили;
2.7 Оператор while
Формат:
while(выражение)
оператор
Схема выполнения:
1. вычисляется выражение;
2. если выражение ложно (=0), то тело оператора while не выполняется, а управление передается на следующий за while оператор;
3. если выражение истинно (не равно нулю), то тело оператора while выполняется;
4. процесс повторяется с шага 1.
Пример:
int iVar;
iVar=0;
while (i<10) {
printf(“i=”,i );
i++;
}
2.8 Оператор do
Используется в тех случаях, когда тело цикла должно выполняться хотя бы один раз.
Формат:
do
{
оператор;
}
while (выражение);
Схема выполнения оператора do:
1. выполняется оператор;
2. вычисляется выражение. Если выражение не равно нулю, то выполнение продолжается с шага 1.
2.9 Оператор continue
Этот оператор работает подобно оператору break, но в отличие от break прерывает выполнение тела цикла и передает управление на следующую итерацию.
Формат: continue
Пример: /* вывод четных чисел*/
void main()
{
int iVar;
for(iVar=0;iVar<100;iVar++)
{
if(iVar%2) continue;
printf(“%d\n”,iVar);
}
}
2.10 Оператор return
Оператор завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию. Управление передается в вызывающую функцию в точку, непосредственно следующую за вызовом.
Формат: return [выражение];
Значение выражения возвращается в вызывающую функцию в качестве значения вызываемой функции. Если выражение опущено, то возвращаемое функцией значение не определено.
Если функция не возвращает значения, ее следует объявить с типом void.
То есть, имеем два случая использования:
1. надо немедленно выйти из функции;
2. функция должна возвращать значение.
Пример:
int sum(int iVar1, int iVar2)
{
return (iVar1+iVar2);
}
Пример:
void print(char x)
{
if (x==0)
{ printf(“Это плохой аргумент\n”,);
return;
}
printf(“Введите аргумент %с\n”,x);
}
Оператор return используется для выхода из функции в случае, если аргумент равен нулю.
3. Практическая часть, решение задач
3.1 Линейное программирование.
Задача 1.
Дан диаметр окружности d. Найти длину окружности L.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
system ("chcp 1251");
float d,l,pi=3.14;
printf("Введите диаметр окружности ");
scanf("%f",&d);
l=pi*d;
printf("Длина окружности равна %.2f",l);
return 0;
Задача 2.
Даны катеты прямоугольного треугольника a и b. Найти длину его гипотенузы и периметр.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
float a,b,c,gip=0,per=0;
printf("Введите длину катетов прямоугольного треугольника\n");
scanf("%f%f",&a,&b);
gip=pow(a,2)+pow(b,2);
c=sqrt(gip);
per=a+b+c;
printf("Гипотенуза:%.2f | Периметр:%.2f",c,per);
return 0;
}
Задача 3.
Найти значение функции y=x3-2(x+3)2+1 при заданном значении x.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
float x,y;
printf("Введите число");
scanf("%f",&x);
y=pow(x,3)-2*pow((x+3),2)+1;
printf("Результат:%.2f",y);
return 0;
}
Задача 4.
Дано число A. Вычислить A5, используя не более пяти операций умножения. Допускается использование вспомогательных переменных.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
float a,i,u=1;
printf("Введите число А\n");
scanf("%f",&a);
for(i=0;i<5;i++)
{
u*=a; printf("%f ",u);
}
return 0;}
Задача 5.
Скорость движения лодки V км/ч, скорость реки U км/ч. Лодка движется T1 ч по озеру и T2 ч по реке против течения. Определить пройденный лодкой путь S.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
float S,V,T1,T2,U;
printf("Введите скорость лодки\n");
scanf("%f",&V);
printf("Введите скорость реки\n");
scanf("%f",&U);
printf("Введите время движения лодки по озеру\n");
scanf("%f",&T1);
printf("Введите время движения лодки по реке\n");
scanf("%f",&T2);
S=V*T1+(V-U)*T2;
printf("%.2f",S);
return 0;}
Задача 6.
Решить линейное уравнение Ax+B=0 при заданных значениях A и B.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
float a,b,x;
scanf("%f%f",&a,&b);
if(a!=0 && b!=0)
{
x=-b/a;
printf("%f",x);
}else
printf("Введено неподходящее число");
return 0;
}
Задача 7.
Дана масса M в килограммах. Найти количество полных тонн.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
int kg,T;
printf("Введите массу в КГ");
scanf("%d",&kg);
T=kg/1000;
printf("%d",T);
return 0;
}
Задача 8.
Дано двухзначное число. Вывести число, полученное при перестановке цифр исходного числа.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
int a,b,c;
printf ("Введите двухзначное число\n");
scanf("%d",&a);
b=a/10;
c=a%10;
printf("%d%d",c,b);
return 0;}
Задача 9.
Дано трехзначное число. Найти сумму и произведение его цифр.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
int a,b,c,d,s,p;
scanf("%d",&a);
b=a/100;
c=(a/10)%10;
d=a%10;
s=b+c+d;
p=b*c*d;
printf("Сумма:%d\n",s);
printf("Произведение:%d",p);
return 0;
}
Задача 10.
Идёт K-я секунда суток. Какое время показывают электронные часы?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{ system ("chcp 1251");
int k,m,h;
scanf("%d",&k);
h=k/3600;
m=k/60-60*h;
printf("%d:%d",h,m);
return 0;
}
3.2 Условный переход
Задача 1.
Дано целое число. Если оно положительно, прибавить к нему 1; вывести полученное число.
#include <stdio.h>
int main()
{
int a;
printf("a:");
scanf ("%i", &a);
if (a>0)
a++;
printf("%i\n",a);
return 0;
}
Задача 2.
Даны три целых числа. Найти количество положительных чисел в исходном наборе.
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a1,a2,a3;
printf("a1:");
scanf("%i",&a1);
printf("a2:");
scanf("%i",&a2);
printf("a3:");
scanf("%i",&a3);
printf("Otvet:");
if (a1>0) a1=1;
else a1=0;
if (a2>0) a2=1;
else a2=0;
if (a3>0) a3=1;
else a3=0;
printf("%i\n",a1+a2+a3);
return 0;
}
Задача 3.
Даны три числа. Найти наименьшее из них.
#include <stdio.h>
#include <math.h>
int main()
{
int a1,a2,a3;
printf("a1:");
scanf("%i",&a1);
printf("a2:");
scanf("%i",&a2);
printf("a3:");
scanf("%i",&a3);
if ((a1<=a2)&(a1<=a3));
else ;
if ((a2<=a1)&(a2<=a3));
else ;
if ((a3<=a1)&(a3<=a2));
else ;
printf("%i\n",a1,a2,a3);
return 0;
}
Задача 4.
Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения:
f(x)=
#include <stdio.h>
int main()
{
float x;
printf ("dalee");
scanf("%f",&x);
if (x>0)x=2;
else x=6-x;
printf ("fx=%f \n",x);
return 0;
}
Задача 6.
Дано целое число от 1 до 7. Вывести строку- название дня недели, соответствующее данному числу (1-понедельник, 2-вторник и т.д.).
#include <stdio.h>
#include <math.h>
main ()
{
int a;
printf("vedite chislo ot 1 do 7\n");
scanf("%d",&a);
switch (a)
{
case 1: printf("ponedelnik\n");
break;
case 2: printf("vtornik\n");
break;
case 3: printf("creda\n");
break;
case 4: printf("chetverg\n");
break;
case 5: printf("paytnisa\n");
break;
case 6: printf("sybota\n");
break;
case 7: printf("voskresenie\n");
break;
return 0;
}
}
Задача 7.
Калькулятор через case.
#include <stdio.h>
#include <math.h>
int main()
{
int a,b;
char x;
printf("Vedite chisla kotorie nado poschitat:\n");
scanf("%d%d",&a,&b);
printf("Deicvie(/*-+):");
scanf("%c",&x);
scanf("%c",&x);
printf("Otvet:");
switch (x)
{
case ('+'):x=a+b;
printf("%d+%d=%d",a,b,a+b);
break;
case ('-'): x = a - b;
printf("%d-%d=%d",a,b,a-b);
break;
case ('*'): x = a * b;
printf("%d*%d=%d",a,b,a*b);
break;
case ('/'): x = a / b;
printf("%d/%d=%d",a,b,a/b);
break;
return 0;
}
}
Задача 8.
Пользователь вводит число и указывает единицы измерения (м- метры, мм- миллиметры, см- сантиметры, км- километры, дм- дециметры). Вывести число во всех перечисленных единицах измерения.
#include <stdio.h>
#include <math.h>
int main()
{
int b;
float a ;
printf("vedi chislo\n");
scanf("%f",&a);
printf("1mm\n");
printf("2cm\n");
printf("3dm\n");
printf("4mt\n");
printf("5km\n");
scanf("%d",&b);
switch (b)
{
case 1:
printf("res mm:%f\n",a);
printf("res sm:%f\n",a/10);
printf("res dm:%f\n",a/100);
printf("res m:%f\n",a/1000);
printf("res km:%f\n",100000);
break;
case 2:
printf("res mm:%f\n",a*10);
printf("res sm:%f\n",a);
printf("res dm:%f\n",a/10);
printf("res m:%f\n",a/100);
printf("res km:%f\n",a/100000);
break;
case 3:
printf("res mm:%f\n",a*100);
printf("res sm:%f\n",a*10);
printf("res dm:%f\n",a);
printf("res m:%f\n",a/10);
printf("res km:%f\n",a/1000);
break;
case 4:
printf("res mm:%f\n",a*1000);
printf("res sm:%f\n",a*100);
printf("res dm:%f\n",a*10);
printf("res m:%f\n",a);
printf("res km:%f\n",1000);
break;
case 5:
printf("res mm:%f\n",a*1000000);
printf("res sm:%f\n",a*100000);
printf("res dm:%f\n",a*10000);
printf("res m:%f\n",a*1000);
printf("res km:%f\n",a);
break;
}
return 0;
4. Заключение
Целью учебной практики было систематизация, расширение и закрепление профессиональных знаний, умений и навыков, приобретение первичных навыков ведения самостоятельной научной работы, исследования и анализа научных данных. Были приобретены знания использования программы для расширения профессиональных задач. Данная программа позволяет создавать 3D модели разного характера.
Список использованной литературы
1. [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Операторы_в_C_и_C%2B%2B (Дата обращения: 03.07.19).
2. [Электронный ресурс]. Режим доступа: https://studfiles.net/preview/2069163/page:5/ (Дата обращения: 03.07.19).
3. [Электронный ресурс]. Режим доступа: https://studfiles.net/preview/2069163/page:6 (Дата обращения: 03.07.19).
Размещено на Allbest.ru
...Подобные документы
Программирование на языке Паскаль: алфавит, решение задач, простейшие программы, разветвляющие программы, циклические программы, ввод-вывод, массивы, подпрограммы, строковые данные, записи, файлы, использование библиотеки CRT, графика в Паскале.
учебное пособие [211,1 K], добавлен 30.03.2008Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.
курсовая работа [879,8 K], добавлен 11.02.2016Методы численного интегрирования. Характеристика основных составляющих структурного программирования. Решение задания на языке высокого уровня Паскаль. Построение графического решения задачи в пакете Matlab. Решение задания на языке высокого уровня C.
курсовая работа [381,7 K], добавлен 10.05.2018Программирование вычислительных процессов на языке FORTRAN для обеспечения взаимодействия системы "Человек-Производство-Природа". Использование массивов для составления циклов подсчета уровня экологического загрязнения, затрат на переработку отходов.
курсовая работа [2,0 M], добавлен 30.05.2014Основные этапы определения радиуса и центра окружности, проходящей через три различные точки заданного множества точек. Особенности построения алгоритма на языке программирования. Составление тестовых примеров для демонстрации возможностей программы.
контрольная работа [103,9 K], добавлен 21.08.2013Использование конечного двойственного метода для корректировки решений близких задач линейно-квадратичного программирования. Разработка программы на языке С для решения и корректировки решений. Двойственная задача. Основные понятия и утверждения.
курсовая работа [165,9 K], добавлен 01.06.2014Выбор метода проектирования транслятора с языка Паскаль на язык Си, разработка и кодирование алгоритма программы. Использование допустимых операторов в исходном тексте, определение типов переменных и синтаксиса логических и арифметических выражений.
курсовая работа [1,0 M], добавлен 03.07.2011Формулировка, спецификация и математическая постановка задачи. Описание схемы алгоритма. Рассмотрение результата машинного тестирования программы. Получение на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.
курсовая работа [268,2 K], добавлен 22.03.2015Методы языка программирования C#. Алгоритмизация и программирование задач на языке высокого уровня C#. Внутренний цикл, ветвление, внешний цикл, вложенные друг в друга структуры ветвления. Вывод элементов массива на экран. Остальные элементы матрицы.
курсовая работа [250,2 K], добавлен 27.02.2015Характерные черты программирования на алгоритмическом языке СИ (алфавит, операции, специфика операторов, комментарии и другие элементы). Аналитический обзор и рассмотрение примеров программ, иллюстрирующих особенности применения основных операторов СИ.
презентация [251,0 K], добавлен 26.07.2013Исследование общих принципов программирования на языке Assembler для 32-х разрядных и 64-х разрядных процессоров. Изучение основных отличий архитектур i686 и amd64. Работа со стеком. Передача параметров в функции. Смена способа адресации внутри программы.
контрольная работа [118,2 K], добавлен 10.02.2015Изучение основных конструкций и способов написания программ на языке Паскаль. Обзор принципов работы и интерфейса написанной программы. Обработка и модификация двумерных массивов. Файловые структуры данных. Текстовые файлы. Элементы машинной графики.
курсовая работа [761,7 K], добавлен 11.03.2015Исследование классификации компьютерных игр, двигателей прогресса индустрии для персональных компьютеров. Характеристика общей структуры, протокола и текста программы, сценария и процесса игры. Изучение алгоритмизации и программирования на языке Паскаль.
реферат [2,1 M], добавлен 16.09.2011Расчет трансформатора питания. Численное решение нелинейных уравнений с заданной точностью и дифференциальных уравнений первого порядка. Разработка программы с использованием средств визуального программирования на алгоритмическом языке программирования.
курсовая работа [1,2 M], добавлен 17.08.2013Изучение экстремальных задач и поиск их решений. Выбор метода решения и приведения задачи к каноническому виду и к задаче линейного программирования. Метод искусственного базиса. Модифицированный симплекс-метод. Написание программы на языке С++Builder 6.
курсовая работа [343,0 K], добавлен 28.11.2010История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.
курсовая работа [795,9 K], добавлен 14.12.2012Широкое применение вычислительной техники как в общей математике, так и в одном из её разделов – математических методах. Ознакомление с решением задач линейного программирования симплекс-методом и графически. Составлена программа на языке Delphi.
курсовая работа [57,1 K], добавлен 04.05.2010Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.
курсовая работа [970,5 K], добавлен 15.05.2014Реализация алгоритма Гомори на языке программирования Object Pascal при использовании среды разработки Borland Delphi 7. Рассмотрение основных способов компьютерного осуществления решения задач целочисленного программирования симплексным методом.
курсовая работа [1,8 M], добавлен 28.03.2013