Программирование на языке Си © К.Ю. Поляков, 2007 1.ВведениеВведение 2.ПеременныеПеременные 3.Ввод и вывод 4.Ветвления 5.Сложные условия 6.Циклы 7.Циклы.

Презентация:



Advertisements
Похожие презентации
Тема 1. Введение 1.
Advertisements

1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль Тема 1. Введение Кулебякин В.В.
1 Программирование на языке Паскаль Тема 1. Введение.
Программирование на языке Паскаль Тема 1. Введение.
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 1. Введение © К.Ю. Поляков,
1 Программирование на языке Паскаль Тема 1. Введение.
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
Урок 3 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
1 Прикладное программирование Kafmi21. ru – учеба – заочнику – прикладное программирование.
1 Программирование на языке Паскаль Тема 1. Введение.
Арифметические выражения. Арифметическое выражение может включать константы имена переменных знаки арифметических операций: + - * / div mod вызовы функций.
АЛГОРИТМИКА © МОУ СШ Изначально компьютеры были созданы для арифметических вычислений. Но сегодня ЭВМ также используются для изучения явлений природы,
Тема урока: Виды алгоритмов и их реализация. Образовательные задачи: 1. Ввести понятия: полная форма ветвления и условный оператор ветвления. 2. Научить.
Линейные и разветвляющиеся алгоритмы. Реализация на языке Pascal.
1 Программирование на языке Паскаль. 2 Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен включать только.
Транксрипт:

Программирование на языке Си © К.Ю. Поляков, ВведениеВведение 2.ПеременныеПеременные 3.Ввод и вывод 4.Ветвления 5.Сложные условия 6.Циклы 7.Циклы с условием 8.Оператор выбора 9.Отладка программ 10.Графика 11.Графики функций 12.Процедуры 13.Анимация 14.Случайные числа 15.Функции

Программирование на языке Си Тема 1. Введение © К.Ю. Поляков, 2007

3 Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен включать только команды, известные исполнителю (входящие в СКИ) определенность: при одинаковых исходных данных всегда выдает один и тот же результат конечность: заканчивается за конечное число шагов массовость: может применяться многократно при различных исходных данных корректность: дает верное решение при любых допустимых исходных данных Алгоритм – это четко определенный план действий для исполнителя.

4 Программа Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для компьютера Команда – это описание действий, которые должен выполнить компьютер. откуда взять исходные данные? что нужно с ними сделать? куда поместить результат?

5 Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера для обучения: Бейсик, ЛОГО, Паскаль профессиональные: Си, Фортран, Паскаль для задач искусственного интеллекта: Пролог, ЛИСП для Интернета: JavaScript, Java, Perl, PHP, ASP

6 Язык Си – Б. Керниган, Д. Ритчи высокая скорость работы программ много возможностей стал основой многих современных языков (С++, С#, Javascript, Java, ActionScript, PHP) много шансов сделать ошибку, которая не обнаруживается автоматически

7 Простейшая программа void main() { } void main() { } главная (основная) программа всегда имеет имя main void = «пустой» основная программа не выдает никакого результата-числа void = «пустой» основная программа не выдает никакого результата-числа начало программы «тело» программы (основная часть) конец программы Что делает эта программа? ?

8 Два этапа создания программы

9 Что происходит дальше? void main() { } void main() { } first.cpp исходный файл first.obj транслятор ЪБzЦ2?|ё3БКа n/36ШпIC+И- ЦЗ_5МyРЧб ЪБzЦ2?|ё3БКа n/36ШпIC+И- ЦЗ_5МyРЧб объектный файл стандартные функции редактор связей (компоновка) MZPо:ЄPэ_еЗ"!_ `кn,ЦbЄ-Щр1 G_БАC, _Ощях¤9жФ MZPо:ЄPэ_еЗ"!_ `кn,ЦbЄ-Щр1 G_БАC, _Ощях¤9жФ first.exe исполняемый файл по исходному файлу можно восстановить остальные исполняемый файл можно запустить ! текст программы на Си или Си++

10 Вывод текста на экран #include void main() { printf("Привет!"); } #include void main() { printf("Привет!"); } include = включить файл stdio.h: описание стандартных функций ввода и вывода вызов стандартной функции printf = print format (форматный вывод) вызов стандартной функции printf = print format (форматный вывод) этот текст будет на экране

11 IDE = Integrated Development Environment интегрированная среда разработки: текстовый редактор для создания и редактирования текстов программ транслятор для перевода текстов программ на Си и Си++ в команды процессора редактор связей для создания исполняемого файла (EXE-файла), подключаются стандартные функции отладчик для поиска ошибок в программах

12 Наиболее популярные ошибки Unable to open include file 'xxx.h' не найден заголовочный файл 'xxx.h' (неверно указано его имя, он удален или т.п.) Function 'xxx' should have a prototype функция 'xxx' не объявлена (не подключен заголовочный файл или не объявлена своя функция, или неверное имя функции) Unterminated string or character constant не закрыты кавычки Statement missing ; нет точки с запятой в конце оператора в предыдущей строке Compound statement missing } не закрыта фигурная скобка Undefined symbol 'xxx' не объявлена переменная 'xxx'

Программирование на языке Си Тема 2. Переменные © К.Ю. Поляков, 2007

14 Что такое переменная? Переменная - это ячейка в памяти компьютера, которая имеет имя и хранит некоторое значение. Значение переменной может меняться во время выполнения программы. При записи в ячейку нового значения старое стирается. Типы переменных int – целое число в интервале [-32768…32767] (2 байта) float – вещественное число, floating point (4 байта) char – символ, character (1 байт)

15 Имена переменных Могут включать латинские буквы (A-Z, a-z) знак подчеркивания _ цифры 0-9 НЕ могут включать русские буквы пробелы скобки, знаки +, =, !, ? и др. Имя не может начинаться с цифры! ! Какие имена правильные? AXby R&B 4Wheel Вася PesBarbos TU154 [QuQu] _ABBA A+B

16 Объявление переменных Объявить переменную = определить ее имя, тип, начальное значение, и выделить ей место в памяти. void main() { int a; float b, c; int Tu104, Il86=23, Yak42; float x=4.56, y, z; char c, c2='A', m; } void main() { int a; float b, c; int Tu104, Il86=23, Yak42; float x=4.56, y, z; char c, c2='A', m; } Если начальное значение не задано, в этой ячейке находится "мусор"! ! целая переменная a вещественные переменные b и c целые переменные Tu104, Il86 и Yak42 Il86 = 23 целые переменные Tu104, Il86 и Yak42 Il86 = 23 вещественные переменные x, y и z x = 4,56 вещественные переменные x, y и z x = 4,56 · целая и дробная части отделяются точкой символьные переменные c, c2 и m c2 = 'A' символьные переменные c, c2 и m c2 = 'A'

17 Оператор присваивания Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. Пример a = 5; x = a + 20; y = (a + x) * (x – a); a = 5; x = a + 20; y = (a + x) * (x – a); ? ? a ? ? x ? ? y *20

18 Оператор присваивания Общая структура: Арифметическое выражение может включать константы (постоянные) имена переменных знаки арифметических операций: + - * / % вызовы функций круглые скобки ( ) умножение деление остаток от деления имя переменной = выражение ; куда что Для чего служат круглые скобки? ?

19 void main() { int a, b; float x, y; a = 5; 10 = x; y = 7,8; b = 2.5; x = 2*(a + y); a = b + x; } void main() { int a, b; float x, y; a = 5; 10 = x; y = 7,8; b = 2.5; x = 2*(a + y); a = b + x; } Какие операторы неправильные? имя переменной должно быть слева от знака = целая и дробная часть отделяются точкой при записи вещественного значение в целую переменную дробная часть будет отброшена

20 Особенность деления в Си При делении целых чисел остаток отбрасывается! ! void main() { int a = 7; float x; x = a / 4; x = 4 / a; x = float(a) / 4; x = 1.*a / 4; } void main() { int a = 7; float x; x = a / 4; x = 4 / a; x = float(a) / 4; x = 1.*a / 4; }

21 Сокращенная запись операций в Си полная записьсокращенная запись инкремент декремент a = a + 1; a++; a = a + b;a += b; a = a - 1;a--; a = a – b;a -= b; a = a * b; a *= b; a = a / b;a /= b; a = a % b; a %= b;

22 Порядок выполнения операций вычисление выражений в скобках умножение, деление, % слева направо сложение и вычитание слева направо z = (5*a*c+3*(c-d))/a*(b-c)/ b; x =(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));